An autoregressive moving average (ARMA) process consists of both autoregressive and moving average terms. If the process has terms from both an AR(p) and MA(q) process, then the process is called ARMA(p, q) and can be expressed as
We can define an ARMA(p, q) process with zero mean by removing the constant term (i.e. φ0) and saying that y1, …, yn has an ARMA(p, q) process with mean µ if the time series z1, …, zn has an ARMA(p, q) process with zero mean where zi = yi – µ.
If we include the constant term, then as in the AR(p) case, for a stationary ARMA(p, q) process
An equivalent expression for an ARMA(p, q) process with zero mean is
which can be expressed using the lag (or backshift) operator as follows
or even as
Hi,
I want to forecast values based on an ARMA(3,3) model. I do not have prior data. How do you calculate values for the error terms? Is there an algorithm to do the calculations for the time series?
Hi Noor,
An ARMA(3,3) model is the same thing as an ARIMA(3,0,3) model. The 0 is for differencing.
You could use the Real Statistics implementation of this ARIMA model. It will generate the error terms plus a lot more. See
https://www.real-statistics.com/time-series-analysis/arma-processes/arma-pq-processes/
https://www.real-statistics.com/time-series-analysis/arma-processes/real-statistics-arma-tool/
Charles
I was wondering if there is a way to calculate the errors to estimate the coefficients of the MA model. Or if this has to be understood as abstract theorem and get the coefficients with an optimization process. In the literature you have that the MA model is an error model , but it never says how to get the errors in first instance. I understood that the errors came from the AR model, but I am not sure about this idea. In your excel I can see that in the MA sheet, you created a model (equation) and then you get the Y. So, I wonder, can we have a Y vector and then get the errors model from that Y, and then get de coefficients? Thanks for freeing my doubts.
Hello Eliezer,
1. I have created various MA (or even ARMA) time series, by starting with the formula for an arbitrary MA or ARMA process. I then generated random values for the error terms ε_i to find the values of the y_i based on the formula. This enabled me to create a time series that theoretically should be of the desired type. From that point on, I only consider the time series values and don’t consider how I generated the values. I then create an MA or ARMA model based on the time series y_i. I expect that the model coefficients should be close to the coefficients in the original MA or ARMA process.
2. The Real Statistics website shows how to calculate the coefficients of an MA(q) or ARMA(p,q) model for a given time series. From these coefficients, you can calculate the error terms. For an MA model, this is described at
https://real-statistics.com/time-series-analysis/moving-average-processes/ma-coefficients-acf/
https://real-statistics.com/time-series-analysis/moving-average-processes/calculating-ma-coefficients-solver/
For an ARMA model, see
https://real-statistics.com/time-series-analysis/arma-processes/arma-coefficients-maximum-likelihood/
https://real-statistics.com/time-series-analysis/arma-processes/arma-coefficients-solver/
https://real-statistics.com/time-series-analysis/arma-processes/real-statistics-arma-tool/
Charles