CARIMA Procedure
Example 5.1 Seasonal Model for the Airline Series
The airline passenger data have been used in time series analysis literature as an example of a nonstationary seasonal time series.
The following statements plot the air data:
proc sgplot data=sashelp.air;
series x = date y = air;
run;
Output 5.1.1 indicates that the series is nonstationary and seasonal.
Output 5.1.1: Airline Passenger Data

The following DATA step loads the air data into a CAS session. The DATA step assumes that the SAS library is named mylib, but you can substitute any appropriately named SAS library.
data mylib.myair;
set sashelp.air;
run;
You can use the following statements to fit an ARIMA(0,1,1)(0,1,1)
model without a mean term to the logarithms of the airline passengers series. The model estimates and forecasts are stored in the data tables
mylib.cariest and mylib.carifor.
proc carima data=mylib.myair outest=mylib.cariest outfor=mylib.carifor;
id date interval=month;
identify air;
estimate q=(1)(12) noint method = ML transform = log diff = (1,12);
forecast lead = 4;
run;
Output 5.1.2 shows the summary of the time series processing.
Output 5.1.2: Summary of Time Series Processing
| Processing Summary | |
|---|---|
| CAS table | MYAIR |
| Number of analysis variables | 1 |
| Number of rows read | 288 |
| Number of groups read | 1 |
| Memory for group packages (KB) | 15 |
| Time to load groups (seconds) | 0.0108208656 |
| Minimum time ID | JAN1949 |
| Maximum time ID | DEC1960 |
| Minimum time periods | 144 |
| Maximum time periods | 144 |
| Number of nodes run | 4 |
| Number of nodes with data | 3 |
| Number of nodes with groups | 1 |
| Number of threads budgeted | 1 |
| Minimum thread group count | 0 |
| Maximum thread group count | 1 |
| Minimum threads active | 1 |
| Maximum threads active | 1 |
| Number of groups processed by submitted code | 1 |
| Number of groups failing | 0 |
| Elapsed time to process groups (seconds) | 0.0632238388 |
Output 5.1.3 shows the name of the modeled variable.
Output 5.1.3: Variable Information
| Variable Info | |
|---|---|
| Variable Name | AIR |
Output 5.1.4 shows the parameter estimates from the fitted model.
Output 5.1.4: Parameter Estimates
| Maximum Likelihood Estimates | |||||
|---|---|---|---|---|---|
| Parameter | Estimate | Standard Error | t Value | Approx Pr > |t| | Lag |
| MA1_1 | 0.401936 | 0.079877 | 5.03 | <.0001 | 1 |
| MA2_12 | 0.556862 | 0.084027 | 6.63 | <.0001 | 12 |
Output 5.1.5 shows the multistep-ahead variable forecasts.
Output 5.1.5: Variable Forecasts
| Forecasts for AIR using Model 1 | ||||
|---|---|---|---|---|
| Time ID | Forecast | Std Error | 95% Confidence Limits | |
| JAN1961 | 450.7320 | 16.6829 | 418.9155 | 484.3014 |
| FEB1961 | 426.1129 | 18.3793 | 391.2224 | 463.2533 |
| MAR1961 | 479.5664 | 23.2533 | 435.6018 | 526.7297 |
| APR1961 | 493.1052 | 26.2879 | 443.5853 | 546.5997 |
The following statements plot the forecasts that are produced by the ARIMA(0,1,1)(0,1,1)
model. The plot is shown in Output 5.1.6.
proc sgplot data=mylib.carifor;
series x=date y=actual / markers lineattrs=(color=red)
markerattrs=(symbol=circlefilled color=red);
series x=date y=predict / markers lineattrs=(color=blue)
markerattrs=(symbol=asterisk color=blue);
refline '01JAN1959'd / axis=x;
run;
Output 5.1.6: Airline Passengers Forecasts
