Hello @sasalex2024
I assume the example you are looking at is from this section of the PROC ARIMA documentation:
SAS Help Center: Input Variables and Regression with ARMA Errors
which illustrates the steps usually taken to identify a regression model with ARMA errors. You usually first run the regression with inputs but without ARMA specification:
proc arima data=a;
identify var=sales crosscorr=(price income) noprint;
estimate input=(price income) plot;
run;
You obtain the ACF, PACF, IACF plots for the residuals in this regression model, i.e., y - mu - beta*input, which help you identify proper ARMA specifications. If you decide an ARMA(1,1) process, then you can specify the regression with ARMA error by:
estimate p=1 q=1 input=(price income);
run;
The ACF, PACF, IACF plots for the residuals in this second step with ARMA specifications are the residuals obtained in the model with ARMA error already taken into account, i.e., residual = actual - forecast, where the ARMA parameters played a role in computing the forecast, so the ACF, PACF, IACF plots in this step will give you indication of whether the ARMA process are properly specified. In this second step, ACF, PACF, and IACF plots for y-mu - beta*input are usually not of interest, since you already get the ACF plots of the residuals in the simple regression model in step one and know that the residuals from the simple regression model show some ARMA patterns and is not white noise.
If by saying "If we ignore the entire noise part (the ARMA(1,1) process), and want to compute Nt as "sales - constant - coeff1*price - coeff2*income", so that to build a SACF of the generated Nt series, can you please tell how this can be done? Or, perhaps there is an easier way to do it? I've read about the "plot" option, but that one produces ACF for the residuals obtained before the full regression with ARMA disturbance is run.", you mean that although you have already identified an ARMA(1,1) process in the first step regression residual ACF plots, and have estimated the model with ARMA specification in the second step, but you still wanted to get ACF's of y - mu - beta*x only, but using the estimates of mu and beta's in the second step estimation(the model with ARMA specification), rather than ACF's of y - mu - beta*x using parameters in the first step regression model, if that is indeed what you intended to obtain, then you may do that by using OUTEST = option in the ESTIMATE statement to save the parameters estimates for mu and beta obtained in the second step ARMA model estimation, then run a subsequent PROC ARIMA step of a simple regression model(without ARMA specification) but by specifying initial values for mu and beta's to be equal to the saved parameter estimates from the second step(ARMA model), with INITVAL=(initializer-spec variable …) option and MU = option, together with NOEST option in the ESTIMATE statement
SAS Help Center: ESTIMATE Statement
so that the final estimates for both mu and beta's are fixed at the initial values supplied.
For example, suppose in your second step ARMA model estimation, estimated mu = 1, parameter estimate for price = 2, parameter estimate for income = 3, then you can specify a subsequent PROC ARIMA step to specify a simple regression model only, and fix the mu and price, income variable parameters as:
proc arima data=a; identify var=sales crosscorr=(price income); estimate input=(price income) mu = 1 initval = (2 price 3 income) noest ; run;
then the ACF, PACF, IACF's produced in the above step are obtained for residual = y - mu - beta*input, while the mu and beta's are fixed at the parameters values obtained from the previous step regression with ARMA error specification.
I hope this helps. If I misunderstood what you intended to get, then please clarify what you want and I will further look into it.
Thanks,
Wen
... View more