Help using Base SAS procedures

How to fix this ARIMA problem?

Reply
Super Contributor
Posts: 338

How to fix this ARIMA problem?

Hi SAS Forum,

In this dataset (also I attached), I need to forecast the values of variable "Ninety" for
maximum possible length ahead as permitted by my 24 month's actual
observations.

data test;
informat Current_date date9.;
input Current_date Ninety NPNA;
format Current_date date9.;
cards;
28FEB2010 3540827 737589
31MAR2010 3303262 1021327
30APR2010 3083843 292905
31MAY2010 3116939 419866
30JUN2010 2977469 280795
31JUL2010 2681978 419515
31AUG2010 2890419 135921
30SEP2010 3347540 108695
31OCT2010 3122248 298522
30NOV2010 3372221 432883
31DEC2010 4497670 363347
31JAN2011 5151019 756794
28FEB2011 4910346 485557
31MAR2011 5034441 278178
30APR2011 4849538 618764
31MAY2011 5386852 741520
30JUN2011 4868249 342769
31JUL2011 4225501 219168
31AUG2011 4755058 535211
30SEP2011 4751824 200543
31OCT2011 4974908 236595
30NOV2011 5260468 488639
31DEC2011 5600680 312744
31JAN2012 5327916 285502
;
run;


I have tried various methods such as moving average (3point, 12point),
weighted moving average, exponential smoothing etc., but the Percent
Absolue Deviation between predicted and actual values are way too high (frustrated).

So, I tried ARIMA as the last resort.

Honestly I do not have any previous ARIMA expereince, so I have followed
the SAS documentation mecahnically and applied the steps.


Question: I cannot run the last two steps to get the final forecasts.
Could someone please help?


Thanks, Mirisage


/*taking the graph*/

ods graphics on;
proc sgplot data=test;
   scatter y=ninety x=current_date;
run;

/*Analyzing correlation properties*/

proc arima data=test ;
   identify var=ninety nlag=6;
run;


/*White Noise Test*/

proc arima data=test ;
   identify var=ninety nlag=6;
run;


proc arima data=test ;
   identify var=ninety nlag=5;
run;


proc arima data=test ;
   identify var=ninety nlag=4;
run;


proc arima data=test ;
   identify var=ninety nlag=3;
run;


/*Since the series is nonstationary, I transformed it to a stationary
series by differencing.*/

/*Identification of the Differenced Series*/

proc arima data=test;
   identify var=ninety(1);
run;


/*The autocorrelations decrease rapidly in this plot, indicating that the

change in ninety is a stationary time series. */


/*not running*/
proc arima data=test;
estimate p=1;
   run;

/*Not running*/
   /*forecasting*/
proc arima data=test;
   forecast lead=12 interval=month id=date out=results;
   run;

Thank you very much for your help

Mirisage

Attachment
Ask a Question
Discussion stats
  • 0 replies
  • 126 views
  • 0 likes
  • 1 in conversation