[株式会社 NTTデータ数理システム]

第2章 統計資料の整理


2.3 回帰と相関(1)

前節までは、観測対象について1つの変数(属性)の代表値や散布度などを求めましたが、次に2つの変数の関係を考えてみましょう。

(x1,y1),(x2,y2),・・・(xn,yn)

このとき、第1の変数 xi と第2の変数 yi について、それぞれ代表値、散布度などを調べるときの他に、 xi が増加するとき yiも増加するか、減少するか、または無関係か、などを調べることが新しく問題となります。

例えば、消費支出と収入とか、販売実績と平均所得、または各種の実験データについて、2変量間に関係があるかどうか、また一方の値を定めたとき他方の値はどのように変化するのかを検証することは、統計学の重要な課題です。

この2つの変数の間の関係を定量的にとらえる方法として次の二通りの方法があります。

  1. 2種の変量の関係の深さ、濃さを一つの数値で表す (相関
  2. 2種の変量のうち、一方の値を定めたときの他方の値を推定 (回帰

(1) 相関

次の資料は、ある自動車に対しブレーキをかける直前の速度とブレーキ距離との関係です。

表2.4

実験回数:n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
速度(km/h):x 16.0 28.8 36.2 28.8 19.2 14.4 16.0 24.0 22.4 32.0 38.4 38.4 6.4 11.2 27.2 22.4
距離(m):y 7.8 16.8 19.8 25.2 8.4 3.0 10.2 6.0 24.0 9.6 36.0 27.6 0.6 1.2 15.0 10.8
実験回数:n 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
速度(km/h):x 19.2 17.6 32.0 24.0 11.2 20.8 24.0 30.4 12.8 6.4 19.2 32.0 36.8 28.8 19.2 25.6
距離(m):y 6.0 8.4 14.4 16.2 12.0 10.2 7.8 20.4 4.8 3.0 4.2 16.8 16.2 22.9 7.2 9.6
実験回数:n 33 34 35 36 37 38 39 40 41 42 43 44 45 46
速度(km/h):x 28.8 30.4 38.4 22.4 38.4 40.0 32.0 30.4 20.8 16.0 11.2 25.6 22.4 32.0
距離(m):y 12.6 16.8 27.9 7.8 21.0 25.5 19.2 10.8 7.8 5.4 6.6 12.0 18.0 15.6
(i) 散布図

資料の状態を直感的に見るために、x座標、y座標の平面上に速度と距離をプロットしたものを散布図といいます

(例題 2.11) 表2.4の速度とブレーキ距離の散布図を描く

> win.graph()
> plot(x,y,pch="*")

散布図が図2.5のような場合を正の相関といい、図2.6のようにxが増加するときyが減少する場合を負の相関、x,yの増減がなんの関係もない場合を無相関といい、図2.7のようになります。

(図2.5) (図2.6) (図2.7)
(ii) 相関係数

n個の資料を(x1,y1),(x2,y2),・・・(xn,yn)としたとき、xの平均、分散をMxσx2とし、yの平均、分散をMσy2とすれば、

Xi = (xi - Mx)/σx
Yi = (yi - My)/σy

により、X、Yは平均0、分散1となり尺度に無関係になります。この変換をデータの標準化(正規化)といいます。

ここで、

ΣXi2
= {(x1 - Mx)2 + (x2 - Mx)2 + ・・・ + (xn - Mx)2} /σx2
= Σ(xi - Mx)2
= (Σxi2 - 2ΣxiMx +ΣMx2) /σx2
= (Σxi2 - 2ΣMx 2+ΣMx2) /σx2
= (Σxi2 - ΣMx2) /σx2
= (Σxi2 - nMx2) /σx2

なお、分散は

σx2 = (1/n) Σ(xi -Mx)2 = (1/n) (Σxi2 - Mx2)

から

ΣXi2 = (Σxi2 - nMx2) / { (1/n) (Σxi2 - Mx2)} = n

同様に ΣYi2 = n となります。

さて、「例題2.9」で使用しました標本分散のS言語による式は少し長すぎますのでユーザ関数 bun(x) を次のように定義します。

> bun <- function(x) sum((x-mean(x))^2)/length(x)

表2.2のデータを使って「例題2.9」の分散を計算しましょう。

> bun(x1)
[1] 96.36
> bun(x2)
[1] 431.12
(例題 2.12) 表2.4のデータから速度とブレーキ距離の平均、標準偏差を計算しデータの標準化後の平均、分散が0,1であることを確認する
> mean(x - mean(x))
[1] 7.414359e-015
> bun((x - mean(x))/sqrt(bun(x)))
[1] 1
> mean(y - mean(y))
[1] -4.24781e-016
> bun((y - mean(y))/sqrt(bun(y)))
[1] 1

#(NTTデータ数理システム注)上記のmeanの場合、計算機誤差のため完全に0にはなっていません。

つぎに、標準化したデータ X , Y について

{(X1 - Y1)2 + (X2 - Y2)2 + ・・・ + (Xn - Yn)2} / n

を考える時、Xi , Yi の増減の度合いが完全に一致すれば上式は0となり、違いが大きくなれば値も大きくなります。さらに、増減が正反対になれば最も大きな値になります。しかも、この値は標準化されているため原点と尺度に無関係に決まるので相関の度合いを表す一つの量になります。

ここで、 ΣXi2 = ΣYi2 = n を用いて式を変形すると

(1/n) Σ(Xi - Yi)2 = (1/n) Σ(Xi2 - 2XiYi + Yi2) = 2 - (2/n)ΣXiYi

となります。このことから、 (1/n)ΣXiYi もまた相関の度合いを表す量となります。これが最も広く用いられている相関係数(Correlation)です。

標準化まえの変数で表すと、次のようになります。

r = (1/n)Σ{(xi - Mx)(yi - My)/(σxσy)} = Cov(x,y)/(σxσy)

ここで、 Cov(x,y) = (1/n)Σ{(xi - Mx)(yi - My)} を共分散(Covariance)といいます。

(例題 2.13) 表2.4のデータから速度とブレーキの相関係数を計算する

> cor(x,y)
[1] 0.7998156

上例では速度とブレーキ距離の相関係数が約0.8と出ましたが、この値をどう判断するかは検定によって定まります。ここでは、おおよその目安として次の値を用います。

データの個数nが10個未満のときは 判断は危険です。
nが 10 〜 20 のときは rは 0.5 以上
nが 20 〜 30 のときは rは 0.4 以上
nが 30 〜 50 のときは rは 0.3 以上
nが 50 〜 100 のときは rは 0.25 以上
nが 100 を超えるときは rは 0.2 以上

あれば、相関があるといえそうです。したがって、速度とブレーキは相関が高いといえます。

次ページへ進む 前ページへ戻る 目次へ

(C) 中村 健二郎 1997

----------------------------------------------------------------

ご感想の宛先は、株式会社 NTTデータ数理システム《S-PLUS》グループ <splus-info@ml.msi.co.jp>