Solution values are incorrect when resid.y or the %MA macro is specified in PROC MODEL


When the following conditions are met in the MODEL procedure:

the solution values are incorrect.

To circumvent the problem, replace any resid.y term with (pred.y-actual.y) in the equation and specify the moving average model using zlag(pred.y-actual.y). Do not use the %MA macro.

Here is an example of an MA(2) model using zlag(pred.y-actual.y) specification:

proc model data=yourdata;
   parms a b ma1 ma2;
   y = a + b * x + ma1 * zlag1(pred.y-actual.y) + ma2 * zlag2(pred.y-actual.y);
   fit y;
   solve y /out = outs ;
   run;