BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
lina1583
Fluorite | Level 6

hi, I am trying to check arima(2,1,1) model for a given data set. is my programming below correct? i'm quite new to SAS but i cannot seem to tell difference between arima model and arma model here

 

 

data mortg;

infile "Documents\My SAS Files\m-mortg.txt" firstobs=1;
input year month day rate;
 
lrate=log(rate);
label lrate="log mortgage rate"; 
proc arima data=mortg plots=all;
identify var=lrate;
estimate p=2 q=1 noconstant method=cls;
forecast out=b lead=4 alpha=0.05 noprint;
run;
1 ACCEPTED SOLUTION

Accepted Solutions
rselukar
SAS Employee

You are almost there.  Providing some model specification examples: 

 

proc arima data=sashelp.air plots=none;
/* ARIMA(2, 1, 1) NOINT */
identify var=air(1) noprint; /* specify d=1 */
estimate p=2 q=1 noconstant method=cls;
run;
/* ARIMA(0, 0, 1)(1, 0, 1)12 */
identify var=air noprint; /* no differencing */
estimate p=(12) q=(1)(12) method=cls;
run;
/* ARIMA(0, 1, 1)(0, 1, 1)12 NOINT */
identify var=air(1, 12) noprint; /* differencing orders 1, 12 */
estimate q=(1)(12) NOINT method=cls;
quit;

View solution in original post

4 REPLIES 4
rselukar
SAS Employee

You are almost there.  Providing some model specification examples: 

 

proc arima data=sashelp.air plots=none;
/* ARIMA(2, 1, 1) NOINT */
identify var=air(1) noprint; /* specify d=1 */
estimate p=2 q=1 noconstant method=cls;
run;
/* ARIMA(0, 0, 1)(1, 0, 1)12 */
identify var=air noprint; /* no differencing */
estimate p=(12) q=(1)(12) method=cls;
run;
/* ARIMA(0, 1, 1)(0, 1, 1)12 NOINT */
identify var=air(1, 12) noprint; /* differencing orders 1, 12 */
estimate q=(1)(12) NOINT method=cls;
quit;

lina1583
Fluorite | Level 6

many thanks Rselukar! that really helps. can I further ask what it means by differencing order 1 and 12? is it supposed to remove the seasonal effect? or should it be using var=air(0,12) to remove the seasonal effect? thanks!

rselukar
SAS Employee
The model (0,1,1)(0,1,1)12 NOINT is the well-known Airline model popularized by Box and Jenkins for monthly seasonal series. Here the series is differenced twice, (1-B)(1-B^12)Y -- non-seasonal and seasonal differencing, and the differenced series is modeled as an ARMA(0,1)(0,1)12. Please see PROC ARIMA doc for additional help and examples ( https://go.documentation.sas.com/?docsetId=etsug&docsetTarget=etsug_arima_toc.htm&docsetVersion=15.1... ).
lina1583
Fluorite | Level 6

hi, can I check why is it NOINT in the airline case? as in based on what information, we decide to omit the mean value?

 

I have the attached data and I can want to check ARIMA(0,0,1)(1,0,1) with period 12. is my code below correct? should I also use NOINT here?

I can see the Dec1 is already stationary, so I guess I don't need to use Dec1(0,12) because the seasonality is modeled in p and q in the estimate?

 

data crsp;
infile "My SAS Files\m-dec1-8006.txt" firstobs=1;
input Date Dec1;
proc arima data=crsp plots=all;
identify var=Dec1;
estimate p=(12) q=(1)(12) method=cls;
run;

 

 

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

Register now!

Discussion stats
  • 4 replies
  • 2624 views
  • 2 likes
  • 2 in conversation