単回帰と予測

最小二乗法で直線を当てはめ、データから予測する

難易度 Lv 3 / 10想定時間:約25

できるようになること


広告費を増やせば売上は伸びるか?

ある会社が過去8か月の広告費(万円)と売上(万円)を記録しました。

12345678
広告費 xx1020304050607080
売上 yy120150160200210250260300

散布図を描くと、広告費が増えるほど売上も増える傾向が見えます。直線を引きたくなりますが、どの直線が「最良」でしょうか?

散布図と候補直線

相関係数を計算すれば「関連が強い」ことはわかりますが、

という「予測」の問いには、相関係数だけでは答えられません。

この問いに答えるために、データに直線を当てはめて予測に使うのが回帰分析(regression analysis)です。


回帰直線のモデル

散布図に直線を引くことを考えます。直線は次のように書けます。

y^=a+bx\hat{y} = a + bx

しかし、無数にある直線のうち、どれが「最良」でしょうか?


最小二乗法

残差とは

データ点 (xi,yi)(x_i, y_i) に対して、直線上の値 y^i=a+bxi\hat{y}_i = a + bx_i予測値といいます。実際の値との差、

ei=yiy^ie_i = y_i - \hat{y}_i

残差(residual)といいます。残差は「直線からのズレ」を表します。

残差の説明図

残差の二乗和を最小にする

「最良の直線」とは、すべてのデータ点からのズレができるだけ小さい直線です。残差をそのまま足すと正負が打ち消し合うため、二乗して正の値にしてから合計します。この残差の二乗和(sum of squared residuals)を最小にします。

S=i=1nei2=i=1n(yiabxi)2S = \sum_{i=1}^{n} e_i^2 = \sum_{i=1}^{n} (y_i - a - bx_i)^2

この SS を最小にする aabb を求める方法を最小二乗法(method of least squares, OLS)といいます。

補足

aabb の推定方法は他にもあります(たとえば残差の絶対値の和を最小にする方法)。その中で最小二乗法(OLS)が広く使われるのは、微分による計算が容易であること、そして大きなズレに対してより重いペナルティを与える特性があるためです。

回帰係数の公式

SSaabb でそれぞれ偏微分して0とおくと、次の連立方程式(正規方程式)が得られます。

yi=na+bxi\sum y_i = na + b\sum x_i

xiyi=axi+bxi2\sum x_i y_i = a\sum x_i + b\sum x_i^2

これを aa, bb について解くと、

b=i=1n(xixˉ)(yiyˉ)i=1n(xixˉ)2=SxySxxb = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^{n}(x_i - \bar{x})^2} = \frac{S_{xy}}{S_{xx}}

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

ここで、

公式の分子と分母をそれぞれ nn(または n1n-1)で割ると、分子は xxyy の共分散、分母は xx の分散になります。つまり bb = 共分散 / xx の分散 です。

補足

a=yˉbxˉa = \bar{y} - b\bar{x} は「回帰直線が必ず (xˉ,yˉ)(\bar{x}, \bar{y}) を通る」ことを意味します。データの中心点を通るように直線が決まる、と理解してください。


例題の計算

先ほどのデータで回帰直線を求めましょう。

基本統計量

xˉ=10+20++808=45,yˉ=120+150++3008=206.25\bar{x} = \frac{10+20+\cdots+80}{8} = 45, \quad \bar{y} = \frac{120+150+\cdots+300}{8} = 206.25

偏差積和と偏差平方和

Sxy=(xi45)(yi206.25)=10,500S_{xy} = \sum (x_i - 45)(y_i - 206.25) = 10{,}500

Sxx=(xi45)2=4,200S_{xx} = \sum (x_i - 45)^2 = 4{,}200

回帰係数

b=10,5004,200=2.50b = \frac{10{,}500}{4{,}200} = 2.50

a=206.252.50×45=206.25112.50=93.75a = 206.25 - 2.50 \times 45 = 206.25 - 112.50 = 93.75

回帰直線

y^=93.75+2.50x\hat{y} = 93.75 + 2.50x

回帰直線

結果の解釈

予測

広告費が90万円のときの売上の予測値は、

y^=93.75+2.50×90=93.75+225=318.75 万円\hat{y} = 93.75 + 2.50 \times 90 = 93.75 + 225 = 318.75 \text{ 万円}

ポイント

データの範囲外(この例では xx = 10〜80 の外)への予測を外挿(extrapolation)といいます。回帰直線はデータの範囲内ではよく当てはまりますが、範囲外では関係が変わる可能性があるため、外挿は慎重に行う必要があります。


決定係数 R2R^2

回帰直線がデータにどれだけ当てはまっているかを測る指標が決定係数 R2R^2(coefficient of determination)です。

変動の分解

yy の変動(ばらつき)は次のように分解できます。

(yiyˉ)2Syy(全変動)=(y^iyˉ)2回帰変動+(yiy^i)2残差変動\underbrace{\sum (y_i - \bar{y})^2}_{S_{yy}\text{(全変動)}} = \underbrace{\sum (\hat{y}_i - \bar{y})^2}_{\text{回帰変動}} + \underbrace{\sum (y_i - \hat{y}_i)^2}_{\text{残差変動}}

この分解が成り立つのは、最小二乗法の条件により、展開時に現れる交差項 2(y^iyˉ)(yiy^i)2\sum(\hat{y}_i - \bar{y})(y_i - \hat{y}_i) が 0 になるためです。

R2R^2 の定義

R2=回帰変動Syy=1残差変動SyyR^2 = \frac{\text{回帰変動}}{S_{yy}} = 1 - \frac{\text{残差変動}}{S_{yy}}

相関係数との関係

単回帰の場合、決定係数は相関係数の二乗に等しくなります。

R2=rxy2R^2 = r_{xy}^2

先ほどの例について相関係数を求めると(「相関係数」の単元で学んだ公式 r=Sxy/SxxSyyr = S_{xy} / \sqrt{S_{xx} \cdot S_{yy}} を使います)、r0.993r \approx 0.993 なので R20.986R^2 \approx 0.986 です。つまり、売上のばらつきの約 98.6% が広告費で説明できます。


残差の確認

回帰分析を行ったあとは、残差のパターンを確認することが重要です。

xxyy(実測)y^\hat{y}(予測)e=yy^e = y - \hat{y}
110120118.75+1.25
220150143.75+6.25
330160168.75−8.75
440200193.75+6.25
550210218.75−8.75
660250243.75+6.25
770260268.75−8.75
880300293.75+6.25

残差にパターン(たとえば U 字型の曲線)が見える場合、直線では捉えきれない関係がある可能性を示唆します。この例では残差が正負に散らばっており、大きな系統的パターンは見られません。


よくある誤解

R2R^2 が高ければモデルが正しい」

R2R^2 が高くても、モデルが現象を正しく捉えているとは限りません。直線以外の関係(曲線など)がある場合でも R2R^2 が高くなることがあります。また、R2R^2 が高いことは「xxyy の原因である」という因果関係を意味しません。

「回帰直線の外挿は信頼できる」

データの範囲内(内挿)での予測は比較的信頼できますが、範囲外(外挿)では関係が変わる可能性があります。広告費0〜80万円のデータで100万円を予測するのは外挿であり、注意が必要です。

「残差が小さい = モデルが正しい」

残差が小さくても、モデルが現象を正しく説明しているとは限りません。残差に系統的なパターンがないかどうか(残差プロット)を確認することが重要です。


まとめ

回帰分析は、2変数の関係を直線で表現し、予測に使う手法です。回帰係数 b=Sxy/Sxxb = S_{xy} / S_{xx} は「xx が1単位増えると yy がどれだけ変わるか」を表し、切片 a=yˉbxˉa = \bar{y} - b\bar{x} から回帰直線が定まります。この直線は (xˉ,yˉ)(\bar{x}, \bar{y}) を必ず通ります。

決定係数 R2R^2 は回帰直線の当てはまりの良さを0〜1で表し、単回帰では R2=r2R^2 = r^2(相関係数の二乗)に一致します。予測には使えますが、因果関係の証明ではなく、外挿にも注意が必要です。

ヒント

この単元では手元のデータに対する直線の当てはめ(記述的なアプローチ)を扱いました。求めた回帰係数 bb が偶然の産物でないかを検定したり、予測値に信頼区間をつけたりする推測統計的なアプローチは、「重回帰モデルの基礎」以降で学びます。