時系列解析
自己回帰モデル、状態空間モデル、異常検知
共立出版 島田直希 著
2章まとめ後半
DLG 時系列分析輪読会 sho.kumada
1
2
目次概要
1. なぜ時系列解析を行うか、どの様に行うか
2. HOWを実現するための道具
3. ARIMA過程
4. SARIMA過程
5. VARモデル
・グレンジャー因果性
・インパルス応答関数
・予測誤差分散分解
6. 見せかけの回帰
なぜ時系列解析を行うか、どの様に行うか
3
WHY
・ 過去のデータを統計学的に理解したい
・ 過去のデータから未来を予測したい
HOW
過去のデータに最も合致する統計モデルを特定する
時系列分析では、1時点に1個のデータしか取得できないため、
頻度主義的な確率分布を求めることができない。
(同じ時点で何度もサイコロを振れない)
ある確率分布に従う統計モデルを仮定して、現実世界に合うように
パラメータを決めていきます。
HOWを実現するための道具
4
ARMA
ARIMA
ARMA VARARCH
状態空間
GARCH
時系列分析
SARIMA
過去データと共通項を持つ 過去データに回帰する
組み合わせる
単位根過程を考慮する
多変量に拡張
季節周期性を考慮する
分散に適用
前期の条件付き分散を考慮 定常過程が
前提
黄色:本日の説明内容
ARIMA過程
自己回帰和分移動平均(Autoregressive-Integrated-Moving Average process)
d回差分を取った系列が定常かつ反転可能なARMA(p,q)に従う過程は
ARIMA(p,d,q)と呼ばれる
5
AR𝐼𝑀𝐴 𝑝, 𝑑, 𝑞
Δ𝑦𝑡 = 𝑦𝑡 − 𝑦𝑡−𝑑
= 𝑐 + φ1 𝑦𝑡−1 + φ2 𝑦𝑡−2 + ・・・ + φ 𝑝 𝑦𝑡−𝑝
+ ε 𝑡 + θ1ε 𝑡−1 + θ2ε 𝑡−2 + ・・ + θ 𝑞ε 𝑡−𝑞 , ε 𝑡~ 𝑊. 𝑁. (σ2
)
AR
MA
ARMAモデルを単位根過程でも使えるように拡張したもの
6
ARIMA過程の性質
1. E(yt) = const
2. γ0 = Var(yt) =const
3. γk = const
AR𝐼𝑀𝐴 2, 𝟎, 2 和分過程ではない AR𝐼𝑀𝐴 2, 𝟏, 2 和分過程である
7
乗客者数を予測する
(お断り)
statsmodels.tsa.arima_model でエラーが発生したため、
Rのforecastパッケージを使いました
?
8
𝑛𝑜𝑡 和分過程でフィッテイング
AR𝐼𝑀𝐴 3, 𝟎, 2 による予測
・季節周期を捉えられていない
・トレンドを捉えられていない
・平均に回帰する
・不確実性はさちる
和分過程でフィッテイング
AR𝐼𝑀𝐴 4, 𝟏, 1 による予測
・季節周期を捉えられていない
・トレンドを捉えつつある?
・平均に回帰しない
・不確実性はさちらない
9
モデルを診断する
和分過程ではないと仮定
AR𝐼𝑀𝐴 3, 𝟎, 2 による予測
和分過程であると仮定
AR𝐼𝑀𝐴 4, 𝟏, 1 による予測
そもそもフィッテイングがうまくいっていない、残渣の自己相関が0と言えない
時系列方向の説明にARIMA(p,d,q)を用い、
周期の方向にARIMA(P,D,Q)を用いたモデル
ARIMA (p,d,q)(P,D,Q)[s] と表記
10
SARIMA過程
季節周期
原系列
季節成分
トレンド成分
残渣
乗客者数のデータを分解する
11
ARIMA(1,1,0)(0,1,0)[12]
・季節周期を捉えられている
・トレンドを捉えられている
・平均に回帰しない
・不確実性はさちらない
トレンド成分
トレンドの傾きが
増しているため追随
できていない
ARモデルを多変量に拡張したモデル
グレンジャー因果性、インパルス応答関数、予測誤差分散分解という
3つのツールが重要な役割を果たす
12
VARモデル
2変量のVAR 1 モデル
𝑦1𝑡 = 𝑐1 + φ11 𝑦1,𝑡−1 + φ12 𝑦2,𝑡−1 + ε1𝑡
𝑦2𝑡 = 𝑐1 + φ21 𝑦1,𝑡−1 + φ22 𝑦2,𝑡−1 + ε2𝑡
𝑦1𝑡 : 本日のアメリカの株価 、 𝑦1,𝑡−1 :昨日のアメリカの株価
𝑦2𝑡 : 本日の日本の株価 、 𝑦2,𝑡−1 :昨日の日本の株価
ε1𝑡
ε2𝑡
~W.N.(Σ) Σ:分散共分散行列
VARモデルの注意点
データが定常であることが前提(単位根をもたない)
13
realgdp:実質GDP
realcons:実質個人支出
realinv:実質設備投資
いずれも非定常過程
以下の3つのデータについて、
グレンジャー因果性検定、予測誤差分散分解を行う
14
realgdp:実質GDP 定常過程
realcons:実質個人支出 非定常過程
realinv:実質設備投資 非定常過程
1階差分を取る
15
2階差分を取る
realgdp:実質GDP 定常過程
(定常過程のデータの差分取って良いの?)
realcons:実質個人支出 定常過程
realinv:実質設備投資 定常過程
16
教本P80
「定常である変数の階差をとると、過剰に階差を取ることになり
利用可能な情報が大幅に失われる。したがって、変数の階差を
取る前に単位根検定を行い、変数が単位根過程であるかどうか
を慎重に判断する必要がある。」
17
AIC基準でVarモデルを構築する
realgdpに対するフィッティング結果
フィッティング
残渣
残渣の
自己相関、偏自己相関
回帰式
(ラグ9が選択された)
18
realconsに対するフィッティング結果
フィッティング
残渣
残渣の
自己相関、偏自己相関
19
realinvに対するフィッティング結果
フィッティング
残渣
残渣の
自己相関、偏自己相関
いずれもうまくフィッティングできている
20
2階差分に対する20期予測結果
95%
信頼区間
原系列に戻したいが、可能?
データだけから各系列の因果性の有無を判断できる概念
≒Varモデルにおいて、ある変数が他の変数の予測に役立つかどうか判定する指標
21
グレンジャー因果性
■メリット
・ドメイン知識フリーで時系列データだけ
から因果性を調べられる
■デメリット
・因果性を持つ必要条件であり、十分条件でない
・単位根を含むVarモデルでは使えない
・関係の強さは測れない
・因果の向きが正しいとは限らない
ということを踏まえると、
変数間の因果の有無を調べるというより、
その変数が他の変数の予測に役立つかどうかの判断基準として使ったほうが良い
22
出典:https://www.slideshare.net/takashijozaki1/granger2015
元ネタ 沖本本P81
1. y1t を用いてOLSでフィッティングし、残渣平方和(SSR1)を計算
2. 以下の制約を課したモデルで同様に、残渣平方和(SSR0)を計算
𝑦1𝑡 ‘= 𝑐1 + φ11,1 𝑦1,𝑡−1 + φ11,2 𝑦1,𝑡−2 + ε1𝑡
3. F統計量を計算する
4.rFをカイ二乗分布表のχ2
0.05(r)の値と比較
rF > χ2
0.05(r) → 𝑦2 から 𝑦1
へのグレンジャー因果が存在する
rF < χ2
0.05(r) → 𝑦2 から 𝑦1
へのグレンジャー因果は存在しない 23
2変量のVAR 2 モデルに当てはめて考える
𝑦1𝑡 = 𝑐1 + φ11,1 𝑦1,𝑡−1 + φ12,1 𝑦2,𝑡−1 + φ11,2 𝑦1,𝑡−2 + φ12,2 𝑦2,𝑡−2 + ε1𝑡
𝑦2𝑡 = 𝑐1 + φ21,1 𝑦1,𝑡−1 + φ22,1 𝑦2,𝑡−1 + φ21,2 𝑦1,𝑡−2 + φ22,2 𝑦2,𝑡−2 + ε2𝑡
𝑦1𝑡 : 本日のアメリカの株価 、 𝑦1,𝑡−1 :昨日のアメリカの株価 、𝑦1,𝑡−2 :一昨日のアメリカの株価
𝑦2𝑡 : 本日の日本の株価 、 𝑦2,𝑡−1 :昨日の日本の株価 、𝑦2,𝑡−2 :一昨日の日本の株価
r=2 (制約の数)
T=201 (標本数)
n=2 (変量数)
p=2(ラグ)
24
𝑦2𝑡 についても同様に行います。
要は𝑦1𝑡 に対して、
𝒚 𝟐𝒕 を入れたモデルのほうが、入れないモデルよりも
予測精度が高ければ、
𝒚 𝟐𝒕 → 𝒚 𝟏𝒕 のグレンジャー因果があるということです。
25
グレンジャー因果性検定を実施する
■realgdp → realcons , realinv の因果性あり
■realcons → realgdp , realinv の因果性あり
帰無仮説H0:各変数群がその他の変数に対して「グレンジャー因果性」がない
棄却
棄却
■realinv → realgdp , realcons の因果性あり
棄却
いずれの変数
も他の変数に
対して、
因果性ありという
結果になった
26
インパルス応答関数
ある変数に対するショックがその変数自体や、他の変数に与える影響を
定量的に評価できる指標
理論は詳しく説明できないです((-_-;))Rで実施した結果だけ載せます。
realgdpに対する反応
realgdp
realcons
realinv
・realgdpにショックを与えた時の
反応が3つの変数で共通
・ショックの影響は半年以内にほぼ
吸収される
GDP=
消費+投資+政府支出+(輸出-輸入)
の関係式から当たり前の結果か?
27
realconsに対する反応
realinvに対する反応
realgdp
realcons
realinv
realgdp
realcons
realinv
・ realconsにショックを与えると
四半期遅れてrealgdpとrealinv
が反応する
・ショックの影響は半年以内にほぼ
吸収される
・ realinvにショックを与えると
四半期遅れてrealgdpとrealcons
が反応する
・ realinvが与える影響は小さい
・ショックの影響は半年以内にほぼ
吸収される
k時点先の予測誤差を分解することで、
ある変数の予測できない変動を説明するために、どの変数が重要であるか明らかにする
28
予測誤差分散分解
𝑘時点先の𝑦𝑖の予測誤差に𝑦𝑗が寄与する程度は以下で表せる
(沖本本P94)
MSE:平均2乗誤差
具体的な計算過程は省きます( ;∀;)。。
29
2階差分に対して構築したVarモデルで分散分解を行う
1. 分散分解の結果が予測期間にほとんど依存しない
2. realinvの予測誤差に対する他の変数の説明力が高い ことが分かる。
1.はおそらくマクロ経済のデータの予測が難しいから
realgdp
realcons
realinv
30
見せかけの回帰
無関係の単位根過程の間にあたかも有意な関係があるように見える現象
単位根過程を用いて分析する際に最も気を付けるべき事柄の1つ
2つの単位根過程を考える
𝑥 𝑡 = 𝑥 𝑡−1 + ε1𝑡 , ε1𝑡~ 𝑊. 𝑁. (σ1
2
)
𝑦𝑡 = 𝑦𝑡−1 + ε2𝑡 , ε2𝑡~ 𝑊. 𝑁. (σ1
2
)
𝑦𝑡 = α + β𝑥 𝑡 + ε 𝑡 , ε 𝑡~ 𝑊. 𝑁. (σ1
2
)
回帰式を作る
標本数Tが大きいと時、t検定を行うと、
α=0という帰無仮説
β=0という帰無仮説
十中八九棄却される
( 𝑥 𝑡と 𝑦𝑡は無関係なのに!!)
しかも回帰の決定係数R2が漸近的に1に収束する
(注意)
見せかけの回帰が起きている
状況でVarモデルを推定しても
結果が歪んでしまう
31
Sonyの株価の終値を説明する”黄金の変数”を見つけたい
終値の原系列は単位根過程
であることをADF検定で確認した
32
終値
黄金の変数
rwの係数(β)は有意
R2高し
発見しました黄金の変数rw
rwが増えた日は終値が下がる可能性が高い。この変数を売って暮らしたい(^^)/
終値 = −0.50rw + 31.1
未来永劫値が
分かっている変数
33
rwの正体はただのランダムウォーク
# Rでの記述
rw<-cumsum(rnorm(210))
見せかけの回帰を回避する方法は2つ
●それぞれの変数の階差を取り、定常過程にしてから解析を行う
●説明変数か目的変数(の少なくとも一方の)ラグ変数を回帰に含める
𝑦𝑡− 𝑦𝑡−1= 𝛼 + 𝛽(𝑥 𝑡 −𝑥 𝑡−1) + ε 𝑡 , ε 𝑡~ 𝑊. 𝑁. (σ1
2)
定常過程
𝑦𝑡= 𝛼 + 𝛽1 𝑥 𝑡 −𝛽2 𝑥 𝑡−1 + ε 𝑡 , ε 𝑡~ 𝑊. 𝑁. (σ1
2
)
34
●それぞれの変数の階差を取り、定常過程にしてから解析を行う
終値 黄金の変数
𝑦𝑡− 𝑦𝑡−2= 𝛼 + 𝛽(𝑥 𝑡 −𝑥 𝑡−2) + ε 𝑡 , ε 𝑡~ 𝑊. 𝑁. (σ1
2
)
2階差分を取って互いに定常過程にしてから回帰する
R2低し
𝑥 𝑡 −𝑥 𝑡−2の係数(β)は有意でない
原系列 フィッティング
35
●説明変数か目的変数(の少なくとも一方の)ラグ変数を回帰に含める
𝑦𝑡= 𝛼 + 𝛽1 𝑥 𝑡 +𝛽2 𝑥 𝑡−1 +𝛽3 𝑦𝑡−1 + ε 𝑡 , ε 𝑡~ 𝑊. 𝑁. (σ1
2
)
終値 黄金の変数
原系列 フィッティング
β1, β2, β3は有意
R2高し
結構うまくフィッティング
できているような
36
結構うまくフィッティングできたので、最後の30日間の終値を予測してみる
?
実測
予測
予測結果、微妙、、
少なくとも昨日の終値を見て明日の終値が上がるか下がるか
推定できるレベルではない
実測
フィッティング
見せかけの回帰が起こる理由(あくまでイメージです)
37
出典:「渋谷駅前で働くデータサイエンティストのブログ」
https://tjo.hatenablog.com/entry/2013/04/23/190417
ランダムウォークに従う2の過程では、偶然的に増加減が一致する区間が生じる。
この区間が積算することで、回帰係数が有意になってしまうのでは?

Time series analysis with python 1 3