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 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.

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