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;

 

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

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