ARIMAプロシジャのメモ。
基本はRを使っているので初歩。
【目次】
- Auto ARIMA
- ARIMA(p,0,0):AR(p)モデル
- ARIMA(0,0,q):MA(q)モデル
- ARIMA(p,0,q):ARMA(p,q)モデル
- ARIMA(p,d,q):ARIMA(p,d,q)モデル
- ARIMAXモデル
- SARIMAモデル
- SARIMAXモデル
- 将来予測
- 参考
以前の記事
【統計】時系列分析(AR、MA、ARMA、ARIMA、SARIMA、ARIMAXモデル) - こちにぃるの日記
【統計】時系列分析(ARIMA、SARIMA、SARIMAXをRで実行する) - こちにぃるの日記
Auto ARIMA
identify
ステートメントでAR, MA過程の複数パターンを評価できる。
var=target
で目的変数を指定。カッコ内に階差を指定。
nlag
で季節サイクルを指定。
p=(0:10) q=(0:10)
でAR過程を0~10の各組合せで推定。
stationarity=(adf)
で定常性を検定。adf で拡張ディッキー–フラー検定。
crosscorr=(variable_name)
で外生変数(回帰成分)との相関を評価。
esacf
minic
scan
あたりで各組合せを評価。
proc arima data=adts ; identify var=target(1,12) nlag=12 p=(0:10) q=(0:10) stationarity=(adf) crosscorr=(variable_name) outcov=_outcov esacf minic scan ; run; quit;
ARIMA(p,0,0):AR(p)モデル
estimate
ステートメントでAR過程とMA過程を指定。
proc arima data=adts ; identify var=target; estimate p=2; run; quit;
ARIMA(0,0,q):MA(q)モデル
proc arima data=adts ; identify var=target; estimate q=2; run; quit;
ARIMA(p,0,q):ARMA(p,q)モデル
proc arima data=adts ; identify var=target; estimate p=2 q=2; run; quit;
ARIMA(p,d,q):ARIMA(p,d,q)モデル
proc arima data=adts ; identify var=target(1); estimate p=2 q=2; run; quit;
ARIMAXモデル
identify
ステートメントの crosscorr
と estimate
ステートメントの input
で外生変数を指定。
proc arima data=adts ; identify var=target(1) crosscorr=(variable_name); estimate p=2 q=2 input=(variable_name); run; quit;
SARIMAモデル
nlag
でサイクルを指定。
proc arima data=adts ; identify var=target(1,12) nlag=12; estimate p=(1 2)(1 2) q=(1 2)(1 2); run; quit;
SARIMAXモデル
proc arima data=adts ; identify var=target(1,12) nlag=12 crosscorr=(variable_name); estimate p=(1 2)(1 2) q=(1 2)(1 2) input=(variable_name); run; quit;
将来予測
forecast
ステートメントで将来予測。
lead
で何期まで予測するか指定。
interval
でサイクルの単位。
id
で inputデータの必要な変数を outputデータに保持させる。
proc arima data=adts ; identify var=target(1,12) nlag=12 crosscorr=(variable_name); estimate p=(1 2)(1 2) q=(1 2)(1 2) input=(variable_name); forecast lead=12 interval=month id=id_variable_name out=_pred ; run; quit; proc sgplot data=_pred; band Upper=u95 Lower=l95 x=id_variable_name / LegendLabel="95%CI"; scatter x=id_variable_name y=target; series x=id_variable_name y=forecast ; run;
参考
https://support.sas.com/documentation/onlinedoc/ets/132/arima.pdf