【ITニュース解説】単位根の有無で変わる因果検定:ADF・KPSSとグレンジャー因果性をPythonで検証
2025年09月27日に「Qiita」が公開したITニュース「単位根の有無で変わる因果検定:ADF・KPSSとグレンジャー因果性をPythonで検証」について初心者にもわかりやすく解説しています。
ITニュース概要
時系列データで「ある出来事が別の原因か」を調べるグレンジャー因果性。データの特性を示す「単位根」の有無が因果性の判定に大きく影響するため、ADF・KPSS検定での確認が必要だ。この記事では、これらの関係性とPythonを使った検証方法を解説する。
ITニュース解説
システム開発やデータ分析の現場で、ある事象が別の事象の原因となっているかを知ることは非常に重要である。例えば、システムの特定機能の利用増加がサーバー負荷の上昇を引き起こすのか、あるいはマーケティング施策が売上向上に繋がっているのかなど、因果関係を正しく把握できれば、より効果的な改善策を立てられる。しかし、単に二つの事象が同時に変化している「相関関係」と、片方がもう片方の「原因」である「因果関係」は全く異なる。特に時間と共に変化する時系列データでは、この因果関係の特定が難しい課題となる。
ここで登場するのが「グレンジャー因果性」という概念である。グレンジャー因果性は、厳密な意味での物理的な因果関係を示すものではなく、「ある時系列データXの過去の値が、別の時系列データYの未来の値を予測する上で、Y自身の過去の値だけを使うよりも統計的に有用である場合、XはYに対してグレンジャー因果性を持つ」と定義される。つまり、Xの情報を使うことでYの予測精度が向上するならば、XはYの原因であると統計的に見なすわけだ。この因果性は、主に自己回帰モデルという統計モデルを用いて検証される。具体的には、Yの値を予測するモデルにXの過去の値を含めることで、その予測精度がどれだけ向上するかを統計的に評価する。もしXの情報が予測に貢献していれば、統計的有意性を示すF検定などでその効果を確認できる。
しかし、時系列データを扱う上で注意すべき点がある。それは「単位根」の有無である。単位根とは、時系列データが時間とともに平均や分散が一定でなく変化していく「非定常性」を持つ特徴の一つを指す。例えば、株価や為替レートのように、昨日の値が今日の値に強く影響し、長期的なトレンドや予測不能な変動を持つデータは非定常である可能性が高い。このような非定常なデータには、見せかけの相関(スプリアスリグレッション)が生じやすいという問題がある。二つの全く関係のない非定常データが、偶然にも同じような上昇トレンドや下降トレンドを示した場合、あたかも強い相関があるかのように見えてしまうのだ。このようなデータでグレンジャー因果性検定を行うと、実際には因果関係がないにもかかわらず、誤って「因果関係がある」と結論付けてしまう危険性がある。
この問題に対処するため、グレンジャー因果性検定を行う前に、分析対象の時系列データが定常であるか、それとも単位根を持つ非定常データであるかを確認する必要がある。この確認に用いられるのが、「単位根検定」と呼ばれる統計的手法である。代表的な単位根検定には「ADF(拡張ディッキー・フラー)検定」と「KPSS(クォンコフスキー・フィリップス・シュミット・シン)検定」がある。
ADF検定は、帰無仮説を「データに単位根が存在する(非定常である)」と設定し、対立仮説を「データが定常である」とする。P値が非常に小さい場合(例えば0.05未満)は帰無仮説を棄却し、データは定常であると判断できる。一方、KPSS検定はADF検定とは帰無仮説と対立仮説が逆で、帰無仮説を「データが定常である」と設定し、対立仮説を「データに単位根が存在する(非定常である)」とする。こちらの検定では、P値が非常に小さい場合に帰無仮説を棄却し、データは非定常であると判断する。ADFとKPSSは異なるアプローチで単位根を検出するため、両方の検定結果を総合的に判断することで、より信頼性の高い結論を得ることが可能となる。例えば、ADF検定で「定常である」と判断され、かつKPSS検定で「定常である」と判断されれば、そのデータは高い確率で定常であると言える。
グレンジャー因果性検定を適切に行うためには、分析対象の時系列データが「定常性」を満たしていることが不可欠である。もしADF検定やKPSS検定の結果、データが非定常であることが示された場合、そのままグレンジャー因果性検定を適用すると、前述の見せかけの因果関係を検出してしまう恐れがある。このような状況では、データを「定常化」する前処理が必要となる。最も一般的な定常化の手法は「差分系列を取る」ことである。これは、現在の値から一つ前の値を引くことで、データのトレンドや季節性を除去し、平均や分散が時間によって変化しない定常なデータに変換する方法である。何回差分を取れば定常になるかはデータによって異なり、これもADF検定やKPSS検定で確認しながら適切な差分の回数を決定する。ただし、差分を取ることで元のデータが持つ長期的な関係性が失われる可能性もあるため、データの特性を十分に理解した上で適用することが重要である。
実務においてグレンジャー因果性分析を行う際には、いくつかの重要な注意点がある。まず、データの選択と前処理は分析の成否を分ける。生データを安易に分析するのではなく、必ず単位根検定を実施し、必要に応じて定常化処理を行うべきである。次に、グレンジャー因果性はあくまで統計的な「予測可能性」に基づくものであり、物理的・本質的な因果関係を断定するものではないという限界を理解しておく必要がある。例えば、XがYに対してグレンジャー因果性を持つと判断されても、実際にはXとYの両方に影響を与える第三の要因(共通原因)Cが存在している可能性も否定できない。また、グレンジャー因果性検定では、過去のどの程度の期間(ラグ)を考慮するかによって結果が変わり得るため、適切なラグの選択も重要な課題となる。最後に、統計的に有意な結果が得られたとしても、それがビジネスやシステム設計において具体的な意味を持つか、論理的に妥当かを深く吟味することが不可欠である。Pythonのようなツールを使えば簡単に分析を実行できるが、その結果の解釈には背後にある統計理論と実務的な洞察力が求められる。