統計2級第 3 章約 13 分図 8 点

2変数の関係:相関係数と回帰直線

2つの量の関係を、散布図・共分散・相関係数で表し、最小二乗法で回帰直線を引く。相関係数が −1 から 1 に収まる理由、回帰直線の傾きの式、決定係数が相関係数の2乗になる理由を、平方完成だけで導く。

この章の到達目標

  • 共分散の符号の意味を散布図の4つの象限で説明し、共分散と相関係数を計算できる
  • 相関係数が −1 以上 1 以下になる理由を、標準化した変数を使って説明できる
  • 相関があることと因果関係があることの違いを、交絡の具体例で説明できる
  • 最小二乗法から回帰直線の傾きと切片の式を導き、予測値と決定係数を計算できる
  • y の x への回帰直線と x の y への回帰直線が異なる理由を説明できる

前提データの要約:代表値と散らばり

目次
  1. 散布図
  2. 共分散
  3. 偏差の積の符号
  4. 相関係数
  5. なぜ −1 から 1 の間に収まるのか
  6. 相関と因果
  7. 回帰直線:最小二乗法
  8. 残差と最小二乗法
  9. 切片:直線は平均の点を通る
  10. 傾き:平方完成で決める
  11. 決定係数
  12. 回帰の向き
  13. 章末問題

前の2章では、1つの量の分布を要約しました。 この章では、身長と体重、勉強時間と得点のように、2つの量の関係を扱います。

問いは2つあります。 「2つの量はどのくらい強く連動しているか」と、 「一方の値から他方の値をどう予測するか」です。 前者に答えるのが相関係数、後者に答えるのが回帰直線です。 どちらも第1章の偏差と分散の考え方をそのまま2変数に広げたものです。

散布図

nn 組のデータ (x1,y1),(x2,y2),…,(xn,yn)(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n) を平面上の点として描いた図を散布図と呼びます。

散布図で見るべきことは次の3つです。

  • 向き … 右上がり(一方が大きいと他方も大きい)なら正の相関、右下がりなら負の相関
  • 強さ … 点が直線の近くに集まっているほど強い
  • 形 … 直線的か、曲がっているか。外れた点はないか

数値で要約する前に、必ず散布図を描いて形を確かめてください。 この章で扱う指標はすべて「直線的な関係」を測るもので、曲線的な関係は正しく表せないからです。

共分散

偏差の積の符号

各点について、xx の偏差 xi−xˉx_i - \bar{x} と yy の偏差 yi−yˉy_i - \bar{y} の積を考えます。 散布図を点 (xˉ,yˉ)(\bar{x}, \bar{y}) を通る縦線と横線で4つの領域に分けると、積の符号は領域で決まります。

右上:(+)×(+)= 正左上:(−)×(+)= 負左下:(−)×(−)= 正右下:(+)×(−)= 負x̄ȳxy
図 1平均の位置で散布図を4つに分ける。右上と左下の点は偏差の積が正、左上と右下の点は負になる。右上がりの散布図では正の点が多く、共分散は正になる。

右上がりの散布図では、右上と左下の点が多く、正の積が多数を占めます。 右下がりなら逆に負の積が多くなります。はっきりした傾向がなければ、正と負が打ち消し合います。 そこで、偏差の積を平均したものを関係の向きの指標にします。

sxy=1n∑i=1n(xi−xˉ)(yi−yˉ)s_{xy} = \frac{1}{n}\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})
共分散

yy を xx に置き換えると sxx=1n∑(xi−xˉ)2=sx2s_{xx} = \frac{1}{n}\sum (x_i - \bar{x})^2 = s_x^2 で、分散に戻ります。 共分散は分散の2変数版です。

分散と同じように展開すると、電卓向きの式が得られます。

sxy=1n∑i=1n(xiyi−yˉ xi−xˉ yi+xˉyˉ)=xy‾−yˉxˉ−xˉyˉ+xˉyˉ=xy‾−xˉ yˉs_{xy} = \frac{1}{n}\sum_{i=1}^{n}\left(x_i y_i - \bar{y}\,x_i - \bar{x}\,y_i + \bar{x}\bar{y}\right) = \overline{xy} - \bar{y}\bar{x} - \bar{x}\bar{y} + \bar{x}\bar{y} = \overline{xy} - \bar{x}\,\bar{y}

「積の平均 − 平均の積」です。分散の「2乗の平均 − 平均の2乗」と同じ形をしています。

相関係数

共分散を、それぞれの標準偏差で割ります。

r=sxysx sy=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2∑(yi−yˉ)2r = \frac{s_{xy}}{s_x\, s_y} = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum (x_i - \bar{x})^2}\sqrt{\sum (y_i - \bar{y})^2}}
相関係数

2つ目の形では分子・分母の 1n\frac{1}{n} が約分されています。 そのため、nn で割っても n−1n-1 で割っても、相関係数の値は同じです。

なぜ −1 から 1 の間に収まるのか

各データを標準化します。

zi=xi−xˉsx,wi=yi−yˉsyz_i = \frac{x_i - \bar{x}}{s_x}, \qquad w_i = \frac{y_i - \bar{y}}{s_y}

第1章で見たとおり、標準化した値は平均 00、分散 11 なので

1n∑i=1nzi2=1,1n∑i=1nwi2=1\frac{1}{n}\sum_{i=1}^{n} z_i^2 = 1, \qquad \frac{1}{n}\sum_{i=1}^{n} w_i^2 = 1

さらに、相関係数は標準化した値どうしの積の平均になっています。

1n∑i=1nziwi=1n∑i=1n(xi−xˉ)(yi−yˉ)sxsy=sxysxsy=r\frac{1}{n}\sum_{i=1}^{n} z_i w_i = \frac{1}{n}\sum_{i=1}^{n}\frac{(x_i - \bar{x})(y_i - \bar{y})}{s_x s_y} = \frac{s_{xy}}{s_x s_y} = r

ここで、2乗の和は 00 以上であることを使います。

0≤1n∑i=1n(zi−wi)2=1n∑zi2−2n∑ziwi+1n∑wi2=1−2r+1=2(1−r)0 \le \frac{1}{n}\sum_{i=1}^{n}(z_i - w_i)^2 = \frac{1}{n}\sum z_i^2 - \frac{2}{n}\sum z_i w_i + \frac{1}{n}\sum w_i^2 = 1 - 2r + 1 = 2(1 - r)

よって r≤1r \le 1。zi−wiz_i - w_i を zi+wiz_i + w_i に替えると同様に 0≤2(1+r)0 \le 2(1 + r) で、r≥−1r \ge -1。

相関係数には単位がありません。 xx を ax+ba x + b(a>0a > 0)と変換しても、標準化した値 ziz_i は変わらないので、rr も変わりません。 m\mathrm{m} で測っても cm\mathrm{cm} で測っても同じ値になります。 (a<0a < 0 なら符号だけが反転します。)

図 2 は、いろいろな大きさの相関係数をもつ散布図の例です。 散布図を見て rr のおおよその値を見積もれるようにしておくと、散布図と相関係数を対応させる問題で役に立ちます。

r = −0.90r = −0.50r = 0.00r = 0.30r = 0.70r = 0.95
図 240点ずつの散布図と、描いた点の座標から計算した相関係数。|r| が 1 に近いほど点が1本の直線のまわりに細く集まり、0 に近いほど丸く広がること、符号が右上がりか右下がりかを表すことに注目。r = 0.3 程度では、目で見て傾向を言い当てるのはかなり難しい。

図 3 は、上の y=x2y = x^2 の例を偏差の積で見たものです。

−2−112xyȳ = 2積 +1積 +4積 −4積 −1積 0偏差の積の和:(−4) + 1 + 0 + (−1) + 4 = 0 → r = 0
図 3y = x² の5点。y は x から完全に決まるのに、平均の点(0, 2)から見た偏差の積は、左右で正と負が対になって打ち消し合い、和が 0 になることに注目。相関係数は「直線的な」関係しか測らない。

要約の数値がまったく同じでも、散布図がまるで違うことがあります。 図 4 は、統計学者アンスコムが1973年の論文で示した4組のデータです。

51015204812Iほぼ直線+ばらつき51015204812IIきれいな曲線51015204812III直線+外れ値1個51015204812IV1点だけで決まる傾き4組とも x̄ = 9、ȳ ≈ 7.50、x の分散 10、y の分散 ≈ 3.75、r ≈ 0.816、回帰直線 ŷ ≈ 3 + 0.5x
図 4アンスコムの例(F. J. Anscombe, 1973)。4組のデータは平均・分散・相関係数・回帰直線がそろって同じなのに、散布図の形はまったく違うことに注目。要約の数値だけで判断せず、必ず散布図を描いて確かめる理由がここにある。分散は n で割った値(n − 1 で割ると x は 11、y は約 4.12)。

相関と因果

相関係数が大きくても、「一方が他方の原因である」とは言えません。

夏には、アイスクリームの売上も水難事故の件数も増えます。 日ごとのデータをとれば両者には正の相関が出ますが、アイスを食べると溺れるわけではありません。 気温という第3の要因が、両方を同時に増やしています。 このように、2つの量の両方に影響して見かけの相関を生む要因を交絡因子(交絡変数)と呼び、 その結果として現れる相関を見かけの相関(擬似相関)と言います。 図 5 に、この関係を矢印で示します。

気温交絡因子(両方を増やす)暑いほど増える暑いほど増えるアイスの売上水難事故の件数相関直接の因果はない(見かけの相関)
図 5アイスの売上と水難事故に相関が出るしくみ。矢印(因果)は気温から両方へ向かっていて、下の2つのあいだには矢印がないことに注目。気温をそろえて比べれば、見かけの相関はほとんど消えるはずである。

回帰直線:最小二乗法

相関係数は関係の強さを表しますが、xx から yy を予測する式は与えません。 そこで、散布図に直線 y=a+bxy = a + bx を当てはめます。

残差と最小二乗法

直線から予測される値 y^i=a+bxi\hat{y}_i = a + b x_i と実際の値 yiy_i の差を残差と呼びます。

ei=yi−(a+bxi)e_i = y_i - (a + b x_i)

残差は正にも負にもなるので、第1章の分散と同じく2乗して合計し、 それが最小になる aa、bb を選びます。これを最小二乗法と呼びます。

S(a,b)=∑i=1n(yi−a−bxi)2S(a, b) = \sum_{i=1}^{n}\left(y_i - a - b x_i\right)^2

切片:直線は平均の点を通る

まず bb を固定して、aa だけを動かすことを考えます。 ui=yi−bxiu_i = y_i - b x_i とおくと

S=∑i=1n(ui−a)2S = \sum_{i=1}^{n}(u_i - a)^2

これは第1章で扱った「データ uiu_i からの距離の2乗の合計」で、aa が uiu_i の平均のとき最小になりました。

a=uˉ=yˉ−bxˉa = \bar{u} = \bar{y} - b\bar{x}

言い換えると yˉ=a+bxˉ\bar{y} = a + b\bar{x}。回帰直線は必ず平均の点 (xˉ,yˉ)(\bar{x}, \bar{y}) を通ります。

傾き:平方完成で決める

a=yˉ−bxˉa = \bar{y} - b\bar{x} を SS に代入すると

yi−a−bxi=(yi−yˉ)−b(xi−xˉ)y_i - a - b x_i = (y_i - \bar{y}) - b(x_i - \bar{x})

となって、偏差だけの式になります。2乗して足すと

S=∑(yi−yˉ)2−2b∑(xi−xˉ)(yi−yˉ)+b2∑(xi−xˉ)2=n(sy2−2b sxy+b2sx2)S = \sum (y_i - \bar{y})^2 - 2b\sum (x_i - \bar{x})(y_i - \bar{y}) + b^2\sum (x_i - \bar{x})^2 = n\left(s_y^2 - 2b\, s_{xy} + b^2 s_x^2\right)

これは bb の2次式なので、平方完成します。

S=n{sx2(b−sxysx2)2+sy2−sxy2sx2}S = n\left\{ s_x^2\left(b - \frac{s_{xy}}{s_x^2}\right)^2 + s_y^2 - \frac{s_{xy}^2}{s_x^2} \right\}

括弧の中の第1項は 00 以上で、b=sxy/sx2b = s_{xy}/s_x^2 のときだけ 00 になります。これが最小を与える bb です。

y^=a+bx,b=sxysx2=r sysx,a=yˉ−b xˉ\hat{y} = a + bx, \qquad b = \frac{s_{xy}}{s_x^2} = r\,\frac{s_y}{s_x}, \qquad a = \bar{y} - b\,\bar{x}
回帰直線(y の x への回帰)

b=r sy/sxb = r\,s_y/s_x という形は、sxy=r sxsys_{xy} = r\,s_x s_y を代入すれば得られます。 「xx が標準偏差1個ぶん増えると、y^\hat{y} は yy の標準偏差の rr 個ぶん増える」と読めます。

微分を使う方法でも同じ結果になります。 SS を aa と bb でそれぞれ偏微分して 00 とおいた連立方程式(正規方程式)を解くと、上の aa、bb が得られます。

ŷ = 41.5 + 3.75x
図 6点をドラッグして動かせる散布図(空いた所をクリックすると点が増える)。各点の残差を1辺とする正方形を描いてあり、その面積の合計が残差の2乗和 S。回帰直線は S を最小にする直線で、「自分で引いた直線と比べる」を押すと、どう引いても S が回帰直線より小さくならないことを確かめられる。

決定係数

平方完成した式で b=sxy/sx2b = s_{xy}/s_x^2 とすると、第1項が消えて、残差の2乗和の最小値が残ります。

Smin⁡=n(sy2−sxy2sx2)=n sy2(1−sxy2sx2sy2)=n sy2 (1−r2)S_{\min} = n\left(s_y^2 - \frac{s_{xy}^2}{s_x^2}\right) = n\, s_y^2\left(1 - \frac{s_{xy}^2}{s_x^2 s_y^2}\right) = n\, s_y^2\,(1 - r^2)

nsy2=∑(yi−yˉ)2n s_y^2 = \sum (y_i - \bar{y})^2 は、xx を使わずに「全員を平均 yˉ\bar{y} で予測した」ときの2乗誤差の合計です。 回帰直線を使うと、それが (1−r2)(1 - r^2) 倍に減る。 減った割合を決定係数と呼びます。

R2=1−∑(yi−y^i)2∑(yi−yˉ)2=r2R^2 = 1 - \frac{\sum (y_i - \hat{y}_i)^2}{\sum (y_i - \bar{y})^2} = r^2
決定係数

「yy の変動のうち、xx との直線関係で説明できる割合」と読みます。 上の例では r2≈0.9162≈0.840r^2 \approx 0.916^2 \approx 0.840 で、得点のばらつきの約 84%84\% が勉強時間で説明できる、となります。 (検算: 残差は 1.0,3.5,−9.0,3.5,1.01.0, 3.5, -9.0, 3.5, 1.0 で、2乗和は 107.5107.5。1−107.5/670≈0.8401 - 107.5/670 \approx 0.840。)

図 7 は、この検算を図にしたものです。

平均 ȳ = 64 だけで予測246810406080+11+16−14−4−92乗の和 670回帰直線 ŷ = 41.5 + 3.75x で予測246810406080+1+3.5+3.5+1−92乗の和 107.5R² = 1 − 107.5 ÷ 670 ≈ 0.840
図 7例の5人について、平均 64 で予測したときのずれ(左)と、回帰直線で予測したときの残差(右)を縦の線分で描いた。ずれの2乗の和が 670 から 107.5 に減り、減った割合が決定係数 0.840 になることに注目。

R2=r2R^2 = r^2 が成り立つのは、説明変数が1つの単回帰の場合です。 説明変数が複数ある重回帰では、R2R^2 は上の左辺の式で定義します。

回帰の向き

xx から yy を予測する直線と、yy から xx を予測する直線は、一般に別の直線です。

yy から xx を予測する回帰直線(xx の yy への回帰)は、役割を入れ替えて同じ計算をすれば

x^=c+d y,d=sxysy2,c=xˉ−d yˉ\hat{x} = c + d\,y, \qquad d = \frac{s_{xy}}{s_y^2}, \qquad c = \bar{x} - d\,\bar{y}

2つの直線は、どちらも平均の点 (xˉ,yˉ)(\bar{x}, \bar{y}) を通りますが、傾きが違います。 最小にしている量が違うからです。yy の xx への回帰は縦方向の残差を、 xx の yy への回帰は横方向の残差を最小にしています。

y の x への回帰x の y への回帰平均の点
図 8同じ散布図に対する2本の回帰直線。y の x への回帰(実線)は縦方向の、x の y への回帰(破線)は横方向の残差を最小にするので、傾きが異なる。どちらも平均の点を通る。

章末問題

問 1基本共分散と相関係数

次の5組のデータについて答えよ。

xx1122334455
yy2244554455

(1) 共分散 sxys_{xy} を求めよ。 (2) 相関係数 rr を小数第2位まで求めよ。

解答を見る

(1) 平均は xˉ=15/5=3\bar{x} = 15/5 = 3、yˉ=20/5=4\bar{y} = 20/5 = 4。偏差と積は

x−xˉx - \bar{x}−2-2−1-1001122
y−yˉy - \bar{y}−2-200110011
積4400000022
sxy=4+0+0+0+25=65=1.2s_{xy} = \frac{4 + 0 + 0 + 0 + 2}{5} = \frac{6}{5} = 1.2

「積の平均 − 平均の積」でも検算します。∑xy=2+8+15+16+25=66\sum xy = 2 + 8 + 15 + 16 + 25 = 66 なので

sxy=665−3×4=13.2−12=1.2s_{xy} = \frac{66}{5} - 3 \times 4 = 13.2 - 12 = 1.2

(2) 分散は

sx2=4+1+0+1+45=2,sy2=4+0+1+0+15=1.2s_x^2 = \frac{4 + 1 + 0 + 1 + 4}{5} = 2, \qquad s_y^2 = \frac{4 + 0 + 1 + 0 + 1}{5} = 1.2r=1.22×1.2=1.22.4≈1.21.549≈0.77r = \frac{1.2}{\sqrt{2 \times 1.2}} = \frac{1.2}{\sqrt{2.4}} \approx \frac{1.2}{1.549} \approx 0.77

答: (1) sxy=1.2s_{xy} = 1.2 (2) r≈0.77r \approx 0.77

問 2標準要約統計量から回帰直線

ある集団の身長 xx(cm\mathrm{cm})と体重 yy(kg\mathrm{kg})について、次の値が得られている。

xˉ=170,yˉ=62,sx=6,sy=8,r=0.6\bar{x} = 170, \quad \bar{y} = 62, \quad s_x = 6, \quad s_y = 8, \quad r = 0.6

(1) yy の xx への回帰直線を求めよ。 (2) 身長 180 cm180\unit{cm} の人の体重を予測せよ。 (3) 決定係数を求め、その意味を述べよ。

解答を見る

(1) 傾きは

b=r sysx=0.6×86=0.8b = r\,\frac{s_y}{s_x} = 0.6 \times \frac{8}{6} = 0.8

回帰直線は平均の点を通るので

a=yˉ−b xˉ=62−0.8×170=62−136=−74a = \bar{y} - b\,\bar{x} = 62 - 0.8 \times 170 = 62 - 136 = -74y^=−74+0.8x\hat{y} = -74 + 0.8x

切片 −74-74 は「身長 0 cm0\unit{cm} の人の体重」を意味するわけではありません。 データのある範囲(170 cm170\unit{cm} 前後)で直線を当てはめた結果、式の上でそうなっているだけです。

(2)

y^=−74+0.8×180=−74+144=70 kg\hat{y} = -74 + 0.8 \times 180 = -74 + 144 = 70\unit{kg}

平均より 10 cm10\unit{cm} 高いので、0.8×10=8 kg0.8 \times 10 = 8\unit{kg} 重いと予測した、と見ても同じです。

(3) 単回帰なので

R2=r2=0.62=0.36R^2 = r^2 = 0.6^2 = 0.36

体重のばらつき(分散)のうち、身長との直線関係で説明できるのは 36%36\% で、残り 64%64\% は身長以外の要因によるもの、という意味です。

答: (1) y^=−74+0.8x\hat{y} = -74 + 0.8x (2) 70 kg70\unit{kg} (3) 0.360.36

問 3発展回帰の向きと平均への回帰

父親の身長 xx と息子の身長 yy(いずれも cm\mathrm{cm})について

xˉ=yˉ=170,sx=sy=6,r=0.5\bar{x} = \bar{y} = 170, \qquad s_x = s_y = 6, \qquad r = 0.5

であった。

(1) 父親の身長が 182 cm182\unit{cm} のとき、息子の身長を回帰直線で予測せよ。 (2) 息子の身長が 182 cm182\unit{cm} のとき、父親の身長を回帰直線で予測せよ。 (3) (1) の回帰直線の傾き bb と、xx の yy への回帰直線 x^=c+dy\hat{x} = c + dy の係数 dd について、一般に bd=r2bd = r^2 が成り立つことを示せ。 (4) (1) と (2) の結果がどちらも 182182 より平均に近くなる理由を説明せよ。

解答を見る

(1) b=r sy/sx=0.5×6/6=0.5b = r\,s_y/s_x = 0.5 \times 6/6 = 0.5。平均の点を通るので a=170−0.5×170=85a = 170 - 0.5 \times 170 = 85。

y^=85+0.5×182=85+91=176 cm\hat{y} = 85 + 0.5 \times 182 = 85 + 91 = 176\unit{cm}

(2) 役割を入れ替えます。d=r sx/sy=0.5d = r\,s_x/s_y = 0.5、c=170−0.5×170=85c = 170 - 0.5 \times 170 = 85。

x^=85+0.5×182=176 cm\hat{x} = 85 + 0.5 \times 182 = 176\unit{cm}

(1) の式 y=85+0.5xy = 85 + 0.5x を xx について解いて x=2y−170x = 2y - 170 とすると 2×182−170=194 cm2 \times 182 - 170 = 194\unit{cm} になりますが、 これは xx の予測として正しくありません。予測に使うのは xx の yy への回帰直線です。

(3)

b d=sxysx2⋅sxysy2=sxy2sx2sy2=(sxysxsy)2=r2b\,d = \frac{s_{xy}}{s_x^2}\cdot\frac{s_{xy}}{s_y^2} = \frac{s_{xy}^2}{s_x^2 s_y^2} = \left(\frac{s_{xy}}{s_x s_y}\right)^2 = r^2

この問題では 0.5×0.5=0.25=0.520.5 \times 0.5 = 0.25 = 0.5^2 で、確かに成り立っています。

(4) 標準化して考えます。sx=sys_x = s_y なので、回帰直線は

y^−yˉsy=r x−xˉsx\frac{\hat{y} - \bar{y}}{s_y} = r\,\frac{x - \bar{x}}{s_x}

と書けます。父親が平均より標準偏差 22 個ぶん高い(z=12/6=2z = 12/6 = 2)とき、 息子の予測は標準偏差 r×2=1r \times 2 = 1 個ぶんだけ高い 176 cm176\unit{cm} です。 ∣r∣<1|r| \lt 1 である限り、予測値は必ず平均の側に引き寄せられます。

これは、息子の身長が父親の身長だけでは決まらず、他の要因によるばらつきを含むからです。 予測はそのばらつきを平均して出すので、極端さが割り引かれます。 向きを逆にしても同じ理屈で、背の高い息子の父親は、平均すると息子ほどは極端ではありません。 この現象を平均への回帰と呼びます。「世代を経るごとに身長の散らばりが縮む」という意味ではありません (実際、この問題では sx=sys_x = s_y で散らばりは同じです)。

答: (1) 176 cm176\unit{cm} (2) 176 cm176\unit{cm}