準1級-32 応用統計の手法
時系列解析
- 自己相関
- 偏自己相関
- スペクトラム
- ペリオドグラム
- ARIMAモデル
- 定常性
- 階差
- 状態空間モデル
- 系列相関
- ダービンワトソン(DW)比
はじめに
「明日の売上は、今日の売上からどこまで予想できるの?」
今日が暑ければ、明日もたぶん暑いですよね。一方で、今日のサイコロの目から、明日の目は予想できません。2級では、この違いを系列相関とコレログラムで読み取りました。でも、読み取るだけでは、予測はできません。
ここまでの記事の手法は、データの順番を入れ替えても結果が変わりませんでした。ところが、時系列では順番そのものが情報です。しかも、「標本」は1本の系列しかありません。歴史は1回しか起きないので、同じ条件で繰り返し観測できないのです。
実は、この難しさを乗り越える鍵が、「性格が時間によって変わらない」という仮定です。性格が同じなら、1本の長い系列の中の別々の時点を、繰り返しの観測の代わりに使えます。
そこで登場するのが、今回の主役 定常性 と ARIMAモデル です。定常性は時系列の性格が一定であることを表し、ARIMAモデルはその性格を数式で書き表します。
前回の記事では、形の違うデータを地図にする手法を学びました。今回の記事では、自己相関、ARIMAモデル、スペクトラム、状態空間モデル、そして回帰の誤差の系列相関を調べるダービンワトソン比について解説します。
定常性と自己相関:時系列の性格を測る
はじめに、すべての土台である定常性と自己相関について解説します。
定常性(stationarity) とは、時間がたっても統計的な性格が変わらないことです。時系列 が次の3つを満たすとき、弱定常(2次定常)と言います。
【弱定常の3条件】
- 平均が一定:
- 分散が一定で有限:
- 共分散が時間差だけで決まる:
波打ち際に例えると、定常な時系列は、毎日同じように寄せては返す波です。波は上下しますが、平均の水位も、波の大きさも変わりません。一方で、満ち潮のように水位が上がり続けるなら、定常ではありません。
例えば、確率過程の記事で学んだランダムウォーク は、定常ではありません。 なら で、分散が時間とともに増えるからです。トレンドがある系列も、平均が動くので定常ではありません。
平均0、分散 で、時点が違えば無相関な を 白色雑音(ホワイトノイズ) と呼びます。予測の手がかりが何もない、最も単純な定常過程です。
定常なら、ラグ の 自己相関 を次のように定義できます。
2級で学んだ系列相関 は、この の推定値です。白色雑音なら、 は近似的に平均0、分散 の正規分布に従います。したがって、 なら、有意水準5%で自己相関があると判断します。例えば なら、境界は ±0.196 です。
次に、偏自己相関 です。ラグ2の自己相関を考えましょう。今日と一昨日の値が似ているのは、「今日が昨日に似ていて、昨日が一昨日に似ている」からだけかもしれません。伝言ゲームで、1人目と3人目の話が似ていても、2人目が伝えただけで、直接は話していないのと同じです。
偏自己相関 は、間にある の影響を取り除いた、 と の相関です。偏相関係数の公式に を入れると、ラグ2は次の式です。
例えば 、 なら、 です。ラグ2の相関0.64は、すべて伝言で説明できたことになります。
以上が、定常性と自己相関についての解説です。
ARIMAモデル:過去の値と過去のショックで書く
次に、時系列を数式で書くARIMAモデルについて説明します。
ARIMAモデルは、3つの部品からできています。1つずつ見ていきましょう。
1. AR:過去の自分を引きずる
AR(自己回帰)モデル は、今の値を過去の値で回帰するモデルです。AR(1)は次の形です。
お風呂の湯の温度に例えると、今の温度は「少し前の温度の一部 + 新しいゆらぎ」です。 なら過去の影響は薄れて定常になり、 ならランダムウォークです。
定常のとき、両辺の分散をとると なので、分散が求まります。また、両辺に をかけて期待値をとると、 です。
例えば なら、自己相関は 0.8, 0.64, 0.512 と、等比数列で減っていきます。
AR(2) では、同じ操作で ユール・ウォーカー方程式 が得られます。
一般のAR()が定常である条件は、特性方程式 の解の絶対値がすべて1より大きいことです。
2. MA:過去のショックの余韻
MA(移動平均)モデル は、今の値を過去のショックで書くモデルです。MA(1)は次の形です。
鐘の音に例えると、今日打った音と、昨日の音の余韻だけが聞こえる状態です。一昨日の音は完全に消えています。分散は 、ラグ1の共分散は で、ラグ2以降の共分散は0です。
例えば なら です。 でも同じ になるので、自己相関だけでは を決められません。そこで、 の側を選びます。これを 反転可能性 と言います。なお、 は0.5を超えません。
ARとMAを合わせたものが、ARMA()モデル です。モデルの見分け方は、次の表のとおりです。
| モデル | 自己相関 | 偏自己相関 |
|---|---|---|
| AR() | 徐々に減衰する | ラグ の後で切れる |
| MA() | ラグ の後で切れる | 徐々に減衰する |
| ARMA() | 徐々に減衰する | 徐々に減衰する |
ここがポイントです。「切れる」と「減衰する」が、ARとMAで入れ替わります。AR(1)の偏自己相関はラグ1の後で0で、MA(1)の自己相関もラグ1の後で0です。
3. I:階差で定常に直す
現実の系列の多くは、トレンドがあって定常ではありません。そこで、隣との差をとります。これを 階差(差分)と言います。
例えば 10, 12, 15, 19, 24 の階差は 2, 3, 4, 5 で、さらに階差をとると 1, 1, 1 です。1回の階差で直線のトレンドが消え、2回の階差で2次曲線のトレンドが消えます。
回の階差をとった系列が ARMA() に従うとき、元の系列は ARIMA()モデル に従うと言います。I は integrated(和分)の略です。例えば、ランダムウォークは ARIMA(0, 1, 0) です。
月次データの季節変動には、12か月前との差 をとる 季節階差 を使います。対数をとってから階差をとると、2級で学んだ成長率に近い量になります。
【ARIMAモデルの当てはめ方(ボックス・ジェンキンス法)】
- 同定: グラフと自己相関を見て、階差の回数 と次数 を選ぶ
- 推定: 最尤法などで係数を推定する
- 診断: 残差が白色雑音に見えるか確かめる
- 予測: 残差に問題がなければ予測する
例題:AR(2)の自己相関とAR(1)の予測
(1) の 、 を求めましょう。
【解き方】
- を入れる: (、 を使う)
- 解く:
- を入れる:
(2) 平均50のAR(1) で、最新の値が60でした。1期先と2期先の予測値を求めましょう。
【解き方】
- 1期先: 平均からのズレ10が0.8倍になるので、50 + 8 = 58
- 2期先: ズレがさらに0.8倍になるので、50 + 6.4 = 56.4
答えは58と56.4です。遠い将来の予測は、平均50に近づきます。予測の誤差の分散は、1期先が 、2期先が で、先へ行くほど広がります。
試験のポイント:自己相関と偏自己相関の形から、モデルの種類を答える問題がよく出ます。「切れるのはどちらか」を確認しましょう。
以上が、ARIMAモデルについての説明です。
スペクトラムとペリオドグラム:周期に分解する
続いて、時系列を周期の成分に分ける見方について解説します。
ここまでは、時間の順に時系列を見てきました。今度は見方を変えます。太陽の光をプリズムに通すと、色ごとに分かれますよね。同じように、時系列を「速い波」や「ゆっくりした波」に分けると、どの周期の波がどれだけ強いかが分かります。
スペクトラム(スペクトル密度) は、時系列の分散を、周波数ごとに分けて表した関数です。自己共分散から、次のように定義します。
は角周波数で、周期とは「周期 = 」の関係にあります。自己共分散とスペクトラムは、フーリエ変換でつながった表と裏です。積分すると で、分散に戻ります。つまり、スペクトラムは分散の内訳です。
いくつかの例を見てみましょう。
【スペクトラムの例】
- 白色雑音: 。すべての周波数が同じ強さで、平らになる
- AR(1):
白色雑音の名前は、すべての色を同じ強さで含む光が白いことから来ています。AR(1)で なら、 の強さは の81倍です。正の自己相関をもつ系列は、ゆっくりした波が主役なのです。
実際のデータから計算する量が、ペリオドグラム です。周波数 ごとに、次の量を求めます。
データ は平均を引いておきます。言葉で言うと、データとその周波数の波を重ね合わせて、どれだけ揃っているかを測っています。周期が合う周波数で、値が大きくなります。なお、定数の を とする流儀もあります。
例題:ペリオドグラムのピークを読む
データ 1, 0, −1, 0, 1, 0, −1, 0()のペリオドグラムを、 について求めましょう。
【解き方】
- のとき で、 を計算する。0でない4項がどれも になり、和は
- 絶対値の2乗を で割る:
- のとき で、4項の和は打ち消し合って0。したがって
答えは 、 です。ピークは にあり、周期は です。データを見ると、確かに4期ごとに同じ値を繰り返しています。
読み方の例も見てみましょう。120か月の月次データで にピークがあれば、周期は 120 ÷ 10 = 12 か月で、季節変動があると分かります。
ただし、ペリオドグラムは、データを増やしてもギザギザが収まりません。各周波数の値の分散が、 が増えても小さくならないのです。つまり、スペクトラムの一致推定量ではありません。そこで、隣り合う周波数の値を平均して、滑らかにしてから使います。
以上が、スペクトラムとペリオドグラムについての解説です。
状態空間モデル:見えない状態を追いかける
次に、観測の裏にある状態を追いかける状態空間モデルについて説明します。
毎朝、体重計に乗るとしましょう。読みは 60.4kg、59.8kg、60.6kg と上下します。でも、1日で本当の体重がそんなに変わるはずはありません。読みには、水分や計り方の誤差が入っています。本当に知りたいのは、見えない「本当の体重」です。
状態空間モデル は、見えない 状態 と、それを誤差つきで観測した値を、2本の式で表すモデルです。最も単純な ローカルレベルモデル は、次の形です。
が見えない本当の体重で、ランダムウォークのようにゆっくり動きます。 が体重計の読みです。
状態の推定に使うのが、カルマンフィルタ です。「予測」と「更新」を、1時点ごとに繰り返します。 を状態の推定値、 をその分散とします。
【カルマンフィルタの手順】
- 予測: 状態の予測は のままで、分散は に増える
- カルマンゲイン:
- 更新: 、
言葉で言うと、「新しい推定値 = 予測 + ゲイン × 予測の外れ」です。ゲイン は0から1の間の値で、自分の予測と新しい観測のどちらを信じるかの配分です。体重計の誤差が大きいと、 は小さくなります。一言で言うと、信用度に応じた加重平均です。
例題:カルマンフィルタを手で回す
、 のローカルレベルモデルで、、 とします。、 を観測したときの を求めましょう。
【解き方】
- 予測の分散:
- ゲイン:
- 更新: 、
- 次の予測の分散:
- ゲイン:
- 更新:
答えは 、 です。観測が26まで跳ねても、推定は23までしか動きません。
状態空間モデルの強みは、次のとおりです。
【状態空間モデルの強み】
- 欠測に強い: 観測がない時点は、更新を飛ばして予測だけを行えばよい
- 組み立てやすい: トレンド、季節、回帰の項を、状態の成分として足していける
- 幅が広い: ARIMAモデルも状態空間モデルの形に書き直せる
補足(ここは読み飛ばしてOK): ローカルレベルモデルでは、時間がたつと は一定の値に近づきます。すると、更新の式は指数平滑法と同じ形になります。
以上が、状態空間モデルについての説明です。
系列相関とダービンワトソン比:回帰の誤差を点検する
最後に、時系列データの回帰で必ず確かめる点を見ていきましょう。
重回帰分析の記事で、最小二乗法の標準誤差は、誤差が互いに無相関であることを前提にしていました。ところが、時系列データの回帰では、残差がプラスの時期とマイナスの時期が続くことがよくあります。この状態が、誤差の 系列相関 です。
系列相関があると、どうなるのでしょうか? 説明変数が誤差と無相関なら、係数の推定値に偏りは生じません。でも、標準誤差が正しくなくなります。正の系列相関があると、標準誤差は小さく出やすく、 値が大きくなり、効果がないのに有意に見えることがあります。答案の採点で、同じ子のテストを別人のものとして数えてしまうようなものです。情報の量を水増ししているのです。
調べる道具が、ダービンワトソン比(DW比) です。回帰の残差 から、次の量を計算します。
分子を展開すると、 が大きいとき、残差のラグ1の自己相関 を使って次のように近似できます。
は −1 から1の間なので、DW比は0から4の間の値です。
【DW比の読み方】
- 2に近い: 系列相関なし
- 0に近い: 正の系列相関(残差がゆっくり動く)
- 4に近い: 負の系列相関(残差が毎回符号を変える)
厳密な検定では、標本の大きさと説明変数の数で決まる2つの値 を、表から読みます。正の系列相関に対する判定は、次のとおりです。
【DW検定の判定】
- : 正の系列相関がある
- : 判定を保留する
- : 正の系列相関があるとは言えない
判定保留の区間があるのが、この検定の特徴です。
例題:DW比を計算する
ある回帰の残差が、1, 2, 1, −1, −2, −2, −1, 0, 1, 1 でした。DW比を求めましょう。表の値は 、 だとします。
【解き方】
- 隣との差: 1, −1, −2, −1, 0, 1, 1, 1, 0
- 分子(差の2乗の和): 1 + 1 + 4 + 1 + 0 + 1 + 1 + 1 + 0 = 10
- 分母(残差の2乗の和): 1 + 4 + 1 + 1 + 4 + 4 + 1 + 0 + 1 + 1 = 18
- 割り算:
答えは約0.56で、 より小さいので、正の系列相関があると判断します。実際、 で、近似式の値は 2 × 0.33 ≈ 0.67 です。
系列相関が見つかったら、誤差のAR(1)構造を入れた一般化最小二乗推定を使うか、変数の不足を見直します。
補足(ここは読み飛ばしてOK): 無関係な2本のランダムウォークを回帰すると、決定係数が高く、 値も有意に見えることがあります。これを見せかけの回帰と言います。このときDW比は0に近い値になるので、DW比は警報の役割も果たします。
試験のポイント: を覚えておくと、DW比から の値を読めます。「2なら無相関、小さいと正、大きいと負」です。
以上が、系列相関とダービンワトソン比についての解説です。
細かい式を忘れてしまっても問題ありません。ここでは、「定常性を確かめ、自己相関の形でモデルを選び、残差が白色雑音かを点検する」という点だけ押さえておきましょう。
今回のまとめ
それでは、今回の内容を振り返ります。
今回は、時間の順番そのものを情報として使う時系列解析について紹介しました。時間の領域で見れば自己相関とARIMAモデル、周波数の領域で見ればスペクトラム、見えない状態に注目すれば状態空間モデルです。入口は違っても、「過去の情報から、どこまでを説明できるか」を問う点は同じです。
今回のポイントを振り返りましょう。
振り返り
- 定常性は性格が変わらないこと。平均・分散が一定で、共分散はラグだけで決まる。
- AR(1)の自己相関は で減衰し、MA(1)の自己相関はラグ1の後で切れる。偏自己相関では、これが入れ替わる。
- 定常でない系列は、階差で定常に直す。ARIMA() の は階差の回数。
- スペクトラムは分散の周波数ごとの内訳。ペリオドグラムのピークから周期を読む。
- 状態空間モデルは体重計と本当の体重。カルマンフィルタは予測と観測の加重平均を繰り返す。
- ダービンワトソン比は約 で、回帰の残差の系列相関を調べる。
キーワードのおさらい
- 自己相関: 同じ系列の、ラグ 離れた値どうしの相関
- 偏自己相関: 間の時点の影響を取り除いた自己相関
- スペクトラム: 時系列の分散を周波数ごとに表した関数
- ペリオドグラム: データから計算する、周波数ごとの強さ
- ARIMAモデル: 階差をとった系列に、ARとMAのモデルを当てはめるモデル
- 定常性: 平均・分散・自己共分散の構造が時間によって変わらないこと
- 階差: 隣り合う時点の値の差をとること
- 状態空間モデル: 見えない状態と観測を、2本の式で表すモデル
- 系列相関: 時点の違う値どうしの相関。回帰では誤差の相関が問題になる
- ダービンワトソン比: 回帰の残差のラグ1の系列相関を調べる統計量
さて、ここまでは量的なデータの分析でした。話をクロス表に戻しましょう。2級で学んだカイ二乗検定は、度数が少ないと使えませんでした。関連の「強さ」を測る数も、まだ手元にありません。
次回は、オッズ比や正確検定など「分割表の解析」について紹介します。
それでは、次の記事へ進んでいきましょう。