'Loglikelihood of linear model with t distributed errors.
Parameters
params : array
The parameters of the model. The last 2 parameters are degrees of
freedom and scale.
Returns
loglike : array
The log likelihood of the model evaluated at `params` for each
observation defined by self.endog and self.exog.
Notes
.. math:: \ln L=\sum_{i=1}^{n}\left[-\lambda_{i}+y_{i}x_{i}^{\prime}\beta-\ln y_{i}!\right]
The t distribution is the standard t distribution and not a standardized
t distribution, which means that the scale parameter is not equal to the
standard deviation.
self.fixed_params and self.expandparams can be used to fix some
parameters. (I doubt this has been tested in this model.)'

def nloglikeobs(self, params):

    if (not (self.fixed_params is None)):
        params = self.expandparams(params)
    beta = params[:(-2)]
    df = params[(-2)]
    scale = np.abs(params[(-1)])
    loc = np.dot(self.exog, beta)
    endog = self.endog
    x = ((endog - loc) / scale)
    lPx = (sps_gamln(((df + 1) / 2)) - sps_gamln((df / 2.0)))
    lPx -= ((0.5 * np_log((df * np_pi))) + (((df + 1) / 2.0) * np_log((1 + ((x ** 2) / df)))))
    lPx -= np_log(scale)
    return (- lPx)
