Mímisbrunnr知恵の泉

← 計量経済学 一覧

🎓 レベル:標準 | 重要度:A(必須) 📎 土台:ランダムウォークと単位根(時系列・単位根)・定常性と自己相関(時系列・定常性)

要点(BLUF)

1. 問題:非定常な系列の回帰は信用できない

GDP・物価・株価のような系列は yt=yt1+εty_t=y_{t-1}+\varepsilon_t 型のランダムウォーク(単位根、I(1)I(1))で、トレンドを持って非定常に動きます(ランダムウォークと単位根)。こうした系列どうしを水準で回帰すると、たとえ真の関係がゼロでも、両者がたまたま同方向に漂っただけで強い相関が観測されます。

問題は統計的推論の前提が壊れていることです。OLSのtt値が標準正規に近づくのは誤差が定常なときで、単位根系列ではこの漸近論が成立せず、tt値が発散します。だから「有意」が乱発される。Granger–Newbold(1974)が警告した古典的な罠です。

2. 実証:無関係な2本のランダムウォークが「有意」になる

互いに完全に独立な2本のランダムウォークを1000回回帰し、(1) 5%水準で「有意」と誤判定する割合、(2) R2R^2 の平均、(3) 差分してから回帰した場合、を見ます。

import numpy as np
import statsmodels.api as sm

rng = np.random.default_rng(0)
n = 200
reps = 1000
sig_count = 0
r2_list = []
for _ in range(reps):
    # 互いに完全に無関係な 2 本のランダムウォーク(単位根・I(1))
    x = np.cumsum(rng.normal(0, 1, n))
    y = np.cumsum(rng.normal(0, 1, n))
    m = sm.OLS(y, sm.add_constant(x)).fit()
    if abs(m.tvalues[1]) > 1.96:   # 5%水準で「有意」と誤判定する割合
        sig_count += 1
    r2_list.append(m.rsquared)

print(f"無関係な2本のランダムウォークを回帰({reps}回)")
print(f"  t>1.96 で誤って有意と判定した割合 = {sig_count/reps*100:.0f}%(本来は 5% のはず)")
print(f"  決定係数 R^2 の平均             = {np.mean(r2_list):.2f}(無関係なのに高い)")

# 差分(成長率)にすれば見せかけは消える
sig_diff = 0
for _ in range(reps):
    x = np.cumsum(rng.normal(0, 1, n))
    y = np.cumsum(rng.normal(0, 1, n))
    m = sm.OLS(np.diff(y), sm.add_constant(np.diff(x))).fit()
    if abs(m.tvalues[1]) > 1.96:
        sig_diff += 1
print(f"  差分してから回帰した場合の誤検出  = {sig_diff/reps*100:.0f}%(5%付近に戻る)")

出力:

無関係な2本のランダムウォークを回帰(1000回)
  t>1.96 で誤って有意と判定した割合 = 83%(本来は 5% のはず)
  決定係数 R^2 の平均             = 0.24(無関係なのに高い)
  差分してから回帰した場合の誤検出  = 5%(5%付近に戻る)

出力の意味:真の関係がゼロなのに、水準回帰では 83% ものケースで「有意」と誤判定しました(正しくは5%のはず)。R2R^2 も平均 0.240.24 と無関係にしては高い。これが見せかけの回帰です。一方、差分(成長率)にすると誤検出は5%——理論通りに戻りました。差分が単位根を除去して系列を定常にし、通常の漸近論を回復させたためです。

3. 正しい手順

flowchart LR
    A["経済時系列を回帰したい"] --> B["まず単位根検定(ADF)"]
    B -->|"定常 I(0)"| C["そのまま回帰してよい"]
    B -->|"非定常 I(1)"| D{"共和分はあるか?"}
    D -->|"なし"| E["差分して回帰(成長率で関係を見る)"]
    D -->|"あり"| F["VECMで長期均衡を保って回帰"]

水準で回帰してよいのは系列が定常なときだけ。非定常なら、まず共和分(共和分とVECM)を確認し、無ければ差分、有れば長期均衡を保つVECMを使います。「とりあえず水準で回帰」が最も危険です。

⚠️ よくある誤解・落とし穴

関連ノート