## How does Forecast server computes _FORECAST_ values

Hi,

In the attachement you can find the output of an ARIMA model with 4 parameters (no intercept): AR1, AR7, MA1 & MA7. I calculated the Yt-1, Yt-7, et-1 & et-7 by myself & multiplied with the parameter estimates:

This is my equation:

Yt = 0.91689*Yt-1 + 0.99625*Yt-7 - 0.734927Et-1 - 0.78277Et-7

The issue is now that my outcome is not the same as the outcome sas provides. For the first 10 observations however I have the same result, both afterwards I have a big difference.

Can anyone help me understanding the difference?

Kind regards,

Olivier

1 ACCEPTED SOLUTION

Accepted Solutions

## Re: How does Forecast server computes _FORECAST_ values

AR((1) (7)) = (1 - ar1*B)(1 - ar7*B**7)Yt

= (1 - ar1*B - ar7*B**7 + ar1*ar7*B**8)Yt

=  Yt - ar1*Yt-1 - ar7*Yt-7 + ar1*ar7*Yt-8

Same applies to MA. So the equation should be

Yt = 0.91689*Yt-1 + 0.99625*Yt-7 -(0.91689 * 0.99625)*Yt-8

- 0.734927Et-1 - 0.78277Et-7 +(0.734927 * 0.78277)*Et-8

7 REPLIES 7

## Re: How does Forecast server computes _FORECAST_ values

Could you take a look at the Modeling View table and see the exact ARIMA specification for this model? Also what is the interval for t? It goes from 1 to 838 and then back to 1 again?

thanks

alex

## Re: How does Forecast server computes _FORECAST_ values

Hi Alex thx for the reply,

Below some more details + prints from the modeling view:

[image: Inline image 1]

*Name:* LEAF_4COPY1
*Description:* ""
*Details:* "ARIMA: NBR_SALES ~ P = ((1)(7)) Q = ((1)(7)) NOINT"
*Model family:* ARIMA
*Model type:* SUBSETARIMA
*Source:* FSUI *Intercept: *None
*Forecast variable:* NBR_SALES
*Delay:* 0
*Differencing:* ( 0 )
*P:* ( 1 ) ( 7 )
*Q:* ( 1 ) ( 7 )
Estimation Options *Method:* CLS
*Convergence criterion:* 0.001
*Number of iterations:* 50
*Delta:* 0.001
*Singularity criterion:* 1E-7
*Grid value:* 0.005
*Restrict parameters to stable values:* Yes
* NOLS:* 0

attachments. -##

## Re: How does Forecast server computes _FORECAST_ values

Hi Alex,

Below you can find a printscreen of the modeling view. I suppose the parameter estimates is what you interests most?

Kind regards,

Olivier

## Re: How does Forecast server computes _FORECAST_ values

It looks like the forecast server is picking a factored ARIMA models. For example, P((1)(7)) = (1-ar1*B)*(1-ar7*B**7), not (1-ar1*B - ar7*B**7).

Subset, Seasonal, and Factored ARMA Models

#### Factored Models

A factored model (also referred to as a multiplicative model) represents the ARIMA model as a product of simpler ARIMA models. For example, you might model SALES as a combination of an AR(1) process that reflects short term dependencies and an AR(12) model that reflects the seasonal pattern.

It might seem that the way to do this is with the option P=(1 12), but the AR(1) process also operates in past years; you really need autoregressive parameters at lags 1, 12, and 13. You can specify a subset model with separate parameters at these lags, or you can specify a factored model that represents the model as the product of an AR(1) model and an AR(12) model. Consider the following two ESTIMATE statements:

      identify var=sales;
estimate p=(1 12 13);
estimate p=(1)(12);


The mathematical form of the autoregressive models produced by these two specifications are shown in Table 8.2.

Table 8.2: Subset versus Factored Models

Option

Autoregressive Operator

P=(1 12 13) P=(1)(12) Both models fit by these two ESTIMATE statements predict SALES from its values 1, 12, and 13 periods ago, but they use different parameterizations. The first model has three parameters, whose meanings may be hard to interpret.

The factored specification P=(1)(12) represents the model as the product of two different AR models. It has only two parameters: one that corresponds to recent effects and one that represents seasonal effects. Thus the factored model is more parsimonious, and its parameter estimates are more clearly interpretable.

## Re: How does Forecast server computes _FORECAST_ values

Hi Alex,

I am not really familiar with this notation, how would you rewrite the
equation below?

Yt = 0.91689*Yt-1 + 0.99625*Yt-7 - 0.734927Et-1 - 0.78277Et-7

Kind regards,
Olivier

attachments. -##

## Re: How does Forecast server computes _FORECAST_ values

AR((1) (7)) = (1 - ar1*B)(1 - ar7*B**7)Yt

= (1 - ar1*B - ar7*B**7 + ar1*ar7*B**8)Yt

=  Yt - ar1*Yt-1 - ar7*Yt-7 + ar1*ar7*Yt-8

Same applies to MA. So the equation should be

Yt = 0.91689*Yt-1 + 0.99625*Yt-7 -(0.91689 * 0.99625)*Yt-8

- 0.734927Et-1 - 0.78277Et-7 +(0.734927 * 0.78277)*Et-8

Thx!