Maximum Likelihood Estimation for ARMA Models (Gaussian MLE)
1) The goal: “best-fitting” ARMA coefficients for a chosen order
Suppose you have observed a time series dataset , and you have decided to try an ARMA(p,q) model as a useful approximation. The model has:
- AR coefficients:
- MA coefficients:
- Noise variance: (variance of the white-noise shocks)
For a fixed order , you want to pick coefficient values that make the observed data “most plausible” under that model. The approach here defines “most plausible” using maximum likelihood.
In practice, software (e.g., R’s arima) does two connected things:
- Produces preliminary coefficient estimates (for example, Yule–Walker for AR parts).
- Uses those as a starting point for a numerical optimization that maximizes a likelihood function.
So preliminary estimation and maximum likelihood are not competing ideas—they are complementary parts of the same workflow.
2) Maximum likelihood in a simple, familiar setting (IID Gaussian)
This section builds intuition for what “likelihood” means before moving to time series.
Setup
Assume are IID Normal with mean 0 and unknown variance :
The joint density for observing values is:
Likelihood idea
- In probability, is seen as a function of the data given a parameter.
- In likelihood, we treat the observed data as fixed and see the same expression as a function of :
The maximum likelihood estimate is the value of that maximizes .
Why use the log-likelihood
Because is increasing, maximizing is equivalent to maximizing , and logs simplify products into sums.
Log-likelihood:
Differentiate with respect to , set to 0, solve, and you get:
This gives a clear interpretation of MLE:
- you choose the parameter values that make the observed data most likely under the assumed probabilistic model.
3) Extending likelihood to a Gaussian time series (multivariate normal)
A time series is not independent across time. That dependence is captured by a covariance structure.
Assume the observed vector
is multivariate normal with mean 0 and covariance matrix :
Then the Gaussian likelihood for is:
This looks intimidating because it involves:
- (matrix inverse)
- (determinant)
Both are expensive or messy to compute directly when is large.
4) The key simplification: rewrite the likelihood using one-step prediction errors
A Gaussian time series has a very important property:
If you predict each using the best linear predictor based on past observations , then the prediction errors behave in a particularly convenient way.
Define:
- (best one-step predictor)
- prediction error:
- prediction error variance:
A nontrivial linear algebra result shows:
and
Substituting these into the likelihood gives a simpler expression:
Conceptually, this says:
- the likelihood can be expressed using standardized one-step-ahead errors and their variances
- instead of directly using and
5) Specializing to ARMA(p,q): parameters are
For a causal ARMA(p,q) model, the parameters of interest are:
Here is the variance of the white noise shocks .
A crucial normalization is introduced:
This is useful because:
- does not depend on (it depends on )
- the predictors also do not depend on
So becomes easier to “separate out” analytically.
Define the function:
Then the Gaussian likelihood for an ARMA model can be written as:
This is the central likelihood expression for estimation.
6) Why numerical search is needed for and
Even though the likelihood formula looks explicit, the difficulty is that:
- depends on in a complicated way
- each depends on in a complicated way
Therefore the likelihood surface over generally has no closed-form solution. You must use numerical optimization.
However, can be handled analytically.
7) Eliminating : closed-form MLE for the noise variance once are known
Take logs:
Differentiate with respect to , set to zero at the optimum, solve:
This is directly analogous to the IID Gaussian case:
- “variance estimate = average standardized squared errors”
Then you plug this back into the log-likelihood, which yields an objective function depending only on . In other words:
- First, find by minimizing a function derived from the concentrated likelihood.
- Then compute from the formula above.
This reduces the optimization dimension and makes computation more stable.
8) What R’s arima() is doing in practice
When you run arima(x, order=c(p,d,q), ...), it typically:
- Uses a preliminary procedure to get starting values (for AR components, Yule–Walker is a common choice).
- Runs a numerical optimizer to maximize the Gaussian likelihood (equivalently minimize the negative log-likelihood).
- Reports:
- coefficient estimates (AR and MA terms, plus an intercept if included)
- estimated noise variance
- standard errors of coefficient estimates
- maximized log-likelihood value
- AIC (used later for comparing models across different orders)
9) Example: AR(2) simulation — comparison of preliminary estimates and MLE
A simulated AR(2):
- Preliminary (Yule–Walker) produced approximately:
Running:
arima(X, order=c(2,0,0), include.mean=FALSE)
produces nearly the same coefficient values:
- ar1 , ar2
Interpretation: with a large sample size, Yule–Walker and Gaussian MLE can be extremely close for AR models, because both are using essentially the same correlation information, and the likelihood is sharply peaked near the true parameter.
Standard errors
The output includes s.e. for each coefficient. These are estimates of how much the coefficient estimate would vary across repeated samples from the same process.
A rough 95% confidence interval is:
In the example, the interval width is small, reflecting the large .
10) Example: LakeHuron — why an intercept appears automatically
Running:
arima(LakeHuron, order=c(2,0,0))
returns AR coefficients and also an intercept (a constant level term).
This happens because:
- by default, the model includes a mean level unless you explicitly exclude it
- real-world series often have a nonzero mean
The model reported can be read as an AR(2) model around a mean level:
and the output gives estimates of and .
Numerically, the AR coefficients and variance estimates are close to the earlier method-of-moments fit:
- both methods suggest similar dynamics
- MLE is typically preferred as the final fit because it directly optimizes the probability of the observed data under the model
11) What to remember conceptually
- Likelihood is a way to score parameter values by how plausible they make the observed dataset under the model.
- In Gaussian time series, the likelihood for depends on the covariance structure; for ARMA, that covariance structure is controlled by .
- A major simplification rewrites the likelihood in terms of one-step prediction errors and their variances.
- can be estimated explicitly once are chosen:
- usually require numerical optimization, which is why software is essential.
- Preliminary estimates (like Yule–Walker for AR terms) are often used to initialize the numerical search; MLE then refines.
