I'm trying to estimate an unknown ARMA(p,q) series via a Kalman Filter & QMLE.

The issue is most of my optimized likelihood values end up around -350, except one or two which are hugely positive! It doesn't seem likely that adding a single AR or MA lag would cause such a drastic jump in my likelihood function.

I've tried messing around with optimization parameters in Matlab such as MaxFunEval, and MaxIter but I am still finding this issue.

If this is the wrong place for a question like this I apologize in advanced.

  • $\begingroup$ Please clarify: what you are saying is that, for a few $(p,q)$ specifications you get a "hugely positive" likelihood values, while the likelihood values of all other specifications you tried cluster at the value $-350$? $\endgroup$ Commented Mar 19, 2016 at 1:23
  • $\begingroup$ I'm estimating via MLE models $p \in 1,2,\ldots,7$ and $q \in 0,1,\ldots,7$. Most all of my likelihood values are either -350, but some are below -1000. Each time fmincon (I'm restricting $\sigma$ to be positive) returns a positive value (around 300-600) for a specifications and estimates a system with explosive AR roots. I know the process is stationary. We then need to use the AIC to choose the best model. My issue is that the positive log-likelihood always gets the smallest AIC which I'm convinced is a mistake. $\endgroup$ Commented Mar 19, 2016 at 1:39

1 Answer 1


If anyone per chance runs into the same issue,

The reason the MLE is exploding is that a system with explosive roots (eigenvalues outside the unit circle), might make the Kalman-filter predictions explode at a point, and thus creating a few very large MLE values.

The solution is to rig the MLE function s.t. if any of the eigenvalues lie outside the unit circle, return an MLE >=0. Thus the optimization algorithm will be forced to find a stationary local minimum.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.