← 統計検定テキスト 一覧

📊 対象級:2級 | 重要度:A(頻出)

要点(BLUF)

  β^1=SxySxx=(xixˉ)(yiyˉ)(xixˉ)2,β^0=yˉβ^1xˉ  \boxed{\;\hat\beta_1=\frac{S_{xy}}{S_{xx}}=\frac{\sum(x_i-\bar x)(y_i-\bar y)}{\sum(x_i-\bar x)^2},\qquad \hat\beta_0=\bar y-\hat\beta_1\bar x\;}

1. 単回帰モデルとは

2級で問われる単回帰は、次の母回帰モデルを前提にします。

yi=β0+β1xi+εi,εiiidN(0,σ2)(i=1,,n)y_i=\beta_0+\beta_1 x_i+\varepsilon_i,\qquad \varepsilon_i \overset{\text{iid}}{\sim} N(0,\sigma^2)\quad(i=1,\dots,n)

要するに「yyxx の1次式で決まる部分(β0+β1x\beta_0+\beta_1 x)と、それで説明できないノイズ(ε\varepsilon)の和」というモデルです。私たちが手にするのはデータ (xi,yi)(x_i,y_i) だけなので、そこから真の β0,β1\beta_0,\beta_1推定値 β^0,β^1\hat\beta_0,\hat\beta_1 を求め、予測値(あてはめ値)を

y^i=β^0+β^1xi\hat y_i=\hat\beta_0+\hat\beta_1 x_i

とします。観測値とあてはめ値のズレ ei=yiy^ie_i=y_i-\hat y_i残差と呼びます。誤差 εi\varepsilon_i は真の値で観測できない理論量、残差 eie_i は推定後に計算できる実測量です。ここの区別が後で自由度の話に効きます。


2. 最小二乗法(OLS)による係数の導出

2.1 何を最小化するのか

「良い直線」とは、全データの残差ができるだけ小さい直線です。残差は正負どちらにもなるので、2乗して足した残差平方和を最小化します。

S(β0,β1)=i=1n(yiβ0β1xi)2S(\beta_0,\beta_1)=\sum_{i=1}^{n}\bigl(y_i-\beta_0-\beta_1 x_i\bigr)^2

これを β0,β1\beta_0,\beta_1 の関数とみて、最小にする組を探します。SSβ0,β1\beta_0,\beta_1 について下に凸な2次関数なので、偏微分を0にする点が唯一の最小点です。

2.2 正規方程式(偏微分して0と置く)

まず β0\beta_0 で偏微分して0と置きます。

Sβ0=i=1n2(yiβ0β1xi)(1)=0\frac{\partial S}{\partial \beta_0}=\sum_{i=1}^{n}2\bigl(y_i-\beta_0-\beta_1 x_i\bigr)(-1)=0

要するに「残差の総和は0」という条件です。両辺を 2-2 で割って整理すると、

yinβ0β1xi=0nβ0+β1xi=yi(1)\sum y_i-n\beta_0-\beta_1\sum x_i=0 \quad\Longrightarrow\quad n\beta_0+\beta_1\sum x_i=\sum y_i \tag{1}

次に β1\beta_1 で偏微分して0と置きます。

Sβ1=i=1n2(yiβ0β1xi)(xi)=0\frac{\partial S}{\partial \beta_1}=\sum_{i=1}^{n}2\bigl(y_i-\beta_0-\beta_1 x_i\bigr)(-x_i)=0

要するに「残差と xx の積和は0」(残差が説明変数と無相関)という条件です。整理すると、

β0xi+β1xi2=xiyi(2)\beta_0\sum x_i+\beta_1\sum x_i^2=\sum x_i y_i \tag{2}

(1)(2) を連立したものを正規方程式と呼びます。未知数2つ・式2本の連立1次方程式です。

2.3 傾き β^1\hat\beta_1 を解く

(1) の両辺を nn で割ると β0+β1xˉ=yˉ\beta_0+\beta_1\bar x=\bar y、つまり

β^0=yˉβ^1xˉ(3)\hat\beta_0=\bar y-\hat\beta_1\bar x \tag{3}

これを (2) に代入して β0\beta_0 を消去します。

(yˉβ1xˉ)xi+β1xi2=xiyi(\bar y-\beta_1\bar x)\sum x_i+\beta_1\sum x_i^2=\sum x_i y_i

xi=nxˉ\sum x_i=n\bar x を使って左辺第1項を展開し、β1\beta_1 について整理すると、

β1(xi2nxˉ2)=xiyinxˉyˉ\beta_1\Bigl(\sum x_i^2-n\bar x^2\Bigr)=\sum x_i y_i-n\bar x\,\bar y

ここで、偏差平方和・偏差積和の展開公式を使います(証明は補足を参照)。

Sxx=(xixˉ)2=xi2nxˉ2,Sxy=(xixˉ)(yiyˉ)=xiyinxˉyˉS_{xx}=\sum (x_i-\bar x)^2=\sum x_i^2-n\bar x^2,\qquad S_{xy}=\sum (x_i-\bar x)(y_i-\bar y)=\sum x_i y_i-n\bar x\,\bar y

したがって、

  β^1=SxySxx=(xixˉ)(yiyˉ)(xixˉ)2  \boxed{\;\hat\beta_1=\frac{S_{xy}}{S_{xx}}=\frac{\sum(x_i-\bar x)(y_i-\bar y)}{\sum(x_i-\bar x)^2}\;}

要するに「傾き=(xxyy の連動の強さ SxyS_{xy})÷(xx のばらつき SxxS_{xx})」。xxyy が同方向に動くほど傾きは大きく、xx のばらつきが大きいほど傾きは小さくなります。

補足:偏差平方和の展開公式 (xixˉ)2=(xi22xˉxi+xˉ2)=xi22xˉxi+nxˉ2=xi22xˉ(nxˉ)+nxˉ2=xi2nxˉ2\sum(x_i-\bar x)^2=\sum(x_i^2-2\bar x x_i+\bar x^2)=\sum x_i^2-2\bar x\sum x_i+n\bar x^2=\sum x_i^2-2\bar x(n\bar x)+n\bar x^2=\sum x_i^2-n\bar x^2SxyS_{xy} も同様に展開できます。手計算ではこの右辺の形が便利です。

2.4 回帰直線が必ず (xˉ,yˉ)(\bar x,\bar y) を通る理由

式 (3) を変形すると yˉ=β^0+β^1xˉ\bar y=\hat\beta_0+\hat\beta_1\bar x。これは点 (xˉ,yˉ)(\bar x,\bar y) が回帰直線 y^=β^0+β^1x\hat y=\hat\beta_0+\hat\beta_1 x 上にあることそのものです。

つまり最小二乗回帰直線は必ずデータの重心 (xˉ,yˉ)(\bar x,\bar y) を通ります。根っこは正規方程式 (1)(残差の総和が0)にあります。これは2級で頻出の知識です。


3. 決定係数 R2R^2 と平方和分解

3.1 平方和の3分解(SST = SSR + SSE)

あてはまりの良さを測るため、yy の総変動を「直線で説明できた分」と「できなかった分」に分けます。各 yiy_i の偏差を恒等的に分解します。

yiyˉ=(y^iyˉ)回帰で説明+(yiy^i)残差y_i-\bar y=\underbrace{(\hat y_i-\bar y)}_{\text{回帰で説明}}+\underbrace{(y_i-\hat y_i)}_{\text{残差}}

両辺を2乗して総和を取ると、

(yiyˉ)2=(y^iyˉ)2+(yiy^i)2+2(y^iyˉ)(yiy^i)\sum(y_i-\bar y)^2=\sum(\hat y_i-\bar y)^2+\sum(y_i-\hat y_i)^2+2\sum(\hat y_i-\bar y)(y_i-\hat y_i)

ここで交差項が消えるのが要点です。y^iyˉ=β^1(xixˉ)\hat y_i-\bar y=\hat\beta_1(x_i-\bar x)y^i=yˉ+β^1(xixˉ)\hat y_i=\bar y+\hat\beta_1(x_i-\bar x) より)なので、交差項は

2β^1(xixˉ)ei=2β^1(xiei=0xˉei=0)=02\hat\beta_1\sum(x_i-\bar x)\,e_i =2\hat\beta_1\Bigl(\underbrace{\textstyle\sum x_i e_i}_{=0}-\bar x\underbrace{\textstyle\sum e_i}_{=0}\Bigr)=0

正規方程式から ei=0\sum e_i=0(残差の総和)と xiei=0\sum x_i e_i=0(残差と xx の積和)が両方0だったことを思い出してください。これで交差項が消え、きれいな分解が得られます。

  (yiyˉ)2SST=(y^iyˉ)2SSR+(yiy^i)2SSE  \boxed{\;\underbrace{\sum(y_i-\bar y)^2}_{\mathrm{SST}} =\underbrace{\sum(\hat y_i-\bar y)^2}_{\mathrm{SSR}} +\underbrace{\sum(y_i-\hat y_i)^2}_{\mathrm{SSE}}\;}
記号名前意味
SST全平方和(Total)yy 全体のばらつき。=Syy=S_{yy}
SSR回帰平方和(Regression)直線で説明できたばらつき
SSE残差平方和(Error)直線で説明できなかったばらつき

表記注意:教科書によって SSR と SSE の R/E を逆の意味(SSR を residual=残差)に使う流儀があります。2級の文脈では「Regression=回帰=説明できた分」「Error=残差」で統一して覚えるのが安全です。要するにどちらが分子で全変動に近づくほど良いかで判別すれば取り違えません。

3.2 決定係数の定義

yy の総変動のうち回帰で説明できた割合が決定係数 R2R^2 です。

R2=SSRSST=1SSESSTR^2=\frac{\mathrm{SSR}}{\mathrm{SST}}=1-\frac{\mathrm{SSE}}{\mathrm{SST}}

要するに「R2R^2 は、yy のばらつきの何割を xx で説明できたか」。0R210\le R^2\le 1 で、1に近いほどあてはまりが良い。R2=0.8R^2=0.8 なら「yy の変動の80%が xx で説明できる」という読み方です。

3.3 単回帰では R2=r2R^2=r^2(相関係数の2乗)

単回帰に限り、決定係数は相関係数 rr の2乗に一致します。導出します。SSR を β^1\hat\beta_1 で書き直すと、y^iyˉ=β^1(xixˉ)\hat y_i-\bar y=\hat\beta_1(x_i-\bar x) なので

SSR=(y^iyˉ)2=β^12(xixˉ)2=β^12Sxx\mathrm{SSR}=\sum(\hat y_i-\bar y)^2=\hat\beta_1^2\sum(x_i-\bar x)^2=\hat\beta_1^2\,S_{xx}

ここに β^1=Sxy/Sxx\hat\beta_1=S_{xy}/S_{xx} を代入すると、

SSR=(SxySxx)2Sxx=Sxy2Sxx\mathrm{SSR}=\left(\frac{S_{xy}}{S_{xx}}\right)^2 S_{xx}=\frac{S_{xy}^2}{S_{xx}}

SST=Syy\mathrm{SST}=S_{yy} なので、

R2=SSRSST=Sxy2/SxxSyy=Sxy2SxxSyy=(SxySxxSyy)2=r2R^2=\frac{\mathrm{SSR}}{\mathrm{SST}}=\frac{S_{xy}^2/S_{xx}}{S_{yy}}=\frac{S_{xy}^2}{S_{xx}S_{yy}}=\left(\frac{S_{xy}}{\sqrt{S_{xx}S_{yy}}}\right)^2=r^2

最後の括弧の中は相関係数 r=SxySxxSyyr=\dfrac{S_{xy}}{\sqrt{S_{xx}S_{yy}}} そのものです。つまり

  R2=r2(単回帰のみ)  \boxed{\;R^2=r^2\quad(\text{単回帰のみ})\;}

要するに「単回帰なら、決定係数は相関係数を2乗するだけで出る」。相関係数 r=0.9r=0.9 なら R2=0.81R^2=0.81。なお重回帰では R2R^2 は説明変数全体と yy の重相関係数の2乗になり、単純な相関係数の2乗とは一致しません(これは 重回帰分析 で扱います)。


4. 回帰係数の検定(t検定)

4.1 何を検定するのか

傾き β^1\hat\beta_1 は標本ごとに変わる確率変数です。本当に xxyy に効いているなら β10\beta_1\neq 0 のはず。そこで

H0:β1=0x は y の説明に寄与しない)H1:β10H_0:\beta_1=0\quad\text{($x$ は $y$ の説明に寄与しない)}\qquad H_1:\beta_1\neq 0

を検定します。β1=0\beta_1=0 なら回帰直線は水平、つまり「xx で予測しても平均 yˉ\bar y を言うのと変わらない」状態です。

4.2 β^1\hat\beta_1 の標準誤差

β^1\hat\beta_1 は正規分布に従い、その分散は

Var(β^1)=σ2Sxx\mathrm{Var}(\hat\beta_1)=\frac{\sigma^2}{S_{xx}}

となります(β^1=wiyi, wi=(xixˉ)/Sxx\hat\beta_1=\sum w_i y_i,\ w_i=(x_i-\bar x)/S_{xx} という yiy_i の線形結合で表せ、wi2=1/Sxx\sum w_i^2=1/S_{xx} から従う)。σ2\sigma^2 は未知なので、残差から不偏推定量

σ^2=SSEn2=(yiy^i)2n2\hat\sigma^2=\frac{\mathrm{SSE}}{n-2}=\frac{\sum(y_i-\hat y_i)^2}{n-2}

で置き換えます(分母が n2n-2 である理由は次節)。これより標準誤差は

SE(β^1)=σ^Sxx\mathrm{SE}(\hat\beta_1)=\frac{\hat\sigma}{\sqrt{S_{xx}}}

要するに「傾きの推定のブレ」は、ノイズの大きさ σ^\hat\sigma に比例し、xx の広がり Sxx\sqrt{S_{xx}} に反比例します。xx が広い範囲に散っているほど傾きは安定して推定できます。

4.3 検定統計量と自由度 n2n-2

β^1\hat\beta_1(正規)を、独立な σ^\hat\sigma(カイ二乗から)で割って標準化すると、t分布に従います。

t=β^10SE(β^1)=β^1σ^/Sxx  tn2(H0 のもと)t=\frac{\hat\beta_1-0}{\mathrm{SE}(\hat\beta_1)}=\frac{\hat\beta_1}{\hat\sigma/\sqrt{S_{xx}}}\ \sim\ t_{n-2}\quad(H_0\text{ のもと})

この tt 統計量・標準誤差・t分布の枠組みは t分布・カイ二乗分布・F分布(標本分布の三役)母平均の検定(1標本・2標本t検定) と同じ構造です(正規 ÷ 推定した標準偏差 → t分布)。

自由度がなぜ n2n-2 か。 残差 eie_inn 個ありますが、最小二乗法の正規方程式によって2本の制約 ei=0\sum e_i=0xiei=0\sum x_i e_i=0 を満たします。制約2本ぶん自由に動ける残差は減るので、自由に動ける残差の数(自由度)は n2n-2。一般化すると「自由度 = データ数 − 推定したパラメータ数」で、単回帰では β0,β1\beta_0,\beta_1 の2つを推定したので n2n-2 です。σ^2\hat\sigma^2 の分母を n2n-2 にしてはじめて E[σ^2]=σ2E[\hat\sigma^2]=\sigma^2(不偏)になります。

判定は通常の両側検定と同じ。t>tn2,α/2\lvert t\rvert>t_{n-2,\,\alpha/2} なら H0H_0 を棄却し「傾きは有意」と結論します。切片 β0\beta_0 も同様に t=β^0/SE(β^0)tn2t=\hat\beta_0/\mathrm{SE}(\hat\beta_0)\sim t_{n-2} で検定できます。


5. 回帰の分散分析(F検定)と F=t2F=t^2

平方和分解を使うと、回帰全体の有意性をF検定でも調べられます。各平方和を自由度で割った平均平方を比にします。

F=SSR/1SSE/(n2)=回帰の平均平方残差の平均平方  F1,n2(H0:β1=0)F=\frac{\mathrm{SSR}/1}{\mathrm{SSE}/(n-2)}=\frac{\text{回帰の平均平方}}{\text{残差の平均平方}}\ \sim\ F_{1,\,n-2}\quad(H_0:\beta_1=0)
要因平方和自由度平均平方
回帰SSR11SSR/1\mathrm{SSR}/1
残差SSEn2n-2SSE/(n2)\mathrm{SSE}/(n-2)
全体SSTn1n-1

自由度は 回帰1 + 残差 (n2)(n-2) = 全体 (n1)(n-1) と足し算で整合します(全体の自由度が n1n-1 なのは平均 yˉ\bar y を1つ使うため)。

単回帰では F=t2F=t^2 が成り立ちます。 確認します。

F=SSRSSE/(n2)=β^12Sxxσ^2=β^12σ^2/Sxx=(β^1σ^/Sxx)2=t2F=\frac{\mathrm{SSR}}{\mathrm{SSE}/(n-2)}=\frac{\hat\beta_1^2\,S_{xx}}{\hat\sigma^2} =\frac{\hat\beta_1^2}{\hat\sigma^2/S_{xx}} =\left(\frac{\hat\beta_1}{\hat\sigma/\sqrt{S_{xx}}}\right)^2=t^2

途中で SSR=β^12Sxx\mathrm{SSR}=\hat\beta_1^2 S_{xx}(3.3で導出)と σ^2=SSE/(n2)\hat\sigma^2=\mathrm{SSE}/(n-2) を使いました。要するに単回帰では「傾きのt検定」と「回帰のF検定」は完全に同じ結論を出します(tn2t_{n-2} を2乗すると F1,n2F_{1,n-2} になるという分布の関係そのもの)。だから単回帰でわざわざF検定をする実益は小さく、F検定が本領を発揮するのは説明変数が複数ある重回帰や分散分析です(分散分析)。


6. 図解

散布図・回帰直線・残差の関係(構造)

散布図・回帰直線・残差

真の関係 y=2+1.5x のデータに最小二乗で直線を当てた様子。赤い縦線が残差で、その二乗和を最小化する直線が回帰直線。図は simulations/tankaiki_ols_zansa.py で生成。

各データ点の yy 方向のズレが残差。最小二乗法はこの残差の2乗和を最小にする直線を選びます。

graph LR
  X["説明変数 x_i"] --> PRED["あてはめ値<br/>ŷ_i = β̂₀ + β̂₁ x_i<br/>(回帰直線上の点)"]
  OBS["観測値 y_i<br/>(実データ点)"] --> RES["残差<br/>e_i = y_i − ŷ_i"]
  PRED --> RES
  RES --> OBJ["残差平方和 Σe_i²<br/>を最小化 → β̂₀, β̂₁"]

平方和分解の構造(SST = SSR + SSE)

総変動が「説明できた分」と「できなかった分」に割れ、その比が決定係数になります。

graph TD
  SST["SST 全平方和<br/>Σ(y_i − ȳ)²<br/>自由度 n−1"]
  SST --> SSR["SSR 回帰平方和<br/>Σ(ŷ_i − ȳ)²<br/>自由度 1<br/>=説明できた分"]
  SST --> SSE["SSE 残差平方和<br/>Σ(y_i − ŷ_i)²<br/>自由度 n−2<br/>=説明できない分"]
  SSR --> R2["決定係数<br/>R² = SSR / SST = 1 − SSE/SST<br/>(単回帰では R² = r²)"]
  SSE --> R2
  SSR --> FTEST["F = (SSR/1) / (SSE/(n−2))<br/>~ F(1, n−2)<br/>単回帰では F = t²"]
  SSE --> FTEST

7. 具体例(手計算)

次の5点で傾き・切片・決定係数を求めます。

xix_i12345
yiy_i24545

ステップ1:平均 xˉ=1+2+3+4+55=3\bar x=\dfrac{1+2+3+4+5}{5}=3yˉ=2+4+5+4+55=4\bar y=\dfrac{2+4+5+4+5}{5}=4

ステップ2:偏差積和・偏差平方和

項目i=1i=1i=2i=2i=3i=3i=4i=4i=5i=5
xixˉx_i-\bar x2-21-1001122
yiyˉy_i-\bar y2-200110011
4400000022
(xixˉ)2(x_i-\bar x)^24411001144
Sxy=4+0+0+0+2=6,Sxx=4+1+0+1+4=10S_{xy}=4+0+0+0+2=6,\qquad S_{xx}=4+1+0+1+4=10

ステップ3:係数

β^1=SxySxx=610=0.6,β^0=yˉβ^1xˉ=40.6×3=2.2\hat\beta_1=\frac{S_{xy}}{S_{xx}}=\frac{6}{10}=0.6,\qquad \hat\beta_0=\bar y-\hat\beta_1\bar x=4-0.6\times 3=2.2

回帰直線は y^=2.2+0.6x\hat y=2.2+0.6x。点 (xˉ,yˉ)=(3,4)(\bar x,\bar y)=(3,4) を通ることも確認できます(2.2+0.6×3=42.2+0.6\times3=4)。

ステップ4:決定係数 Syy=(yiyˉ)2=4+0+1+0+1=6S_{yy}=\sum(y_i-\bar y)^2=4+0+1+0+1=6 なので、

R2=Sxy2SxxSyy=6210×6=3660=0.6R^2=\frac{S_{xy}^2}{S_{xx}S_{yy}}=\frac{6^2}{10\times 6}=\frac{36}{60}=0.6

相関係数は r=0.60.775r=\sqrt{0.6}\approx0.775R2=r2R^2=r^2 が成り立っています。「yy の変動の60%を xx で説明できる」と読みます。


8. ⚠️ 引っかけ・頻出論点


9. よくある疑問(Q&A)

Q1. 相関分析と回帰分析は何が違うのですか。 相関は2変数の「連動の強さ」を対称に測るもの(xxyy を入れ替えても rr は同じ)。回帰は「xx から yy を予測する式」を作るもので非対称です(yyxx で回帰するのと xxyy で回帰するのは別の直線)。相関係数 rr には単位がなく 1r1-1\le r\le1、回帰係数 β^1\hat\beta_1 には単位があり(yy の単位/xx の単位)大きさに上限はありません。詳しくは 2変数の記述(散布図・共分散・相関係数)── 相関≠因果/rは直線関係しか測れない/外れ値1点で激変

Q2. R2R^2 が高ければモデルは正しい、と言えますか。 言えません。R2R^2 は「yy の分散のうち xx で説明された割合」にすぎず、(1)直線でないパターン(曲がった関係)を見逃していても R2R^2 が高く出ることはある、(2)外れ値や説明変数の追加で R2R^2 は容易に上がる、(3)あてはまりの良さは因果を意味しない、という3点に注意します。残差の挙動を別途確認する必要があります(残差分析・回帰診断)。

Q3. R2R^2 が高いと「xxyy の原因」と言えますか。 言えません。回帰は予測の道具であって、因果の証明ではありません。xxyy の両方を動かす第3の変数(交絡)があるだけかもしれないし、向きが逆(yyxx の原因)かもしれません。因果を主張するには無作為化実験など別の枠組みが要ります。試験でも「決定係数が高い=因果がある」とする選択肢は誤りとして頻出です。

Q4. データの範囲外の xx で予測してよいですか(外挿)。 危険です。回帰直線は観測した xx の範囲内で関係を推定したもので、その外側で同じ直線関係が続く保証はありません(範囲外では関係が曲がる・頭打ちになることが多い)。範囲内での予測(内挿)に比べ、外挿は予測の不確実性も急に大きくなります。原則は「あてはめに使った xx の範囲内で使う」。

Q5. 回帰係数 β^1\hat\beta_1 は単位を変えると値が変わりますが、比較できますか。 そのままでは比較しにくいです。β^1\hat\beta_1 は「xx が1単位増えたときの yy の変化量」なので、xx を cm から m に変えれば値が100倍になります。これを避けるには x,yx,y を標準化(平均0・分散1に変換)してから回帰します。標準化した単回帰の傾きは相関係数 rr に一致しますx,yx,y を標準化すると Sxx=Syy=n1S_{xx}=S_{yy}=n-1 となり β^1=Sxy/Sxx=r\hat\beta_1=S_{xy}/S_{xx}=r)。だから標準化偏回帰係数は単位に依存せず、効きの大きさを横並びで比較できます。


10. まとめ


関連ノート