定常過程は、任意のt, kに関して以下が成立
$$ E(y_t) = \mu $$
$$ Cov(y_t, y_{t-k}) = E[(y_t-\mu)(y_{t-k}-\mu)] = \gamma_k $$
N時点だけデータがある定常時系列に対しては、データの期待値や分散・自己共分散の推定量を以下のように計算できる。 $$ 標本平均:\hat{\mu}=\frac{1}{N}\sum_{t=1}^{N}y_t $$ $$ 標本自己共分散:\hat{\gamma}=\frac{1}{N}\sum_{t=1+k}^{N}(y_t-\hat{\mu})(y_{t-k}-\hat{\mu}) $$ $$ 標本自己相関:\hat{\rho_k}=\frac{\hat{\gamma_k}}{\hat{\gamma_0}} $$
期待値や分散が時点により変化しないので、単に複数時点のデータの平均値や分散をとれば(例えば1ヶ月間の平均気温などをとれば)、それがそのまま「特定の時点の期待値や分散の推定量」とみなせる
定常でない時系列データ
非定常なデータでも、データの変換により定常になることがある。
例)非定常データの差分が定常になるケース
$$ \Delta y_t=y_t-y_{t-1} $$
対数差分系列は近似的に「変化率:とみなせる $$ \Delta \log y_t \simeq \frac{y_t - y_{t-1}}{y_{t-1}} $$
季節階差をとることで、季節の影響をある程度取り除ける。
季節階差は「前年同期との差」。月単位のデータなら「去年の1月と今年の1月の差」「去年の2月と今年の2月との差」・・・と取っていった系列が季節階差となる。
1次のARモデルはAR(1)と表記され、以下が定式 $$ y_t = c + \phi_1y_{t-1} + \epsilon_t $$ $$ \epsilon_t \sim N(0, \sigma^2) $$ $$ c:定数項、 \phi_1:係数 $$
名前の通り「過去の自分のデータ」を説明変数として、回帰モデルを作成する。
重回帰分析のように、説明変数を増やすことが可能。
p時点前までのデータを使うARモデルをAR(p)と表す。
$$ y_t = c + \sum_{i=1}^{p}\phi_i y_{t-i} + \epsilon_t $$
$$ \epsilon_t \sim N(0, \sigma^2) $$
AR(1)過程において、係数 $$ \phi_1 = 0 $$ のとき、ホワイトノイズとなる(簡単のため、ここでは定数項を0としている)
$$ y_t = \epsilon_t $$
$$ \epsilon_t\sim N(0, \sigma^2) $$
AR(1)過程において、係数 $$ \phi_1 = 1 $$ のとき、ランダムウォークとなる
$$ y_t = y_{t-1} + \epsilon_t $$
$$ \epsilon_t\sim N(0, \sigma^2) $$
係数 $$ |\phi_1| < 1 $$ ならば、AR(1)モデルは定常過程となる。
3次のMAモデルはMA(3)と表記される。
$$ y_t = \mu + \epsilon_t + \theta_1 \epsilon_{t-1} + \theta_2 \epsilon_{t-2} + \theta3 \epsilon_{t-3} $$
$$ \epsilon_t\sim N(0, \sigma^2) $$
上記では、過去3時点のノイズを使っていることになる
q次のMAモデルはMA(q)と表記される $$ y_t = \mu + \sum_{j=1}^{q} \theta_j \epsilon_{t-j} + \epsilon_t $$ $$ \epsilon_t\sim N(0, \sigma^2) $$
非定常過程には、ARMAモデルを使えないが、和分過程に対しては、差分を取ることで定常過程に変換できる。
和分過程へのARMAモデルの適用を、ARIMAモデルと呼ぶ。d階和分過程 I(d) において、ARMA(p,q)を適用する場合のARIMAモデルを ARIMA(p,d,q)と表記する。
単位根検定の種類
ARIMAモデルを正しく推定出来ていた場合、残差は自己相関のないホワイトノイズになる。
(ホワイトノイズは、未来を予測する情報がほとんど含まれていない、純粋な雑音)
もし、残差に自己相関が残っていた場合は「未来を予測する情報がまだ残っている」ことになる。 -> 予測精度を上げる余地がまだ残っている
なので、残差に自己相関があるかどうかを確認するのはとても重要。
残差に対して正の自己相関があった場合、以下の問題が発生する
過去のデータをモデルに組み込み、データの持つ自己相関を表現するモデルを作る。
(ARIMAXモデルや、VARモデル、状態空間モデルが候補となる)
また、残差の自己相関を明示的にモデルに組み込む回帰モデルとして、一般化最小二乗法(GLS) がある。
別の方法として、単位根を持つデータの場合は、差分系列へ回帰分析を実行する方法もある。
(差分をとることで、ランダムウォークならば、ただのホワイトノイズになり、ホワイトノイズは見せかけの回帰が生じない)
ただし、差分を取る場合は 共和分 に注意が必要。
一般的な確認の流れとして、
自己相関を持つデータに対しては、一般化最小二乗法(GLS)を使う。
GLSは、残差の自己相関を明示的にモデルに組み込んだ上でパラメタを推定する手法
以下、AR(1)に従う残差を考える。回帰モデルは、以下を対象とする。
Step1: 式(3-4)に従う回帰式をOLSで推定する。そして、(3-4)で求められた残差を、$$ \hat{\mu}_t $$ として以下の回帰式においてOLSでパラメタ $$ \hat{\rho} $$ を求める。
Step2: 推定された $$ \hat{\rho} $$ を使って、データを以下のように変換する。式(3-6):
$$ y^*_1 = \sqrt{1-\hat{\rho}^2} y_1 $$$$ y^*_t = y_t-\hat{\rho} y_{t-1} t = 2,3,...,n $$$$ x^*_1 = \sqrt{1-\hat{\rho}^2} x_1 $$$$ x^*_t = x_t-\hat{\rho} x_{t-1} t = 2,3,...,n $$そして、変換されたデータを使って以下の回帰モデルをOLSで推定すれば、残差の自己相関を取り除ける。 $$ 式(3-7): y^*_t = \beta_0\psi_t + \beta_1 x^*_t + error_t $$
ただし、$$ \psi_t $$ は以下に従う。切片を変換したものというイメージ 式(3-7): $$ \psi_1 = \sqrt{1-\hat{\rho}^2} $$ $$ \psi_t = 1 - \hat{\rho} t = 2,3,...,n $$
また、最終的に計算される残差を使ってStep1に戻り、$$ \hat{\rho} $$ を更新してからまたStep2の変換を行い・・・と繰り返し計算が行われるケースもある。
やっていることは、「残差を使って自己回帰モデルを作成し、その係数を使ってデータを変換する」という流れ。
この上記の方法は (2 step)Prais-Winsten法 と呼ばれる。
単位根を持つデータ同士で回帰分析をした際に、見せかけの回帰にならないデータを共和分 という。
例えば、データy_tとx_tが各々単位根を持っており、y_tとx_tの線形結合が単位根を持たなくなったとしたら、両者は 共和分の関係にある という。
共和分検定により、共和分があるかどうか調べることができる。
Engle-Granger が代表的な方法。(※この方法は、2変数での共和分を調べることにしか使えないので注意)
例えば個人消費と個人収入の指標という2つの時系列データがあった場合、下記のようにお互いに影響を及ぼしあっていると考えることができる。
このような状況をモデル化できるのがVARモデル。
また、「Grangerの因果」を使うことで、データの因果関係の有無を検定できる。
消費y_tと収入x_tをモデル化した1次のVARモデル VAR(1) は以下のように表現できる。 $$ y_t = c_1 + \phi_{11} y_{t-1} + \phi_{12} x_{t-1} + \epsilon_{1t} $$ $$ x_t = c_2 + \phi_{21} y_{t-1} + \phi_{22} x_{t-1} + \epsilon_{2t} $$
以下、式のイメージ
消費・収入共に、「過去の消費と、過去の収入」という同じ説明変数が使われている。
※「同時点の相手のデータ」がモデルに含まれていないことに注意!
より一般的に、n個の変数を持つp次のVAR(p)は以下のように表される。 $$ Y_t = C + \Phi_1 Y_{t-1} + ... + \Phi_p Y_{t-p} + E_t $$ $$ Y_t:n個の変数ベクトル、C:n*1 の定数ベクトル、\Phi_i:n * n の係数行列。 $$
※ Grangerの因果性検定は 定常データ にしか適用できない。
Grangerの意味での因果は、「相手がいることにより、予測精度が上がるかどうか」で判断される。
以下に式で考える。
2001年の収入予測モデルにおいて、相手(消費データ)なしの予測モデルも作って両者を並べると
ノイズ①が「相手のデータも使った時の予測残差」
ノイズ②が「相手がいない時の予測残差」
この2つの予測残差の残差平方和の大小を比較して「相手のデータを使うことで、予測残差を有意に減少したか」を検定するのが、Granger因果性検定。
消費が急に増えると収入にはどういった影響があるのか、を定量的に評価する手法がインパルス応答関数。
ある変数にショックを与えてみて、その影響がどれほど続くのかをシミュレートする。
VARは同時点のノイズ同士が相関を持つことがあり、そういったときには、うまくシミュレーションができない。
そこで、ノイズを相関している部分と独立な部分に分ける。これを直交化かく乱項と呼ぶ。このように残差を直交化してからインパルス応答関数を求める方法を直交化インパルス応答関数と呼ぶ。
ここでは、時系列データの分散の変動に着目する。
時間によって分散が変動するデータをどのように式で表現しモデル化するかについて考える。
定常過程では分散は時点によらず一定と仮定されているが、ファイナンスデータなどでは、この仮定が満たされないことがしばしばある。
時間よって分散が変動するデータをどのように式で表現し、モデル化するか確認する。
補:金融などの分野では、時系列データの分散の平方根、すなわち標準偏差のことを「ボラティリティ」と呼ぶ。
このモデルは、「絶対値が大きなノイズが前回来たならば、今回の分散は大きくなるだろう」と考える時系列モデル。
1次のARCHモデル、ARCH(1)は以下のように定式化される。
$$ 1. y_t = \mu_t + u_t $$
$$ 2. u_t = \sqrt{h_t} \epsilon_t \epsilon_t \sim N(0,1) $$
$$ 3. h_t = \omega + \alpha_1 u_{t-1}^2 $$
上記の式を日本語にすると以下のようになる。
ARCHモデルの構造がなければ、たまたま大きなノイズが加わったとしても、それは一度限りで終わり、次の時点からはまた標準的な大きさのノイズに戻る。しかし、ARCHモデルの構造があれば、たまたま大きなノイズが加わったとしたら、その翌日も(分散が大きくなるので)大きくブレやすいことになる。
m次のARCHモデルARCH(m)は以下のように定式化される。m時点前までのノイズを使って、条件付き分散を求める。
$$ 1. y_t = \mu_t + u_t $$
$$ 2. u_t = \sqrt{h_t} \epsilon_t \epsilon_t \sim N(0,1) $$
$$ 3. h_t = \omega + \sum_{k=1}^{m}\alpha_k u_{t-k}^2 $$
一般化するのは「”より長く”データのブレ幅が広がる状況が持続する」時系列を、「少ないパラメタで」表現したいという動機がある。
ARCH(m)の次数を増やすと、m時点前までのノイズの大きさが加味される。それだけ長くスパンが相手もボラティリティが大きくなる状況は持続する。しかし、その分だけ推定すべきパラメタが増えてしまう。
そこで、1次のGARCHモデル GARCH(1,1)は以下のように定式化される。
$$ 1. y_t = \mu_t + u_t $$
$$ 2. u_t = \sqrt{h_t} \epsilon_t \epsilon_t \sim N(0,1) $$
$$ 3. h_t = \omega + \alpha_1 u_{t-1}^2 + \beta_1 h_{t-1} $$
上記の式を日本語にすると以下のようになる。
違いは3番目の式。t-1時点の条件付き分散も用いてボラティリティを推定している。
これにより、以下のようにボラティリティが大きくなる状況を維持できる。 ① t時点において、たまたま大きなノイズが加わる ↓ ② ARCHの効果で、t+1時点においてボラティリティが大きくなる ↓ ③ t+1時点のボラティリティが大きいので、(たとえt+1時点のノイズがあまり大きくなかったとしても)t+2時点のボラティリティは必ず大きくなる
たとえボラティリティが大きかったとしても、「ノイズが大きくなりやすい」だけであって、小さなノイズが来ることもある。そんな場合でも高いボラティリティを維持できるのがGARCHモデルの特徴。
GARCH(r,m)は以下のように定式化される。 $$ 1. y_t = \mu_t + u_t $$ $$ 2. u_t = \sqrt{h_t} \epsilon_t \epsilon_t \sim N(0,1) $$ $$ 3. h_t = \omega + \sum_{k=1}^{m}\alpha_k u_{t-k}^2 + \sum_{l=1}^{r} \beta_l h_{t-l} $$
様々な分散の変動パターンに対応するため、GARCHモデルを拡張することがある。
GJRモデルは、「正のノイズと負のノイズでは、分散に与える影響が異なる」と考えたモデル。株価が上がったときには、あまりボラティリティは増えないが、株価が下がった時は、投資家が慌てやすくボラティリティが増える、といった状況をモデル化できる。
GJR-GARCH(1,1)モデルは、以下のように定式化される。 $$ 1. y_t = \mu_t + u_t $$ $$ 2. u_t = \sqrt{h_t} \epsilon_t \epsilon_t \sim N(0,1) $$ $$ 3. h_t = \omega + \alpha_1 u_{t-1}^2 + \beta_1 h_{t-1} + \gamma_1 u_{t-1}^2 I_{t-1} $$
ただし、I_t-1は、u_t-1 < 0 の時に1を、u_t-1 >= 0 の時に0をとる。負のノイズの時にだけ、補正が入るようになっている。
また、そもそも確率分布を変えてしまうという手もある。例えば、金融のデータは正規分布だと仮定することが難しいくらい、データのばらつきが大きいことがある。そのようなときは正規分布の代わりに幅の広いt分布を使うと、うまくモデル化できることもある。