ソフトウェアの品質を学びまくる

ソフトウェアの品質、ソフトウェアテストなどについて学んだことを記録するブログです。

『R』勉強会 第2回は、相関分析など - その2

 その1ではずれ値を外してあらためて散布図を描くと、「直線に乗ってるっぽい」結果になりました。

相関係数と最小二乗直線

 では、x と y の相関の程度を表す相関係数を求めてみましょう。
 直接コマンドを叩くのが速いです。相関係数(coefficient of correlation)を求めるための関数は、cor
> cor(Ans03)
x y
x 1.0000000 0.8182021
y 0.8182021 1.0000000
 行列形式で表示されるので、3変数以上あるときに、すべての変数の組み合わせで、相関係数を見られますね。
 x と y の相関係数は、約0.82とわかりました。
 なお、メニューからは、[統計量] - [要約] - [相関の検定] を選択すると、次のようになります。最後の行に、相関係数が。
> cor.test(Dataset$x, Dataset$y, alternative="two.sided", method="pearson")
(一部省略)
data: Dataset$x and Dataset$y
t = 9.226, df = 42, p-value = 1.175e-11
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.6887272 0.8972089
sample estimates:
cor
0.8182918
 相関係数の書かれた最後の行以外は、検定に関する記述なので、ここでは立ち入[りれ]ませんが、「相関がない(相関係数がゼロである)という帰無仮説を棄却し、相関はある、という対立仮説が採択された」ということになるようです。「偶然のバラツキとは思えないほど相関があるように見える」ってことですね。

色んな散布の相関係数

 その1で、4つに層別した散布図を見ました。それぞれ特徴のある分布でしたが、これら4つの相関係数はどうなっているでしょう。
  • 散布図a: 0.8190929
  • 散布図b: 0.8149266
  • 散布図c: 0.8182021
  • 散布図d: 0.8210140
 そう、これだけ多様な散らばりなのに、相関係数はほとんど同じ。最小二乗直線を見ても、

1-1_06f3f81b

 わかりづらいですが、右肩上がりの直線でみんな重なっています。相関係数も最小二乗直線も、線形的な関係がどのくらいあるかということを表現しているので、緑△のような二次曲線っぽさは無視されてしまうし、水色×のように一見垂直のように見えても、右上のはずれ値に思い切り引きづられてしまうんですね。

最小二乗直線の注意点

 最小二乗直線を求めるには、[統計量] - [モデルへの適合] - [線形回帰] 。こんなダイアログが出ます。

1-2_91d44279

 ここで注意。このダイアログでは、目的変数が左、説明変数が右に配置されています。通常グラフで縦軸になる方が、目的変数。散布図を描くダイアログと逆です。
 「といっても、y = a*x + b への当てはめなんだから、x と y を逆したところで、x = (1/a)*y - b/a に変換すればいいだけでは?」と思ったら負けです。最小二乗直線を求める算出式では、目的変数と説明変数は対照ではないのです。
 最初の散布図の、水色×の散布図で、それを確認してみます。下図の左側が、y を目的変数、x を説明変数としたグラフで、右側がその逆のグラフを回転・反転させたものです。傾きが全然違っていますね。

1-3_8594c96e

 次の第3回は、12/18の予定。第9話・確率と、第10話・確率変数 が対象となりますが、わたしはWACATE2011冬に参加予定のため、残念ながら出席できません。どなたかのつぶやき&togetterに期待!

関連リンク