R言語を使いWeb教材「アイスクリーム屋さんで学ぶ楽しい統計学」1の「相関係数」について進めていきます(第2回)。
相関の強さ
- この店の9月における客数と気温のデータを散布図を描く。
> この店の最高気温<-c(29,29,30,32,33,32,31,26,28,31)
> この店の客数<-c(326,364,283,369,417,436,438,296,263,389)
> plot(この店の最高気温,この店の客数)

X店の9月における客数と気温のデータを散布図を描く。
> X店の最高気温<-c(29,30,29,32,33,27,28,32,34,32)
> X店の客数<-c(312,348,284,369,420,275,294,368,451,405)
> plot(X店の最高気温,X店の客数)

どちらの散布図も右上がりの「正の相関」であるが、X店の方がシャープで、この店の散布図は、ばらけている。
それを数字にする。
相関係数
この店の相関係数を求める
- この店の共分散
> この店の共分散<-mean((この店の最高気温-mean(この店の最高気温))*(この店の客数-mean(この店の客数)))
> この店の共分散
[1] 92.99
- この店の相関係数
> この店の相関係数<-この店の共分散/(sqrt(mean((この店の最高気温-mean(この店の最高気温))^2))*sqrt(mean((この店の客数-mean(この店の客数))^2)))
> この店の相関係数
[1] 0.7600265
X店の相関係数を求める
> X店の共分散<-cov(X店の最高気温,X店の客数)*(length(X店の最高気温)-1)/length(X店の最高気温)
> X店の共分散
[1] 122.34
> X店の相関係数<-X店の共分散/((sd(X店の最高気温)*sd(X店の客数))*(length(X店の最高気温)-1)/length(X店の最高気温))
> X店の相関係数
[1] 0.9635381
cov()は不偏共分散、sd()不偏分散の関数なので、相関係数を求める場合には上のようにn-1で割ったものからnで割ったものに変換する必要はない。
> cov(X店の最高気温,X店の客数)/(sd(X店の最高気温)*sd(X店の客数))
[1] 0.9635381
Rの関数cor()では相関係数を一発で求めることも可能である。
> cor(X店の最高気温,X店の客数)
[1] 0.9635381
(応用編)相関の強さ
> 駅からの距離<-c(10,1200,500,50,740,30,10,360,150,930,620,65)
> 平均客数<-c(795,213,465,694,403,782,769,561,692,361,385,723)
> cor(駅からの距離,平均客数)
[1] -0.9795221
相関の強さ
相関係数を言葉で形容するときは、慣例で次のような言い回しが使われている。
±0.7~±1.0 | 強い相関がある |
±0.4~±0.7
| 中程度の相関がある |
±0.2~±0.4
| 弱い相関がある |
±0~±0.2
| ほとんど相関がない |
したがって今回の-0.98は「非常に強い負の相関」があるという結論になる。
- web教材「アイスクリーム屋さんで学ぶ楽しい統計学」第2章 相関係数 http://kogolab.chillout.jp/elearn/icecream/chap2/sec0.html