'Fits the model by application of the Kalman filter
Returns
RecursiveLSResults'

def fit(self):

    smoother_results = self.smooth(return_ssm=True)
    resid = smoother_results.standardized_forecasts_error[0]
    sigma2 = (np.inner(resid, resid) / (self.nobs - self.loglikelihood_burn))
    self[('obs_cov', 0, 0)] = sigma2
    return self.smooth()
