4.5 ARMA , ARIMA モデル
4.5.2 ARIMA モデルの当てはめ arima()
sigma2
イノベーション分散の最尤推定量var.coef
係数coef
の推定分散行列で,vcov()
メソッドで取り出すことができるloglik (
階差データの)
最大対数尤度,もしくは用いられた手法によるそれに対する近似値
arma
簡潔なモデルの記述で,AR
,MA
,季節AR
,季節MA
成分の係数の個数をベ クトルとして与える.加えて周期と非季節・季節成分の数を持つaic
対数尤度に対するAIC
値.手法method="ML"
に対してだけ意味を持つresiduals
標準化された残差call
マッチした呼出し式series
時系列x
の名前convergence optim()
が返した値n.cond
当てはめで使われなかった最初の観測値数model
当てはめ中に使われたカルマンフィルタを表現するリスト.KalmanLike()
を参照
ARMA
モデルの定義にはAR
かつ(
または) MA
係数の符号の取り方が一定していな い.ここで用いる定義は:X [t] = a[1]X [t − 1] + . . . + a[p]X[t − p] + e[t] + b[1]e[t − 1] + . . . + b[q]e[t − q]
で あ り ,し た が っ て
S-PLUS
と はMA
部 分 の 係 数 の 符 号 が 異 な る .更 に ,も しinclude.mean=TRUE (ARMA
モデルに対する既定値)
なら,この式がX
ではなく,平 均値m
を引き去ったX − m
に適用される.階差を取ったARIMA
モデルに対しては,階差時系列は平均
0
のARMA
モデルに従う.もしxreg
項が含められるなら,誤差項 に対して(
もしinclude.mean=TRUE
なら定数項を含む)
線形回帰でARMA
モデルが当 てはめられる.推定値の分散行列は,対数尤度のヘッシアン行列から計算され,従って,単におおよその見当と考えるべきである.最適化は
optim()
でなされる.これは,xreg
中の列がおおよそ平均0
で単位分散にスケール化されている場合に最も上手く働くが,適 当なスケーリングを推定することを試みる.当てはめ手法:
ARIMA
プロセスの状態空間表現により正確な尤度が計算され,カルマン フィルタによりイノベーションとその分散が見出される.階差ARMA
プロセスの初期 化は定常性を用い,Gardner
に基づく.階差プロセスに対する非定常成分は(kappa
で 制御される)
拡散プライア(diffuse prior)
を与えられる.拡散プライアにより依然として 制御される(
少なくとも1e4
のカルマン利得を持つことで決定される)
観測値は尤度計算 から除外される.(
除外観測値がちょうど階差処理で失われるものと一致する場合,これ は欠損値が無い場合のarima0()
と比較可能な結果を与える.)
欠損値があっても良く,"ML"
手法では正確に処理される.もしtransform.pars = TRUE
なら,最適化はJones
により提案されたものの変形である,定常性を持つ別種のパラメータ化を用いて行われる.
AR(p)
モデルでは,パラメータ化は部分自己相関のatanh()
を用いてなされ,同じ手順が
(
個別に) AR
と季節AR
項に適用される.MA
項は最適化の途中で可逆的である との制約をされないが,もしtransform.pars = TURE
なら最適化後に可逆な形に変換 される.条件付き自乗和法は主に説明のために提供されている.これは
n.cond (n.cond
は 最低でもAR
項の最大ラグ数でなければならない)
以降の観測値に当てはめられたイ ノベーションの自乗和を計算し,それ以前の全てのイノベーションは0
とする.引数
n.cond
は異なった当てはめの比較の互換性を許すために使うことができる.part
log-likelihood
は最初の項で,推定平均2
乗の対数の半分である.欠損値は許されるが,多くのイノベーションが欠損するであろう.説明変数が指定された場合は,係数が固 定されない限り,それらは当てはめに対する直交化プライアである.説明変数を大まかに 平均
0
で分散1
とするのが役に立つ.注意:結果は
S-PLUS
のarima.mle()
とは異なる可能性が高い.後者は条件付き尤度 を計算し,モデルに平均値を含めない.更にarima.mle()
とはMA
係数の符号が異な る.arima()
はARIMA
モデル,もしくは欠損値が無い階差モデルに対するarima0()
と類似しているが,欠損値を持つ階差モデルを正確に扱う.arima()
はarima0()
より も少し遅く,特に季節項を持つ階差モデルに対してそうである.関連:
predict.Arima(), tsdiag(), arima0(), ar().
# 黄体形成ホルモン量データlhを使用
> arima(lh, order = c(1,0,1)) # ARIMA(1,0,1)=ARMA(1,1)モデルの当てはめ Call:
arima(x = lh, order = c(1, 0, 1)) Coefficients:
ar1 ma1 intercept 0.4522 0.1982 2.4101 s.e. 0.1769 0.1705 0.1358
sigma^2 estimated as 0.1923: log likelihood = -28.76, aic = 65.52
# 米国の月別事故死亡者数USAccDeaths.季節項ARIMA(0,1,1)を持つARIMA(0,1,1)モデルの当てはめ
> arima(USAccDeaths, order = c(0,1,1), seasonal = list(order=c(0,1,1))) Call:
arima(x = USAccDeaths, order=c(0,1,1), seasonal=list(order = c(0,1,1))) Coefficients:
ma1 sma1
-0.4303 -0.5528 s.e. 0.1228 0.1784
sigma^2 estimated as 99347: log likelihood = -425.44, aic = 856.88
# ヒューロン湖の水位データLakeHuronを使用.1920年からの年数を外部説明変数とするAR(2)モデル
> arima(LakeHuron, order = c(2,0,0), xreg = time(LakeHuron)-1920) Call:
arima(x = LakeHuron, order = c(2, 0, 0), xreg = time(LakeHuron) - 1920) Coefficients:
ar1 ar2 intercept time(LakeHuron) - 1920
1.0048 -0.2913 579.0993 -0.0216
s.e. 0.0976 0.1004 0.2370 0.0081
sigma^2 estimated as 0.4566: log likelihood = -101.2, aic = 212.4
# 大統領支持率データpresidentsを使用(以下の図を参照).example(acf)は次数1か3を示唆 (fit1 <- arima(presidents, c(1, 0, 0))) # ARIMA(1,0,0)=AR(1)モデル
tsdiag(fit1) # 当てはめ診断図
(fit3 <- arima(presidents, c(3, 0, 0))) # ARIMA(3,0,0)=AR(3)モデル,AIC小
tsdiag(fit3) # 当てはめ診断図
Standardized Residuals
Time
1945 1950 1955 1960 1965 1970 1975
−2−1012
0 1 2 3 4 5
−0.20.00.20.40.60.81.0
Lag
ACF
ACF of Residuals
2 4 6 8 10
0.00.20.40.60.81.0
p values for Ljung−Box statistic
lag
p value
Standardized Residuals
Time
1945 1950 1955 1960 1965 1970 1975
−2−1012
0 1 2 3 4 5
−0.20.00.20.40.60.81.0
Lag
ACF
ACF of Residuals
2 4 6 8 10
0.00.20.40.60.81.0
p values for Ljung−Box statistic
lag
p value
大統領支持率データへのARIMA(1,0,0), ARIMA(3,0,0)モデルの当てはめのtsdiag() による診断図(標準化残差,残差の自己相関,Ljung-Box検定のp値)