Estimating Moving-Average Model Parameters with Maximum Likelihood
Summary
The document explains why estimating a moving-average MA(q) model is more difficult than estimating an autoregressive AR(p) model. It points to maximum likelihood estimation as the basis for algorithms implemented in established statistical software, including EViews, MATLAB, and R. It recommends using these tested implementations instead of writing a custom estimator.
The evidence is a brief answer that refers readers to software source code, documentation, and a paper describing the method used by R’s arima package. It does not provide the estimation equations, compare algorithms, or report empirical results, so it serves mainly as guidance on method selection rather than a step-by-step tutorial. The paper is described as showing that the implementation is complex; the document does not discuss model diagnostics, initialization, or how to choose the MA order.
Key ideas
- MA(q) parameters are harder to estimate than AR(p) parameters.
- Common software estimates MA models using maximum likelihood methods.
- Established implementations are recommended over writing a custom estimator.
- The R arima method is described in a paper, but its details are not reproduced here.
Tags
Full text
# How do I estimate the parameters of an MA(q) process? # How do I estimate the parameters of an MA(q) process? It is relatively easy to estimate the parameters of an autoregressive $AR(p)$ process. How do I do with a moving average $MA(q)$ process? ## Answer by Bob Jansen (score 9, accepted) https://quant.stackexchange.com/a/4620 Estimating $MA(q)$ models is significantly harder than $AR(p)$ models. Eviews, MATLAB and R can use multiple algorithms which are all based on some form of maximum likelihood estimation. You can look at the source of MATLAB and R or the excellent Eviews documentation. However, I strongly advise against rolling your own since efficient and well tested algorithms are widely available. For the interested, this paper describes the method (with code) used by the R arima package. You can see from the abstract the method it is quite complicated.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.