2020/05/20

時系列分析 (1) - 時系列の性質の把握

為替レートなどの価格時系列データの分析をよく行うので、統計学的に分析する場合の一般論について書いてみました。
理系大学の学部生が使う教科書に書いてあるレベルより少し丁寧に説明しているつもりです。

時系列分析の流れ

時系列分析は、時系列データを分析して、何らかの回帰モデルを導出し、それに基づいて予測を行うことが主な目的になります。
そのための手順は概ね以下のような流れになります。
  • 分析対象となる原系列を用意する
  • 必要に応じて、対数系列、差分系列、対数差分系列などに変換 (主に定常性の仮定を満たすため) したり、季節変動要因 (seasonality) の調整を行ったりする
  • 基本統計量で要約する
    • 期待値 (mean)
    • 分散 (variance) = $0$次の自己共分散 (autocovariance)
    • $k$次-自己共分散 ($k$時点離れたデータ間の共分散)
    • $k$次-自己相関係数 (自己共分散の基準化) → $k$の関数として自己相関関数 (autocorrelation function/ACF) と呼ばれる
    • コレログラム (自己相関関数のグラフ)
  • 系列に対応する確率過程またはデータ生成過程 (DGP) を仮定する
  • 過程を検証する
    • 時系列間の回帰分析を行う場合は、単位根検定によりその時系列が単位根過程でないことを確認しておく必要がある (単位根過程同士には見せかけの相関が発生することがある)
    • 時系列$X$と$Y$がそれぞれ$I(d)$である ($d$階の階差が定常である) とき、$X$と$Y$の線形結合$(X - \alpha Y)$が$I(d-b)$であれば、$X$と$Y$は$(d, b)$次の共和分 (cointegration) 関係である

確率変数の基本統計量

まずは、一般の確率変数における基本統計量の導出方法を確認しておきましょう。

期待値と分散、標準偏差

$E(x), Var(x) = E[(x-E(x))^2] = E(x^2) - (E(x))^2$は、確率変数$x$の期待値および分散です。分散は、値の散らばり具合を示しており、大きければ広い範囲に散らばっていることを意味します。また、$\sqrt{Var(x)}$を標準偏差といいます。

共分散、相関係数

$Cov(x, y) = E[(x - E(x))(y - E(y))]$ を確率変数$x, y$の共分散と言います。$Var(x) = Cov(x, x)$ です。
$Corr(x, y) = \frac{Cov(x, y)}{\sqrt{Var(x)}\sqrt{Var(y)}}$を2つの確率変数$x, y$の相関係数と言います。共分散の値を各確率変数の標準偏差の積で割ったもので、$-1 \le Corr(x, y) \le 1$の範囲の値になります。共分散は確率変数の分布によって異なる水準の値を取るため、そのままでは他の確率変数と比較できませんが、相関係数にすることで、$-1$は完全な負の相関、$1$は完全な同期、$0$は完全に独立といった意味を読み取ることができます。

定常性 (stationarity)

時系列分析を行う上で、とても重要な性質が、定常性です。基本的に非定常時系列は時系列分析の対象とすることができないといっても過言ではありません。非定常時系列に対しては、見せかけの相関によって合理的な回帰モデルが構成できず、予測に使用することができません。定常性には、弱定常性と強定常性の2種類があります。

以下の説明では、時点$t$という添字を持つ確率変数$y_t$からなる確率過程$Y = {y_t}$を対象とします。

弱定常性 (weak stationarity)

過程$y_t$が任意の$t$に対して$E(y_t) = \mu$かつ、任意の$t, k$に対して$Cov(y_t, y_{t-k}) = E[(y_t - \mu)(y_{t-k} - \mu)] = \gamma_k$であるとき、$y_t$は弱定常過程であるといいます。$\gamma_k$ と書いているのは、$t$に依存せず、次数$k$にのみ依存した一定の値になる、ということを意味しています。

強定常性 (strict stationarity)

過程$y_t$が任意の$t$と$k$に対して、$(y_t, y_{t+1}, \ldots, y_{t+k})'$ ($(\cdots)$は転置ベクトル) の同時分布が同一となる場合、$y_t$は強定常過程であるといいます。分散が有限であれば、強定常過程は弱定常過程でもあります。

定常過程の性質

弱定常過程では、異なる時点のデータ間の線形依存関係が時点に依存しない (時間差のみに依存する) ことを必要としますが、強定常過程では、全ての形の依存構造が時点に依存しないことを必要とします。
正規過程 (任意の$t$と$k$に対して、$(y_t, y_{t+1}, \ldots, y_{t+k})'$の同時分布が多変量正規分布となるような過程) においては、弱定常正規過程は強定常過程となりますが、一般には弱定常過程は強定常過程となるとは限りません。
また、定常過程においても、条件付き期待値・分散が時点に依存しないということは言えません。

定常過程の探し方

非定常過程も差分過程を取ると定常過程になることがあります。対象の時系列が定常過程ではないときは、差分過程を確認しましょう。また、非定常となる要因が判明している場合は、まずその部分をモデル化し、残差を取り出して、それが定常過程であることを期待するという方法もあります。

定常過程の基本統計量

定常過程という前提を置くと、様々な有益な基本統計量を導出することができます。

平均と分散、標準偏差

$y_t$はそれぞれ確率変数ですから、平均$E(y_t)$、分散$Var(y_t)$、標準偏差$\sqrt{Var(y_t)}$を考えることができます。確率過程においては、平均を$\mu_t$、標準偏差を$\sigma_t$と表記することが多いです。
ここで、$Y$が定常過程であるという前提を当てはめてみます。
弱定常性の定義に$E(y_t) = \mu$とあった通り、定常過程においてはどの時点においても一定の期待値となります。
分散についても弱定常性の定義に従うと、$Var(y_t) = Cov(y_t, y_t) = \gamma_0$ でやはり時点によらず一定です。

自己共分散、自己相関係数

確率過程においては、異なる2時点の確率変数における共分散、相関係数を考えることができます。それぞれ自己共分散、自己相関係数と呼ばれます。
弱定常性の定義にある $Cov(y_t, y_{t-k}) = E[(y_t - \mu)(y_{t-k} - \mu)] = \gamma_k$ がまさに自己共分散です。$k$時点離れたデータ間の共分散を意味しており、$k$次-自己共分散と呼びます。どの時点$t$を選んでも共分散が一定であるというのが、定常過程の性質です。
相関係数についても同様に$Corr(y_t, y_{t-k})$を考えることができます。$k$次-自己相関係数と言います。$Corr(y_t,y_{t-k}) = \frac{Cov(y_t, y_{t-k})}{\sqrt{Var(y_t)}\sqrt{Var(y_{t-k})}} = \frac{\gamma_k}{\gamma_0} = \rho_k$となり、やはり時点によらず一定です。

噛み砕いて言えば、定常過程においては、期待値も自己共分散、自己相関係数も時点に依存しないということになります。

自己相関関数、コレログラム

$k$次-自己相関係数$\rho_k$の系列を$k$の関数として見たものを自己相関関数 (autocorrelation function/ACF) と呼びます。また ACF をグラフに描画したものをコレログラムと呼んでいます。
コレログラムを見ると確率過程の自己相関の特徴を捉えやすいので、便利です。コレログラムの例を2つほど見ていただきましょう。

次のグラフは、ある株価指数の前日比 (つまり株価指数の1階の階差) のコレログラムです。横軸の Lag が$k$にあたります。$0$次の自己相関係数は、同一の確率変数との相関で、完全に一致するわけですから、当然$1$です。$1$次から先は非常に小さい自己相関係数となっていることが分かります。


次のグラフは、$\bf{CO}_2$濃度の前月比 (これも1階の階差) のコレログラムです。見ての通り自己相関係数が有意に$0$とは異なるように見えます。ですが、実は1年周期の季節変動要素を示しているだけで、$\bf{CO}_2$濃度の変化が前月の変化幅の影響を受けているとは言えません。このようなコレログラムが見えたときは、季節変動をモデル化して差し引き、残差に対して分析を続ける必要があります。

ホワイトノイズ、iid過程

最も単純な弱定常過程として、時点によらず平均$0$、分散$\sigma^2$であるような過程があります。これをホワイトノイズと呼びます。$y_t$がホワイトノイズであるとき、$y_t \sim WN(\sigma^2)$と書きます。

ホワイトノイズより強い仮定を置いた過程として、$iid$過程があります。これは、時点によらず平均$\mu$、分散$\sigma^2$の独立で同一の分布に従う過程です。$\mu = 0$の$iid$過程はホワイトノイズの性質を満たします。$y_t$が$iid$過程であるとき、$y_t \sim iid(\mu, \sigma^2)$と書きます。

さらに強い仮定として、正規過程に従うホワイトノイズである、正規ホワイトノイズがあります。正規ホワイトノイズは正規分布に従うため、同一分布ですから、$iid$過程でもあります。$y_t$が正規ホワイトノイズ過程であるとき、$y_t \sim iidN(0, \sigma^2)$と書きます。

自己相関の検定

ある時系列データが定常過程に従うと仮定すると、標本統計量を用いて真の期待値、自己共分散、自己相関係数を推定することができます。期待値は標本平均、自己共分散は標本自己共分散、自己相関係数は標本自己相関係数がその推定値となります。
ところで、時系列データに予測可能性があるかどうかは、その時系列と相関があり、先行している他の時系列があるか、あるいは自己相関があるかで決まってきます。そのため、標本から自己相関の有無を判別することは重要な関心事の1つです。

自己相関の有無を検定するには、自己相関係数が$0$であるという帰無仮説、$0$でないという対立仮説をおいて、標本自己相関係数を用いて検定します。

$iid$過程 (独立同一分布の過程) であれば、その自己相関係数は平均$0$、分散$1/T$ ($T$は時点数) の正規分布に漸近します。$k$次-標本自己相関係数が$-1.96/\sqrt{T} \sim 1.96/\sqrt{T}$の範囲を越えると、有意水準5%で帰無仮説は棄却され、$k$次-自己相関を持つと言えます ($1.96$は標準正規分布の両側95%点です)。前掲のコレログラムは、R の acf() 関数を用いてプロットしたものですが、この棄却点が青線でプロットされています。ci パラメータで有意水準を変更することができます。

また、$m$次までの自己相関係数が全て$0$であるという帰無仮説を検定する手法があり、「かばん検定」と呼ばれています。Ljung and Box の方法が知られており、R では Box.test() を用いて行うことができます。この帰無仮説が棄却されるということは、$m$次までのどこかに自己相関があるということを意味します。具体的には$Q(m) = T(T+2) \sum_{k=1}^{m}(\rho_k^2 / (T-k))$が自由度$m$のカイ二乗分布に漸近することを利用して検定します。

単位根検定

過程$y_t$ が $y_t = y_{t-1} + e_t, e_t \sim iid(0, \sigma^2)$であるとき、この過程は「ランダムウォークである」、または「単位根を持つ」と言います。$E(y_t) = E(y_{t-1}) + E(e_t) = E(y_{t-1}) $ ですから($e_t \sim iid(0, \sigma^2)$なので$E(e_t)=0$です)、ランダムウォークは期待値が1つ前の時点に依存しています。すなわち非定常過程です。しかし、1階の階差を取ると$e_t$だけが残りますから、$iid$過程となります。
これを調べるのが単位根検定です。Phillips-Perron 検定と Augmented Dickey-Fuller 検定が良く知られています。