■相関係数と回帰直線(JavaScript版)

 相関係数:R(correlation coefficient)は2つの変数間の相関すなわち類似性を示す指標で、-1から+1までの値です。 この値が正のときは「正の相関」、負のときは「負の相関」があると呼びます。 相関係数が0に近いときは2つの変数間の相関は弱いことになります。

 両者の関係を直線で近似したものを回帰直線と呼び、
  ・xからyへの回帰直線: y = a1*x + b1
  ・yからxへの回帰直線: x = a2*y + b2
があります。
 両回帰直線はともに平均点(xm, ym)を通ります。

 2変数間の相関の程度を表すもう1つの指標に決定係数:R2があります。
  R2 = 1 - 残差2乗和/被説明変数の全変動
    = 1 - Σ[yi - (a1・xi + b1)]2/Σ(yi - ym)2 (xからyへの回帰直線の場合)

 相関係数:Rと決定係数:R2の間には、
  R2 = R x R
の関係があります(後述)。

 下の画面にデータを打ち込んで下さい。相関係数、決定係数、回帰直線が表示されます。

データ数 n: 相関係数 R: 決定係数 R2:


●相関係数:R および回帰直線の計算式
・データを(x1,y1), (x2,y2), .., (xn,yn) とする。
・平均
  xm = Σxi/n
  ym = Σyi/n
・分散、標準偏差
  xの標準偏差 sx = sqrt[Σ(xi-xm)2/n]  (注)sqrt: 平方根を表す
  yの標準偏差 sy = sqrt[Σ(yi-ym)2/n]
  x,yの共分散 sxy = Σ(xi-xm)(yi-ym)/n
・相関係数:R
  R = sxy/(sx・sy)
・xからyへの回帰直線: y = a1*x + b1
  a1 = sxy/sx2
  b1 = ym - a1・xm
・yからxへの回帰直線: x = a2*y + b2 [ -> y = (1/a2)x - (b2/a2) ]
  a2 = sxy/sy2
  b2 = xm - a2・ym

●相関係数:R と 決定係数:R2 の関係
 xからyへの回帰直線の場合について記すが、yからxへの回帰直線でも同じ結果となる。
・残差2乗和(RSS:Residual Sum of Squares)
  RSS = Σ[yi- (a1・xi+b1)]2
      = Σ[yi- (sxy/sx2・xi + ym - sxy/sx2・xm)]2
      = Σ[(yi-ym) - sxy/sx2・(xi-xm)]2
      = Σ(yi-ym)2 - 2・sxy/sx2Σ(xi-xm)(yi-ym) + (sxy/sx2)2Σ(xi-xm)2
    = n・ sy2 - 2・n・(sxy/sx)2 + n・(sxy/sx)2 
    = n・ sy2 - n・(sxy/sx)2
・被説明変数(従属変数 y)の全変動
  DY2 = Σ(yi-ym)2
      = n・ sy2
・決定係数:R2
  R2 = 1 - RSS/DY2
     = 1 - [n・ sy2 - n・(sxy/sx)2] / [n・ sy2]
     = n・(sxy/sx)2] / [n・ sy2]
     =(sxy/sx)2] / sy2
     =[sxy/(sx・sy)]2
     =R2
ホーム