読者です 読者をやめる 読者になる 読者になる

廿TT

譬如水怙牛過窓櫺 頭角四蹄都過了 因甚麼尾巴過不得

時系列データの相関係数はあてにならない……のか? 教えて下さい

本記事の趣旨

あと高橋洋一の議論を擁護する話題が混じっていますが、これについては、金融緩和はブタ積み上等。金融緩和賛成。消費税増税反対。 - 廿TT を参照してください。

「時系列 相関」

「時系列 相関」でググったところ以下のような記事がヒットした.

f:id:abrahamcow:20140911005641p:plain

「相関関係分析」というのが具体的になにを指してるのかはよく知らないんだけど, 時系列データの相関係数はあてにならない: ニュースの社会科学的な裏側 では時系列データ(原系列)の相関係数の高低を見ること自体があてにならないとしている……が, そうなのか?

見せかけの回帰と見せかけの相関は違うよね?

時系列データの相関係数はあてにならない: ニュースの社会科学的な裏側 では, 「y=2t+εとy=100-t+ν」を「シミュレーションして」, 「独立した確率分布に従うのに、相関係数-0.915と高い相関を表している。」と指摘をしている.

が, どっちも同じ t の項が入ってるなら高い相関になるのはあたりまえで, これはフェアなシミュレーションとはいえないのではないか?

例えば戦後、一人あたりの米の消費量は減少し、コンピューターの普及台数は飛躍的に伸びたが、この二つの現象を結びつけて考える人はいない。しかし、米の消費量とコンピューターの普及台数は、高い相関を持つ事になる。

時系列データの相関係数はあてにならない: ニュースの社会科学的な裏側

これは「見せかけの相関(擬似相関;spurious correlation)」の例だ.

擬似相関 - Wikipedia

計量経済学では時系列データの相関係数はあてにならない事は80年代から良く知られており、これに関連した業績でエングルとグレンジャーは、2003年にノーベル経済学賞を受賞している。

時系列データの相関係数はあてにならない: ニュースの社会科学的な裏側

グレンジャーが指摘したのは「見せかけの回帰(spurious regression)」ではないの?

「見せかけの回帰」は、グレンジャーが1974年にシミュレーションによって発見し,
http://wolfweb.unr.edu/~zal/STAT758/Granger_Newbold_1974.pdf
フィリップスが1986年に解析的に証明した
http://cowles.econ.yale.edu/P/cp/p09b/p0966.pdf
らしい.

(沖本 竜義『経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)』p.127 より)

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

見せかけの回帰のシミュレーション

解析的な証明は難しそうだけどシミュレーションならフォローできそうだ.
ここではそれをやる.

ランダム・ウォークの系列を R でつくるのはかんたんだ.

set.seed(1)
x <- cumsum(rnorm(100))
set.seed(2)
y <- cumsum(rnorm(100))
#
#図示
plot(c(1,100),c(max(c(x,y)),min(c(x,y))),type="n", xlab="time", ylab="value")
lines(x, col="red4",lwd=1.5)
lines(y, col="blue4",lwd=1.5)
legend("topleft",legend=c("x","y"), col=c("red4","blue4"),lty=1, lwd=1.5)

f:id:abrahamcow:20140911012640p:plain

x <- cumsum(rnorm(100)) は x_{t+1}=x_{t} + \varepsilon_{t}, \varepsilon _{t} \sim N(0,1), t=1,\ldots, 100, x_0=0 の意味.

この x 系列と y 系列で相関係数を計算してみよう.

> cor(x,y)
[1] -0.3813307

-0.38と弱い負の相関だ.

ただし相関係数の検定,

  • 帰無仮説:相関係数=0
  • 対立仮説:相関係数≠0

をやると,

> cor.test(x,y)

	Pearson's product-moment correlation

data:  x and y
t = -4.0835, df = 98, p-value = 9.065e-05
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.5374907 -0.1998840
sample estimates:
       cor 
-0.3813307 

「p-value = 9.065e-05」と p 値は十分低く, 0.1%水準で有意
9.065\times10^{-5} < 0.001
になった.

また, y の x への線形単回帰分析を行い, x の回帰係数の検定

  • 帰無仮説:x にかかる係数=0
  • 対立仮説:x にかかる係数≠0

を行うと,

> summary(lm(y~x))

Call:
lm(formula = y ~ x)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.6487 -2.0423  0.0419  1.6703  5.6511 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  4.56577    0.50650   9.014 1.66e-14 ***
x           -0.29697    0.07272  -4.084 9.06e-05 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.721 on 98 degrees of freedom
Multiple R-squared:  0.1454,	Adjusted R-squared:  0.1367 
F-statistic: 16.68 on 1 and 98 DF,  p-value: 9.065e-05

「9.06e-05 ***」とやはり0.1%水準で有意になっている.

せっかくなのでここで数理統計の復習.
「y の x への回帰」曲線とは, 確率変数 X, Y があったとき, X=x という情報を使った Y の期待値, すなわち任意の x に対する条件付き期待値 E(Y|X=x) に他ならない.

「y の x への回帰」が直線の場合,
 \displaystyle E(Y|X=x) =\mu _Y + \rho \frac{\sigma_Y}{\sigma _X}(x-\mu_X)
ρ は相関係数)なので,

相関係数が 0 でない ⇒ 回帰係数が 0 でない

という関係が成立することを思い出しておく.

さて, このようなシミュレーションを for 文で 1万回まわしてみる.

res <- matrix(0,ncol=3,nrow=10000)
colnames(res)<- c("p_reg","p_cor","cor")

for(i in 1:10000){
  y <- cumsum(rnorm(100))
  reg <-lm(y ~ x)
  res_reg <- summary(reg)
  res[i,1] <- res_reg$coefficients[2,4]
  res_cor <- cor.test(x, y)
  res[i,2] <- res_cor$p.value
  res[i,3] <- res_cor$estimate  
}

結果, 相関係数の検定の回帰係数の検定をして, 5%有意になった割合は,

> sum(res[,1] < 0.05)/10000
[1] 0.8719
> sum(res[,2] < 0.05)/10000
[1] 0.8719

どちらも 8割を超えた.
これが見せかけの回帰だ.

高橋洋一を擁護してみる

時系列データの相関係数はあてにならない: ニュースの社会科学的な裏側 が批判したのは
この記事だ→「株安でアベノミクスは頓挫した」と、1割の可能性にBETする危ない橋を渡る人たち / 高橋洋一氏インタビュー | SYNODOS -シノドス-.

高橋は「相関係数が+0.91ということは、現実の、現在の日本では、マネタリーベースの増加率と予想インフレ率の上昇率のあいだには、かなり強い関連性があるということです。」と述べている.

先ほどのシミュレーションで相関係数の絶対値が0.9を超える割合を見ると,

> sum(abs(res[,3]) > .9)/10000
[1] 0.0236

2.36%だった.

相関係数のシミュレーション結果はこんな感じ.

箱ひげ図:
f:id:abrahamcow:20140911023230p:plain

ヒストグラム
f:id:abrahamcow:20140911024129p:plain

へーこんな分布になるんだ. まったく知らなかった.
絶対値が 0.9 のところに線を引いてある.

この結果から, 時系列データでも, 相関係数が +0.91 というのはかなりレアケース, 十分意味があると考えていいんじゃないかと思うんだけど, どうだろう?

もっとも, 「マネタリーベースの増加率と予想インフレ率の上昇率のあいだ」の関連性が擬似相関かどうかは議論が分かれるかもしれない.

別のトレンドに従って高い相関が出てるのかもしれない.

でもぼくには 「株安でアベノミクスは頓挫した」と、1割の可能性にBETする危ない橋を渡る人たち / 高橋洋一氏インタビュー | SYNODOS -シノドス- | ページ 2 のモデルは十分自然な解釈に見えるんだけど, どうかな?

ちなみに, 同じブログで同記事を批判した
ベイジアンな相関係数は確率! by 高橋洋一: ニュースの社会科学的な裏側
というエントリもある.

相関係数と確率が別ものというのはまったくその通り.

でも高橋は 「株安でアベノミクスは頓挫した」と、1割の可能性にBETする危ない橋を渡る人たち / 高橋洋一氏インタビュー | SYNODOS -シノドス- で, 「実際の相関係数からは9割方は説明できるということになっています。」など, 「説明できる」「割合」とかの言葉を使っていて, 「確率」とは言ってないんだよね.

これは高橋洋一の間違いというよりシノドス編集部の見出しがまちがってるんじゃないかな?

データをくれ

今までシミュレーションをもとに議論(っていうか質問)してきた.

時系列分析としてはVAR/VECMが定番だが、単位根が無くなるまで階差をとる事が行われる。

時系列データの相関係数はあてにならない: ニュースの社会科学的な裏側

うん. じゃあ実際のデータでそれをやってみましょう……と思ったんだが, データが見つからないのだ.

データをお持ちのかた, 試してみてください.

当方リフレ派につき

なにを隠そう, ぼくはリフレ派なので, 高橋洋一の議論が正しいと思いたい気持ちがある.
なのでだれか公平な第三者にジャッジして欲しいところ.
よろしくお願いします.

参考文献

入門・演習 数理統計

入門・演習 数理統計

Rによる時系列分析入門

Rによる時系列分析入門

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

付録:図のコード

#nihongo()
boxplot(res[,3],main="相関係数")
abline(h=0.9,lty=2)
abline(h=-0.9,lty=2)
#
hist(res[,3],main="", breaks="scott", xlab="相関係数")
abline(v=0.9,col="red4", lwd=2)
abline(v=-0.9,col="red4", lwd=2)

追記

2 個の時系列データの相関を考えるときは... - 裏 RjpWiki
こういう場合は偏相関係数を使えばいいとのこと. ※追記 3 も見よ。
なるほど. ありがとうございます.

高橋洋一の記事はどうなるのかな? 偏相関係数つかって再計算すべし, ということ?

ちなみに「私のコメントが気に触ることが多いようなのですが」とありますが, ご教示感謝しております.

ありがとうございます. 態度が悪くてすみません. 直していきたいです.

さらに追記

2 個の時系列データの相関を考えるときは...(その2) - 裏 RjpWiki

グラフから読み取ったデータで計算してみた結果, 偏相関係数は弱い負の相関を示し, 有意でもないとのこと.

だめだめじゃん. 残念.

お手数おかけしました. 誠にありがとうございます.

追記 3(2014年11月3日)

まさかの奥村先生参戦. ありがとうございます.
偏相関係数

  • 時系列(ランダムウォーク)データの「見せかけの回帰」(spurious regression)は, 時間の(線形な)影響を引き去った偏相関係数を使っても, 依然として存在する
  • ランダムウォークするデータどうしで相関係数が有意なとき, 偏相関係数にすることによって有意でなくすことができる場合もある.しかしその逆もある

じゃあけっきょく 2個の時系列データどうしの関係を調べるときはどうしたらいいのか? 
いま勉強中. ちょっと待ってくれ.

補足. 奥村先生のページには『こういう場合には,「時間」t = 1:100 の影響を引いた偏相関係数を使えばよい(?)』とあるが, 裏 RjpWiki はそう主張していない.

2 個の時系列データの相関を考えるときは... - 裏 RjpWiki には、『「これは「見せかけの相関(擬似相関;spurious correlation)」の例だ」ということならば,偏相関係数を考えればよいのではないでしょうかね??』とある.

裏 RjpWiki は「擬似相関」の影響を除くためには, 偏相関係数を使えばいい, と言っている.

で, 裏 RjpWiki が引用した『これは「見せかけの相関(擬似相関;spurious correlation)」の例だ』というぼくの一文は, 時系列データの相関係数はあてにならない: ニュースの社会科学的な裏側 のシミュレーションが, 見せかけの相関の例にはなっていても, 見せかけの回帰の例にはなっていない, という指摘だ.

つまり,

  • 裏 RjpWiki はぼくが見せかけの相関の話をしていると誤解して, 偏相関係数を提案した
  • ぼくはそれをさらに, 見せかけの回帰にも適用できると誤解して, 「こういう場合は偏相関係数を使えばいいとのこと」と書いた

という状況.

追記 4(2014年12月9日)

2個の時系列データどうしの関係を調べるときはどうしたらいいのか? という問いに対して、自分で説明を書こうかと思っていたが、時間と体力の関係上、他者にゆずることにした。

時系列分析としてはVAR/VECMが定番だが、単位根が無くなるまで階差をとる事が行われる。

時系列データの相関係数はあてにならない: ニュースの社会科学的な裏側

という指摘は基本的に正しいものと思われます。

見せかけの回帰について(そして単位根過程・共和分など) - 銀座で働くデータサイエンティストのブログ
および、

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

を参照されたし。

追記 5(2014年12月29日)

かんたんなシミュレーションをもう一個やってみた.

まず, 独立な同分布からのランダム標本どうし相関係数をとるとこんな分布(正規分布?)になる.

par(mgp=c(2,0.8,0))
rho0 = replicate(10000, {
  x = rnorm(100)
  y = rnorm(100)
  cor(x, y)
})
#nihongo()
hist(rho0,xlab="相関係数" ,main="")

f:id:abrahamcow:20141229045037p:plain

そして, 高橋が問題にしていたのはマネタリーベースと BEI の関係だ.

BEI は,
BEI = (R-r) /(1+r)
と定義される比率なので, ランダムウォークとはちょっと異なる.

ここで,

  • R:名目イールド(複利)
  • r:実質イールド(複利)

R と r をそれぞれ独立なランダムウォーク系列として(本当は独立ではないが)乱数を生成してみるとこんな風だ.

set.seed(1)
x <- cumsum(rnorm(100)) #マネタリーベースもどき
set.seed(2)
R <- cumsum(rnorm(100)) #名目イールドもどき
set.seed(3)
r <- cumsum(rnorm(100))
y <- (R-r)/1+r #BEIもどき

par(mfrow=c(2,1))
#nihongo()
plot.ts(x, col="blue3", lwd=2, ylab="マネタリーベースもどき")
plot.ts(y,col="orange2", lwd=2, ylab="BEIもどき")

f:id:abrahamcow:20141229044235p:plain

一万回のシミュレーションを回して, 相関係数の分布と, 相関係数の検定をした際の p 値を見てみる.

rho <- c()
p_val <-c()
for(i in 1:10000){
  x <- cumsum(rnorm(100))
  R <- cumsum(rnorm(100))
  r <- cumsum(rnorm(100))
  y <- (R-r)/1+r
  rho[i] <-cor(x,y)
  p_val[i] <- cor.test(x, y)$p.value
}
hist(rho,main="",xlab="相関係数")
hist(p_val,main="",xlab="p 値")

f:id:abrahamcow:20141229045822p:plain

f:id:abrahamcow:20141229045841p:plain

相関係数の分布の形状はランダム・ウォークどうしのときとはだいぶ異なるが, やはり比較的高い値がでやすい.

相関係数の検定結果が有意になりやすいのは同様.