# Auto-Regressional & Moving Average Model Formula Properties

I seeking help in understanding specific values underlying the formula's for the MA(p) model & the AR(q) model. I am attempting to implement the models (building up to the combined ARIMA model) in the programming language Java.

I do not come from an overly mathematical (I'm fairly new to statistics at least) background so be gentle.

Here is the formula I am using for the AR(p) model:

$$X_t - μ = β_1(X_{t-1} - μ) + ... + β_p(X_{t-p} - μ) + Z_t$$

Where $X$ is the time series, $μ$ is the mean of the time series, $β$ is the auto-correlation coefficient at a specific lag, $p$ is the order of the model and $Z$ is white noise of mean $0$ and variance $σ^2$.

I'm fairly certain I have the above figured out, however the term "$Z_t$" confuses me. How would I implement this in code? I understand it is "random" however what are its ranges? Surely there must be a maximum and minimum of the term $Z_t$. Is it somehow based on the variance of the overall dataset? How is the "$Z$" value calculated on implementation exactly?

Here is the formula I am using for the MA(q) model:

$$X_t - μ = Z_t - θ_1(Z_{t-1}) - ... - θ_q(Z_{t-q})$$

Where $X$ is again the time series dataset, $μ$ is the mean of the dataset, $Z$ is white noise with mean 0 and variance $σ^2$, $θ$ is the correlation coefficient at a specific lag and $q$ is the order of the model.

Again I the same issue as the above model in regards to the "$Z$" term. Also $θ$ is also the correlation coefficient of the dataset at various different lags, correct?

Any help on this matter would be extremely welcomed and if you have any questions I would more than happy to answer them.

Any use of examples alongside a full dataset i.e., X = (1,2,3,4,5,6,7) would be also extremely welcomed as it helps me understand the concept much more easily. Also please try to keep the explaination as idiot proof and contained as possible.

The $z_t$ is the error term, and is obtain by

$$z_t = x_t-\hat{x}_t$$

Or the difference between the observed series ($x_t$) and the predicted ($\hat{x}_t$). To code this, you need to obtain the $\hat{x}_t$, which is just the expected value of $x_t$ or $E[x_t]$. So for example, AR($1$) $$x_t=\beta x_{t-1}+z_t$$ where $\beta$ is the parameter, then $$E[x_t]=\hat{x_t}=\beta x_{t-1},\quad \mathrm{since}\; E[z_t]=0$$ Thus, $$z_t=x_t-\beta x_{t-1}.$$ For MA case, however, is quite complicated. Assuming we have MA(1), $$x_t=z_t-\theta z_{t-1}$$ where $\theta$ is the parameter, the error term ($z_t$) is not observed, so to compute this we need to recursively calculate this using the formula,

$$z_t=x_t-\theta z_{t-1}$$

Here is my answer on the steps of calculating the error term.

• Hi Al-Ahmadgaid thanks for your responce. I have looked at the answer you provided previously, I just wish to confirm the following: I have read that back-forecasting is only used in large cases of t, other wise the error term is considered zero? Is this the case? – JConway Nov 7 '13 at 14:59
• Yap, but I cant give you how large is large. Box et al., however, recommends the back-forecasting technique rather than approximating this with 0. Unless, maybe if you have at least 200 time points, we can consider that as large already. – Al-Ahmadgaid Asaad Nov 8 '13 at 7:06
• So the MA model would be: 0[Zt] - co-eficient[θ]*(0[Zt-1])? That doesn't make much sense. – JConway Nov 12 '13 at 4:05