2016年12月26日月曜日

2変量の扱い plot cor

10人の生徒がいるとします。この10人の国語の点数は順に 46 44 45 52 32 52 36 40 43 54 点、数学の点数は順に 33 38 68 48 38 37 52 29 60 67 です。
それぞれ変数x,yに格納します。

> x=c(46,44,45,52,32,52,36,40,43,54)
> y=c(33,38,68,48,38,37,52,29,60,67)
散布図を描くには plot 関数を使います。
> plot(x,y)


国語ができる人は数学もできるという傾向があるでしょうか。

このような2変量の関係を相関といいます。相関を数値で調べるには相関係数を計算するのが一般的です。相関係数を計算する関数は cor です。相関係数は英語では Correlation coefficient といいます。
> cor(x,y)
[1] 0.2722588

相関係数の計算方法を紹介します。

まず、 xとyの共分散sxyとは、 x と y の偏差の積の平均です。言い換えると、「各人の国語の点数から国語の平均を引いたもの(国語の偏差)」と「各人の数学の点数から数学の平均を引いたもの(数学の偏差)」の積の平均です。 なお、共分散を求めるには、分散を求める関数と同じ var を用います。
> var(x,y)
[1] 27.55556

x と y の相関係数 r とは x と y の共分散 sxy を、x と y の標準偏差の積で割ったものです。式でいえば、sxy/(sx・sy) です。ただし、sx、syはx、yの標準偏差です。

> var(x,y)/(sd(x)*sd(y))
[1] 0.2722588
相関係数はー1以上1以下の値をとります。1に近いときは正の相関、-1に近いときは負の相関があるといい、1やー1に近いときは強い相関、0に近いときは弱い相関あるいは相関がないといいます。 この例ではあまり相関はなさそうです。

相関係数の計算で、分母、分子ともに平均をとっているので、どちらも平均の代わりに合計にしても同じになります。
分子は、偏差の積の総和、分母は偏差の平方の総和のルートの積です。
次のようになります。
> hx=x-mean(x)
> hy=y-mean(y)
> Sxy=sum(hx*hy)
> Sx=sqrt(sum(hx^2))
> Sy=sqrt(sum(hy^2))
> Sxy/(Sx*Sy)
[1] 0.2722588
hx、hyは偏差です。
Sxyは偏差の積の総和です。
Sx、Syは偏差平方の和のルートです。
最後の値が相関係数です。

0 件のコメント:

コメントを投稿