複数の時系列データに対して行うVARモデル分析について,実践例を用いて解説します.
実践例で用いている統計解析アプリStaatAppはこちらからダウンロードしてください.(VAR機能は有料版です)
VARモデルとは
VAR(Vector auto regressive model,ベクトル自己回帰モデル)は複数の時系列データを同時に分析するための統計モデルです.例えば,株価や為替レートなどの相互に影響しあうデータを同時に扱えるのがVARモデルの強みです.また,異なる時系列データの相互作用を捉えることができるため,ビジネスやマクロ経済学などで活用されます.
VARモデルでは時系列データ間での因果関係を調べることができるのも大きな特徴です.
VAR分析の手順
VARモデルを用いた分析は,以下のように行うのが一般的です.
はじめに時系列データを可視化して時系列データの特徴を把握します.VARモデルは定常過程に対して有効なため,時系列データに長期変動や季節変動が見られる場合は,前処理として差分変換や対数変換を行います.
パラメータ推定では自己相関係数などから,モデル作成に必要なパラメータを算出します.(StaatAppではパラメータは任意の情報量基準に従って自動計算されます)
モデルを作成したら評価指標や残差分析を行うことで,モデルの精度を評価します.モデルの精度がよくない場合は,パラメータやモデル式を修正して再度モデルを作成します.
最終的には作成したモデルを用いて将来予測や因果分析を行います.
StaatAppを用いたVAR分析
統計解析アプリStaatAppを用いて,具体的にVAR分析について解説します.サンプルデータとして,マクロ経済学データセットmacrodataを使用します.このデータには1959年の第1四半期から2009年の第3四半期までの203行のデータです.今回の解説ではrealgdp(実質GDP),realcons(実質個人消費),realinv(実質設備投資)の3つの変数を対象にして分析を行います.
① データの可視化
折れ線グラフ機能を用いて,サンプルデータの可視化を行います.特にrealgdpとrealconsは長期変動があるつまり非定常過程であることがわかります.
② 前処理
時系列データに長期変動があったため,差分変換を行います.
ADF検定を行い差分変換したデータが定常過程であるかを判定します.
長期変動を含む時系列データなので,ADF検定結果の「ct(定数項+トレンド項)」列を見ます.3つの変数とも有意水準α=0.05を下回っているため定常過程と判断することができます.(厳密にはADF検定では単位根過程でないという結論が得られますが,ADF検定の結果が有意な場合に定常過程とみなすことは許容されています.)
③ パラメータ推定+モデル作成
VARモデル機能を用いてパラメータを自動推定して,モデルを作成します.
対象の3つの変数を選択して,「モデル作成」ボタンをクリックするとモデルが作成されます.VARモデル機能ではパラメータは次数選択基準に従って最適な値が設定されます.(デフォルトの基準はAIC:赤池情報量基準になります)
④ モデルの評価
評価指標を用いてモデルの評価を行います.VAR機能で算出される評価指標は全て絶対的な基準はありません.各指標とも値が小さいほど,良いモデルであると考えることができます.
VARモデル機能ではホールドアウト検証や残差分析も行うことが可能です.ボックス・ジェンキンス法で解説している方法と同様に行うことができます.
⑤ 将来予測
作成したモデルから将来予測を行います.予測タブから任意の時点数の選択して,将来予測を行います.
⑥ 因果分析
インパルス応答関数のグラフを表示します.インパルス応答関数は,一つの時系列変数に対する”衝撃”が他の時系列変数に与える効果を時間経過に従って追跡するための分析手法です.
VAR機能の設定で「評価・予測対象」に”realgdp”を設定しているので,”realgdp”に対して与える影響がグラフで表示されます.
インパルス応答分析の結果から,”realcons”は”realinv”と比較して”realgdp”を増加させる影響が大きいということがわかります.
続いてVEFD(予測誤差分散分解)を行い,グラフを表示します.VEFDは各変数が各変数に対する相対的な影響力を示します.
realgdpとrealconsは自身への影響が最も大きいことがわかります.realinvはrealgdpへの影響が最も大きいことがわかります.
最後にグレンジャー因果性検定を行いrealgdpに対するrealconsのrealinvの影響を調べます.
realconsのp値が0.0で有意水準α=0.05より小さいことから「realconsはrealgdpに対してグレンジャー因果性がある」ということが言えます.
※ 表示桁数設定で,小数点以下の表示桁数を増やすことも可能です.
補足① 参考書籍
StaatAppのVAR機能及び分析手順・解釈については以下の書籍を参考にしています.
補足② VAR機能の詳細仕様
StaatAppのVAR機能ではPythonの以下のライブラリを使用して演算を行っています.詳細なアルゴリズムや信頼性を知りたい方は公式ドキュメントをお読みください.