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

ソフトウェアの品質、テストなどについて学んだことを記録するブログです。旧ブログからゆっくり移行中です。http://blog.livedoor.jp/prjmng/

『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に期待!

関連リンク