こにしき(言葉・日本社会・教育)

関西学院大学(2016.04~)の寺沢拓敬のブログです(専門:言語社会学)。

自分用メモ、相関係数の信頼区間

じつは(というほどのこともないが)、相関係数(Pearson's product-moment correlation)の信頼区間の算出方法をよく理解していなかったので勉強した。いままではR標準の cor.test() に頼ってました。

このページを参考にさせてもらった。母相関の検定と推定

数理的な話は理解していないが、rをフィッシャーのZ変換zに変換したうえで、正規分布に基いて計算するという手続きのようだ。

> #ある程度相関のあるデータ (n=1000)を生成
> x <- rnorm(1000)
> y <- rnorm(1000)+x
> plot(x,y,cex=.2);abline(lm(y~x),col=2)
> 
> r <- cor(x,y)
> z <- (1/2)*log((1+r)/(1-r))
> n <- length(x)
> zz.min <- z-(1.96/sqrt(n-3))
> zz.max <- z+(1.96/sqrt(n-3))
> 
> #逆変換
> r.min <- (exp(2*zz.min)-1)/(exp(2*zz.min)+1)
> r.max <- (exp(2*zz.max)-1)/(exp(2*zz.max)+1)
> 
> #出力
> r.min
[1] 0.6870705
> r.max
[1] 0.7471768
> #比較用
> cor.test(x,y)

        Pearson's product-moment correlation

data:  x and y 
t = 32.631, df = 998, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0 
95 percent confidence interval:
 0.6870711 0.7471763 
sample estimates:
      cor 
0.7184622