Lemma

第6章一般化線形モデルとモデル選択

目安 11〜15 時間定理など 9演習 8 問
ここまでの道

この章の目標

  • 指数型分布族とリンク関数の言葉で、線形回帰・ロジスティック回帰・ポアソン回帰を一つの枠組み(一般化線形モデル)として書ける
  • 正準リンクの対数尤度が凹であることを証明し、ニュートン法が反復重み付き最小二乗法(IRLS)になることを導ける
  • ロジスティック回帰の係数をオッズ比として正しく解釈し、逸脱度と尤度比検定でモデルを比べられる
  • 完全分離のとき最尤推定量が存在しないことを証明し、実務での兆候と対処を説明できる
  • 過学習の仕組みを式で説明し、リッジ・ラッソ・交差検証・AIC・BIC が何をしているかを説明できる

前提:第3章、第4章、第5章。6.3 節と 6.7 節では 01 微分積分学 第7章(テイラーの定理、コンパクト集合上の最大値)を使う。交差検証とデータ漏洩は 24 機械学習の数理 第1章でも詳しく扱う。

会員が来月解約するかどうか(0 か 1)、1 日に届く問い合わせの件数(0, 1, 2, …)を説明変数で予測したいとする。線形回帰をそのまま使うと、予測確率が [0,1][0, 1] からはみ出したり、予測件数が負になったりする。しかも、確率 π\pi の 0/1 データの分散は π(1−π)\pi(1 - \pi)、ポアソン分布に従う件数の分散は平均に等しく、第5章の等分散の仮定 (A2) は初めから成り立たない。一般化線形モデル (generalized linear model, GLM) は、データの分布を指数型分布族から選び、平均を説明変数の一次式とリンク関数で結ぶことで、これらを線形回帰と同じ枠組みで扱う。推定は最尤法で行い、その計算は第5章の最小二乗法の繰り返しに帰着する。

本章の後半では「説明変数をいくつ使うか」を考える。第5章で見たように、変数を増やすほど手元のデータへの当てはまりは良くなるが、新しいデータの予測は悪くなりうる(過学習)。これを抑える正則化(リッジ・ラッソ)と、モデルを比べる道具(交差検証・AIC・BIC)が、それぞれ何を推定・近似しているのかを正確に述べる。

6.1 指数型分布族

定義 6.1(指数型分布族, exponential family)Θ⊂R\Theta \subset \mathbb{R} を開区間、ϕ>0\phi > 0 とする。確率関数または密度が

f(y;θ,ϕ)=exp⁡(yθ−b(θ)ϕ+c(y,ϕ))(θ∈Θ)f(y; \theta, \phi) = \exp\left(\frac{y\theta - b(\theta)}{\phi} + c(y, \phi)\right) \qquad (\theta \in \Theta)

の形の分布の族を(分散パラメータつきの)指数型分布族という。ここで bb は Θ\Theta 上の C2C^2 級関数、cc は θ\theta によらない関数で、各 θ∈Θ\theta \in \Theta について f(⋅;θ,ϕ)f(\cdot; \theta, \phi) は確率関数(密度)である。θ\theta を自然パラメータ (natural parameter)、ϕ\phi を分散パラメータ (dispersion parameter) という。

例 6.2

  1. 正規分布 N(μ,σ2)N(\mu, \sigma^2):log⁡f=yμ−μ2/2σ2−y22σ2−12log⁡(2πσ2)\log f = \frac{y\mu - \mu^2/2}{\sigma^2} - \frac{y^2}{2\sigma^2} - \frac{1}{2}\log(2\pi\sigma^2) なので、θ=μ\theta = \mu、b(θ)=θ2/2b(\theta) = \theta^2/2、ϕ=σ2\phi = \sigma^2。
  2. ベルヌーイ分布 B(1,π)B(1, \pi):f(y)=πy(1−π)1−y=exp⁡(ylog⁡π1−π+log⁡(1−π))f(y) = \pi^y(1 - \pi)^{1 - y} = \exp\bigl(y\log\frac{\pi}{1 - \pi} + \log(1 - \pi)\bigr)(y=0,1y = 0, 1)なので、θ=log⁡π1−π\theta = \log\frac{\pi}{1 - \pi}、b(θ)=log⁡(1+eθ)b(\theta) = \log(1 + e^{\theta})、ϕ=1\phi = 1。試行回数 mm が既知の二項分布 B(m,π)B(m, \pi) も、b(θ)=mlog⁡(1+eθ)b(\theta) = m\log(1 + e^{\theta}) として同じ形に書ける。
  3. ポアソン分布 Po⁡(λ)\operatorname{Po}(\lambda):f(y)=exp⁡(ylog⁡λ−λ−log⁡y!)f(y) = \exp(y\log\lambda - \lambda - \log y!) なので、θ=log⁡λ\theta = \log\lambda、b(θ)=eθb(\theta) = e^{\theta}、ϕ=1\phi = 1。

命題 6.3(平均と分散)YY が定義 6.1 の分布に従うとき、E[Y]=b′(θ)E[Y] = b'(\theta)、Var⁡(Y)=ϕb′′(θ)\operatorname{Var}(Y) = \phi b''(\theta) である。

証明. Θ\Theta は開区間なので、∣t∣\lvert t \rvert が小さければ θ+tϕ∈Θ\theta + t\phi \in \Theta である。このとき(離散型なら積分を和に読み替えて)

MY(t)=∫etyf(y;θ,ϕ) dy=e{b(θ+tϕ)−b(θ)}/ϕ∫f(y;θ+tϕ,ϕ) dy=e{b(θ+tϕ)−b(θ)}/ϕM_Y(t) = \int e^{ty}f(y; \theta, \phi)\ dy = e^{\lbrace b(\theta + t\phi) - b(\theta)\rbrace/\phi}\int f(y; \theta + t\phi, \phi)\ dy = e^{\lbrace b(\theta + t\phi) - b(\theta)\rbrace/\phi}

である。モーメント母関数が 00 の近くで有限なので、第1章 定理 1.15 より E[Y]=MY′(0)=b′(θ)E[Y] = M_Y'(0) = b'(\theta)、E[Y2]=MY′′(0)=ϕb′′(θ)+b′(θ)2E[Y^2] = M_Y''(0) = \phi b''(\theta) + b'(\theta)^2。□\square

例 6.2 では、正規分布で b′(θ)=μb'(\theta) = \mu、ϕb′′=σ2\phi b'' = \sigma^2、ベルヌーイ分布で b′(θ)=eθ/(1+eθ)=πb'(\theta) = e^{\theta}/(1 + e^{\theta}) = \pi、b′′(θ)=π(1−π)b''(\theta) = \pi(1 - \pi)、ポアソン分布で b′=b′′=λb' = b'' = \lambda となり、よく知られた値と一致する。分布が 1 点に集中しなければ b′′>0b'' > 0 なので、μ=b′(θ)\mu = b'(\theta) は θ\theta の狭義単調増加関数で、θ\theta と平均 μ\mu は 1 対 1 に対応する。分散を平均の関数として Var⁡(Y)=ϕV(μ)\operatorname{Var}(Y) = \phi V(\mu) と書いたとき、VV を分散関数という(正規 V=1V = 1、ベルヌーイ V(μ)=μ(1−μ)V(\mu) = \mu(1 - \mu)、ポアソン V(μ)=μV(\mu) = \mu)。

6.2 一般化線形モデル

定義 6.4(一般化線形モデル)Y1,…,YnY_1, \dots, Y_n は独立で、YiY_i は自然パラメータ θi\theta_i、共通の分散パラメータ ϕ\phi の指数型分布族に従うとする。平均 μi=E[Yi]\mu_i = E[Y_i] と説明変数 xi∈Rpx_i \in \mathbb{R}^p が、狭義単調で微分可能な関数 gg によって

g(μi)=ηi,ηi=xi⊤βg(\mu_i) = \eta_i, \qquad \eta_i = x_i^{\top}\beta

と結ばれるモデルを一般化線形モデルという。ηi\eta_i を線形予測子 (linear predictor)、gg をリンク関数 (link function) という。g=(b′)−1g = (b')^{-1}、すなわち θi=ηi\theta_i = \eta_i となるリンク関数を正準リンク (canonical link) という。

モデル 分布 分散関数 V(μ)V(\mu) 正準リンク g(μ)g(\mu)
線形回帰 正規 11 μ\mu(恒等)
ロジスティック回帰 ベルヌーイ(二項) μ(1−μ)\mu(1 - \mu) log⁡μ1−μ\log\frac{\mu}{1 - \mu}(ロジット)
ポアソン回帰 ポアソン μ\mu log⁡μ\log\mu(対数)

ロジスティック回帰では、Λ(t)=1/(1+e−t)\Lambda(t) = 1/(1 + e^{-t})(ロジスティック関数)として πi=P(Yi=1)=Λ(xi⊤β)\pi_i = P(Y_i = 1) = \Lambda(x_i^{\top}\beta) であり、予測確率は必ず (0,1)(0, 1) に入る。ポアソン回帰では μi=exi⊤β\mu_i = e^{x_i^{\top}\beta} は必ず正である。件数を観測期間や人数 tit_i あたりの率でモデル化したいときは、log⁡μi=log⁡ti+xi⊤β\log\mu_i = \log t_i + x_i^{\top}\beta と係数 11 の項(オフセット)を加える。一般化線形モデルは「yy を変換して線形回帰する」こととは違う。log⁡y\log y を線形回帰すると E[log⁡Y]E[\log Y] をモデル化することになり、log⁡E[Y]\log E[Y] とは一致しないうえ、y=0y = 0 を扱えない。

6.3 対数尤度とその凹性

正準リンクでは θi=xi⊤β\theta_i = x_i^{\top}\beta なので、対数尤度は

ℓ(β)=1ϕ∑i=1n(yixi⊤β−b(xi⊤β))+∑i=1nc(yi,ϕ)\ell(\beta) = \frac{1}{\phi}\sum_{i=1}^n \bigl(y_ix_i^{\top}\beta - b(x_i^{\top}\beta)\bigr) + \sum_{i=1}^n c(y_i, \phi)

である。特に

ℓlogit(β)=∑i=1n(yixi⊤β−log⁡(1+exi⊤β)),ℓPois(β)=∑i=1n(yixi⊤β−exi⊤β−log⁡yi!)\ell_{\text{logit}}(\beta) = \sum_{i=1}^n \bigl(y_ix_i^{\top}\beta - \log(1 + e^{x_i^{\top}\beta})\bigr), \qquad \ell_{\text{Pois}}(\beta) = \sum_{i=1}^n \bigl(y_ix_i^{\top}\beta - e^{x_i^{\top}\beta} - \log y_i!\bigr)

がロジスティック回帰とポアソン回帰の対数尤度である。mim_i 回の試行のうち yiy_i 回成功した集計データ(Yi∼B(mi,πi)Y_i \sim B(m_i, \pi_i))では、∑i(yiηi−milog⁡(1+eηi))\sum_i (y_i\eta_i - m_i\log(1 + e^{\eta_i})) に定数を加えたものになる。以下、集計データでは bb を milog⁡(1+eθ)m_i\log(1 + e^{\theta}) に読み替えれば、議論はそのまま成り立つ。

命題 6.5(スコアとヘッセ行列)正準リンクのとき、μi=b′(ηi)\mu_i = b'(\eta_i)、W=diag⁡(b′′(η1),…,b′′(ηn))W = \operatorname{diag}\bigl(b''(\eta_1), \dots, b''(\eta_n)\bigr) とおくと

∇ℓ(β)=1ϕX⊤(y−μ),∇2ℓ(β)=−1ϕX⊤WX\nabla\ell(\beta) = \frac{1}{\phi}X^{\top}(y - \mu), \qquad \nabla^2\ell(\beta) = -\frac{1}{\phi}X^{\top}WX

証明. 連鎖律より、β↦b(xi⊤β)\beta \mapsto b(x_i^{\top}\beta) の勾配は b′(ηi)xib'(\eta_i)x_i、ヘッセ行列は b′′(ηi)xixi⊤b''(\eta_i)x_ix_i^{\top} である。これらを足し合わせればよい。□\square

命題 6.3 より ϕW=diag⁡(Var⁡(Yi))\phi W = \operatorname{diag}(\operatorname{Var}(Y_i)) である。ヘッセ行列が yy を含まないので、観測されたフィッシャー情報量と期待値は一致する。尤度方程式 X⊤(y−μ^)=0X^{\top}(y - \hat{\mu}) = 0 は、第5章の正規方程式 X⊤e=0X^{\top}e = 0 の類似であり、定数項があれば ∑iμ^i=∑iyi\sum_i \hat{\mu}_i = \sum_i y_i となる(問題 6.3)。

定理 6.6(正準リンクの対数尤度の凹性)正準リンクの一般化線形モデルで、Θ=R\Theta = \mathbb{R}(正規・ベルヌーイ・二項・ポアソン分布はこれをみたす)とし、各 YiY_i の分布は 1 点に集中しないとする。このとき ℓ\ell は Rp\mathbb{R}^p 上の凹関数である。さらに rank⁡X=p\operatorname{rank} X = p ならば ℓ\ell は狭義凹で、最尤推定量は存在すればただ一つであり、それは尤度方程式 ∇ℓ(β)=0\nabla\ell(\beta) = 0 の解と一致する。

証明. 命題 6.5 と b′′>0b'' > 0 より、任意の β,h\beta, h について h⊤∇2ℓ(β)h=−1ϕ∑ib′′(xi⊤β)(xi⊤h)2≤0h^{\top}\nabla^2\ell(\beta)h = -\frac{1}{\phi}\sum_i b''(x_i^{\top}\beta)(x_i^{\top}h)^2 \leq 0 で、Xh≠0Xh \neq 0 なら <0< 0。テイラーの定理(01 第7章 定理 7.21)より、ある τ∈(0,1)\tau \in (0, 1) について

ℓ(β+h)=ℓ(β)+∇ℓ(β)⊤h+12h⊤∇2ℓ(β+τh)h≤ℓ(β)+∇ℓ(β)⊤h(1)\ell(\beta + h) = \ell(\beta) + \nabla\ell(\beta)^{\top}h + \frac{1}{2}h^{\top}\nabla^2\ell(\beta + \tau h)h \leq \ell(\beta) + \nabla\ell(\beta)^{\top}h \tag{1}

であり、Xh≠0Xh \neq 0 なら不等号は狭義である。β0,β1∈Rp\beta_0, \beta_1 \in \mathbb{R}^p、0<t<10 < t < 1、βt=(1−t)β0+tβ1\beta_t = (1 - t)\beta_0 + t\beta_1 とする。(1) を β=βt\beta = \beta_t と h=β0−βth = \beta_0 - \beta_t、h=β1−βth = \beta_1 - \beta_t に使い、それぞれ 1−t1 - t 倍、tt 倍して足すと、(1−t)(β0−βt)+t(β1−βt)=0(1 - t)(\beta_0 - \beta_t) + t(\beta_1 - \beta_t) = 0 より

(1−t)ℓ(β0)+tℓ(β1)≤ℓ(βt)(1 - t)\ell(\beta_0) + t\ell(\beta_1) \leq \ell(\beta_t)

を得る。rank⁡X=p\operatorname{rank} X = p かつ β0≠β1\beta_0 \neq \beta_1 なら X(β0−βt)=tX(β0−β1)≠0X(\beta_0 - \beta_t) = tX(\beta_0 - \beta_1) \neq 0 なので不等号は狭義である。最大点が 2 つ β0≠β1\beta_0 \neq \beta_1 あれば、中点での値が最大値より大きくなって矛盾する。最後に、∇ℓ(β^)=0\nabla\ell(\hat{\beta}) = 0 なら (1) より任意の hh で ℓ(β^+h)≤ℓ(β^)\ell(\hat{\beta} + h) \leq \ell(\hat{\beta}) なので β^\hat{\beta} は最大点であり、逆に最大点では勾配が 00 である(01 の命題 7.23)。□\square

正準リンク以外では、ヘッセ行列に yi−μiy_i - \mu_i を含む項が加わり、対数尤度は一般には凹とは限らない(プロビットリンク g=Φ−1g = \Phi^{-1} のように、別の理由で凹になる例はある)。定理 6.6 は最大点の存在は保証しない。存在しない典型例が 6.7 節の完全分離である。

6.4 ニュートン法と反復重み付き最小二乗法

ℓ\ell を最大化するにはニュートン法を使う。現在の点 β\beta のまわりで ℓ\ell を 2 次のテイラー多項式 ℓ(β)+∇ℓ(β)⊤h+12h⊤∇2ℓ(β)h\ell(\beta) + \nabla\ell(\beta)^{\top}h + \frac{1}{2}h^{\top}\nabla^2\ell(\beta)h で近似し、∇2ℓ(β)\nabla^2\ell(\beta) が負定値ならその最大点 h=−∇2ℓ(β)−1∇ℓ(β)h = -\nabla^2\ell(\beta)^{-1}\nabla\ell(\beta) へ進む:

β(t+1)=β(t)−∇2ℓ(β(t))−1∇ℓ(β(t))\beta^{(t+1)} = \beta^{(t)} - \nabla^2\ell(\beta^{(t)})^{-1}\nabla\ell(\beta^{(t)})

定理 6.7(ニュートン法は反復重み付き最小二乗法)正準リンクで rank⁡X=p\operatorname{rank} X = p とする。β(t)\beta^{(t)} での線形予測子・平均・重みを η(t)=Xβ(t)\eta^{(t)} = X\beta^{(t)}、μi(t)=b′(ηi(t))\mu_i^{(t)} = b'(\eta_i^{(t)})、W(t)=diag⁡(b′′(ηi(t)))W^{(t)} = \operatorname{diag}(b''(\eta_i^{(t)})) とし、作業応答 (working response)

z(t)=η(t)+(W(t))−1(y−μ(t))z^{(t)} = \eta^{(t)} + (W^{(t)})^{-1}(y - \mu^{(t)})

を定めると、ニュートン法の更新は

β(t+1)=(X⊤W(t)X)−1X⊤W(t)z(t)\beta^{(t+1)} = (X^{\top}W^{(t)}X)^{-1}X^{\top}W^{(t)}z^{(t)}

であり、これは ∑iwi(t)(zi(t)−xi⊤β)2\sum_i w_i^{(t)}(z_i^{(t)} - x_i^{\top}\beta)^2(wi(t)w_i^{(t)} は W(t)W^{(t)} の対角成分)を最小にする重み付き最小二乗法の解である。

証明. 命題 6.5 より(ϕ\phi は約分されて)β(t+1)=β(t)+(X⊤WX)−1X⊤(y−μ)\beta^{(t+1)} = \beta^{(t)} + (X^{\top}WX)^{-1}X^{\top}(y - \mu)(添字 (t)(t) を省く)。X⊤WXβ(t)=X⊤Wη(t)X^{\top}WX\beta^{(t)} = X^{\top}W\eta^{(t)} なので

β(t+1)=(X⊤WX)−1(X⊤Wη(t)+X⊤(y−μ))=(X⊤WX)−1X⊤W(η(t)+W−1(y−μ))\beta^{(t+1)} = (X^{\top}WX)^{-1}\bigl(X^{\top}W\eta^{(t)} + X^{\top}(y - \mu)\bigr) = (X^{\top}WX)^{-1}X^{\top}W\bigl(\eta^{(t)} + W^{-1}(y - \mu)\bigr)

一方 ∑iwi(zi−xi⊤β)2=∥W1/2z−W1/2Xβ∥2\sum_i w_i(z_i - x_i^{\top}\beta)^2 = \lVert W^{1/2}z - W^{1/2}X\beta \rVert^2 で、W1/2XW^{1/2}X の階数は pp なので、第5章の定理 5.4(正規方程式)より最小点は (X⊤WX)−1X⊤Wz(X^{\top}WX)^{-1}X^{\top}Wz である。□\square

重みと作業応答を更新しながら最小二乗法を解き直すので、この計算法を反復重み付き最小二乗法 (iteratively reweighted least squares, IRLS) という。作業応答は g(yi)g(y_i) を μi\mu_i のまわりで 1 次近似したもの ηi+g′(μi)(yi−μi)\eta_i + g'(\mu_i)(y_i - \mu_i)(正準リンクでは g′(μ)=1/b′′(θ)g'(\mu) = 1/b''(\theta))で、重み wiw_i はその分散の逆数に比例する。ロジスティック回帰では wi=πi(1−πi)w_i = \pi_i(1 - \pi_i)(集計データでは miπi(1−πi)m_i\pi_i(1 - \pi_i))、ポアソン回帰では wi=μiw_i = \mu_i である。正準リンク以外でも、ヘッセ行列をその期待値で置き換えたフィッシャーのスコア法は、wi=1/(V(μi)g′(μi)2)w_i = 1/(V(\mu_i)g'(\mu_i)^2)、zi=ηi+g′(μi)(yi−μi)z_i = \eta_i + g'(\mu_i)(y_i - \mu_i) とする同じ形の反復になる(計算は省略する)。

ニュートン法は最大点の近くでは局所的に 2 次の速さで収束するが(−ℓ-\ell の最小化とみて 23 最適化 第6章 定理 6.4)、遠くから始めると収束は保証されないので、実装では対数尤度が増えるまで更新幅を半分にするなどの工夫をする(同章 6.3 節の減衰ニュートン法)。推定値の精度については、適当な正則条件のもとで n→∞n \to \infty のとき β^\hat{\beta} は近似的に Np(β,ϕ(X⊤WX)−1)N_p\bigl(\beta, \phi(X^{\top}WX)^{-1}\bigr) に従う(第3章 定理 3.32 の最尤推定量の漸近正規性を、多次元の、独立だが同一分布でない観測に拡張したもの。証明は省略する)。そこで WW を β^\hat{\beta} で評価した SE⁡(β^j)=ϕ[(X⊤W^X)−1]jj\operatorname{SE}(\hat{\beta}_j) = \sqrt{\phi[(X^{\top}\hat{W}X)^{-1}]_{jj}} を標準誤差とし、zj=β^j/SE⁡(β^j)z_j = \hat{\beta}_j/\operatorname{SE}(\hat{\beta}_j) を標準正規分布と比べる(ワルド検定)。

例 6.8(クーポンと購入)ある通販サイトで、メールに付けるクーポンの額 xx(100 円単位で 0,1,…,50, 1, \dots, 5)を変え、既存顧客(s=0s = 0)と新規顧客(s=1s = 1)にそれぞれ各額 200 通ずつ送って、購入した人数 yy を数えた(説明用の架空のデータ)。

クーポン xx 0 1 2 3 4 5
既存顧客(s=0s = 0)の購入数 6 10 19 20 18 27
新規顧客(s=1s = 1)の購入数 16 15 26 23 27 41

12 群の購入数を Yi∼B(200,πi)Y_i \sim B(200, \pi_i)、log⁡πi1−πi=β0+β1xi+β2si\log\frac{\pi_i}{1 - \pi_i} = \beta_0 + \beta_1x_i + \beta_2s_i とモデル化し、IRLS で当てはめる。

import numpy as np

x = np.tile(np.arange(6.0), 2)          # クーポン額(100 円単位)
s = np.repeat([0.0, 1.0], 6)            # 0 = 既存顧客, 1 = 新規顧客
m = np.full(12, 200.0)                  # 各群の送付数
y = np.array([6, 10, 19, 20, 18, 27, 16, 15, 26, 23, 27, 41], dtype=float)  # 購入数

X = np.column_stack([np.ones(12), x, s])
beta = np.zeros(3)
for it in range(1, 7):
    eta = X @ beta
    pi = 1 / (1 + np.exp(-eta))
    w = m * pi * (1 - pi)               # 重み(各群の購入数の分散)
    z = eta + (y - m * pi) / w          # 作業応答
    beta = np.linalg.solve(X.T @ (w[:, None] * X), X.T @ (w * z))  # 重み付き最小二乗
    print(it, beta.round(6))

pi = 1 / (1 + np.exp(-X @ beta))
w = m * pi * (1 - pi)
se = np.sqrt(np.diag(np.linalg.inv(X.T @ (w[:, None] * X))))
print("標準誤差", se.round(4), " z 値", (beta / se).round(2))

出力:

1 [-1.872381  0.082286  0.16    ]
2 [-2.683023  0.172323  0.334791]
3 [-2.998649  0.222944  0.431219]
4 [-3.033762  0.2292    0.442531]
5 [-3.034123  0.229266  0.442641]
6 [-3.034123  0.229266  0.442641]
標準誤差 [0.1632 0.041  0.1374]  z 値 [-18.6    5.59   3.22]

係数の変化の最大値は 4〜6 回目で 0.0350.035、0.000360.00036、4×10−84 \times 10^{-8} とほぼ 2 乗のオーダーで小さくなり、5 回でほぼ収束している。推定値は β^=(−3.034,0.2293,0.4426)\hat{\beta} = (-3.034, 0.2293, 0.4426)、標準誤差は (0.163,0.0410,0.137)(0.163, 0.0410, 0.137) である。尤度方程式から、購入数の当てはめ値の合計は既存顧客・新規顧客それぞれで実際の合計(100 人、148 人)に一致する。

6.5 オッズ比の解釈

確率 π\pi に対し π/(1−π)\pi/(1 - \pi) をオッズ (odds) という。ロジスティック回帰は対数オッズ log⁡π1−π\log\frac{\pi}{1 - \pi} を x⊤βx^{\top}\beta とおくモデルなので、ほかの説明変数を固定して xjx_j を 11 増やすと、対数オッズは βj\beta_j 増え、オッズは eβje^{\beta_j} 倍になる。eβje^{\beta_j} をオッズ比 (odds ratio) という。この倍率がほかの説明変数の値によらないのはモデルの仮定であり、交互作用を入れれば変わりうる。

例 6.8 では、クーポン 100 円あたりのオッズ比は e0.2293=1.258e^{0.2293} = 1.258(95% 信頼区間は e0.2293±1.96×0.0410e^{0.2293 \pm 1.96 \times 0.0410} より [1.161,1.363][1.161, 1.363])、新規顧客の既存顧客に対するオッズ比は e0.4426=1.557e^{0.4426} = 1.557([1.189,2.038][1.189, 2.038])である。購入確率でいえば、既存顧客ではクーポンなしの 4.6% から 500 円で 13.1% に、新規顧客では 7.0% から 19.1% になる。確率の変化 ∂π/∂xj=βjπ(1−π)\partial\pi/\partial x_j = \beta_j\pi(1 - \pi) は π\pi によって変わり、π(1−π)≤1/4\pi(1 - \pi) \leq 1/4 より ∣βj∣/4\lvert \beta_j \rvert/4 を超えない。

注意

オッズ比は確率の比(リスク比)ではない。2 つの確率を π0,π1\pi_0, \pi_1 とすると、確率の比は π1π0=(オッズ比)×1−π11−π0\frac{\pi_1}{\pi_0} = (\text{オッズ比}) \times \frac{1 - \pi_1}{1 - \pi_0} である。オッズ比が 2 でも、π0=0.01\pi_0 = 0.01 なら π1=0.0198\pi_1 = 0.0198(確率の比 1.98)だが、π0=0.5\pi_0 = 0.5 なら π1=2/3\pi_1 = 2/3(確率の比 1.33)にすぎない。「オッズ比 2 = 確率が 2 倍」と読んでよいのは、両方の確率が小さいときだけである。

ヒント

実務では 購入や不正のように正例がまれなデータでは、学習を軽くするため負例だけを割合 rr で間引く(ダウンサンプリング)ことが多い。このとき、間引いたデータでのオッズは元のオッズの 1/r1/r 倍になるので、ロジスティック回帰の傾きはそのまま使えるが、定数項は −log⁡r-\log r(>0> 0)だけ大きくなる(問題 6.4)。予測確率を使う前に、定数項に log⁡r\log r を足して補正しなければならない。同じ理由で、結果(病気の有無)で対象を選ぶ症例対照研究でも、オッズ比は推定できる。

6.6 逸脱度と尤度比検定

各観測に別々のパラメータを与え μ^i=yi\hat{\mu}_i = y_i とするモデルを飽和モデル (saturated model) といい、その対数尤度を ℓsat\ell_{\text{sat}} と書く。

定義 6.9(逸脱度, deviance)D=2ϕ(ℓsat−ℓ(β^))D = 2\phi\bigl(\ell_{\text{sat}} - \ell(\hat{\beta})\bigr) をモデルの逸脱度という。

定義から次のように計算できる(0log⁡0=00\log 0 = 0 とする)。

  • 正規分布:D=∑i(yi−μ^i)2=RSSD = \sum_i (y_i - \hat{\mu}_i)^2 = \mathrm{RSS}。逸脱度は残差平方和の一般化である。
  • ポアソン分布:D=2∑i(yilog⁡(yi/μ^i)−(yi−μ^i))D = 2\sum_i \bigl(y_i\log(y_i/\hat{\mu}_i) - (y_i - \hat{\mu}_i)\bigr)。
  • 二項分布(集計データ):D=2∑i(yilog⁡yimiπ^i+(mi−yi)log⁡mi−yimi(1−π^i))D = 2\sum_i \Bigl(y_i\log\frac{y_i}{m_i\hat{\pi}_i} + (m_i - y_i)\log\frac{m_i - y_i}{m_i(1 - \hat{\pi}_i)}\Bigr)。ベルヌーイ分布(mi=1m_i = 1)では ℓsat=0\ell_{\text{sat}} = 0 なので D=−2ℓ(β^)D = -2\ell(\hat{\beta})。

計画行列 X0X_0 のモデル M0M_0 が X1X_1 のモデル M1M_1 に含まれる(C(X0)⊂C(X1)\mathcal{C}(X_0) \subset \mathcal{C}(X_1)、パラメータ数 p0<p1p_0 < p_1)とき、ℓsat\ell_{\text{sat}} が打ち消し合って

D0−D1ϕ=2(ℓ(β^1)−ℓ(β^0))\frac{D_0 - D_1}{\phi} = 2\bigl(\ell(\hat{\beta}_1) - \ell(\hat{\beta}_0)\bigr)

となり、逸脱度の差は尤度比検定(第4章 定義 4.13)の統計量そのものである。ϕ\phi が既知で M0M_0 が正しければ、ウィルクスの定理(第4章 定理 4.14。ここでも適当な正則条件のもとで、独立で同一分布でない観測への拡張を認める)により、n→∞n \to \infty で近似的に χ2(p1−p0)\chi^2(p_1 - p_0) に従う。正規分布で σ2\sigma^2 が未知なら、第5章 定理 5.16 の FF 検定が正確な検定を与える。

例 6.8 では、逸脱度はモデル全体で D=7.47D = 7.47、新規顧客の項を除いたモデルで 18.0318.03、定数項だけのモデルで 50.4550.45 である。「新規か既存かで購入確率は変わらない」(β2=0\beta_2 = 0)の尤度比統計量は 18.03−7.47=10.5618.03 - 7.47 = 10.56(自由度 1、p=0.0012p = 0.0012)で、ワルド統計量 z2=3.222=10.38z^2 = 3.22^2 = 10.38 とほぼ同じ結論になる。

逸脱度の使い方には注意がいる。

  • 値そのものはデータの持ち方に依存する。 例 6.8 を 2400 人分の 0/1 データとして当てはめると、推定値は同じだが飽和モデルが変わり、逸脱度は 1552.291552.29 になる。入れ子のモデルの差(10.5610.56)は変わらない。
  • 適合度の検定:集計データで各 mim_i が大きい(ポアソンなら各 μi\mu_i が大きい)とき、モデルが正しければ DD は近似的に χ2(n−p)\chi^2(n - p) に従う。例 6.8 では D=7.47D = 7.47(自由度 9、p=0.59p = 0.59)で、当てはまりの悪さを示す証拠はない。しかし 0/1 データ(mi=1m_i = 1)では nn が大きくてもこの近似は成り立たず(飽和モデルのパラメータが nn とともに増え、ウィルクスの定理の前提が崩れる)、DD を適合度の検定に使ってはいけない。
  • 過分散:ポアソン回帰・二項回帰は分散が平均で決まる(ϕ=1\phi = 1)と仮定している。件数が大きいのに D/(n−p)D/(n - p) が 1 よりずっと大きければ、実際の分散がモデルより大きい(過分散)疑いがあり、標準誤差は過小になる。ϕ\phi を推定する方法(擬似尤度)や負の二項分布のモデルを検討する。

6.7 完全分離と最尤推定量の非存在

ロジスティック回帰の当てはめで、係数と標準誤差が異常に大きくなり、計算が収束しないことがある。原因は説明変数が 0/1 を「分けすぎる」ことにある。以下、0/1 データ(ベルヌーイ分布)で、si=2yi−1∈{−1,1}s_i = 2y_i - 1 \in \lbrace -1, 1 \rbrace とおく。

定義 6.10(分離)sixi⊤v>0s_ix_i^{\top}v > 0 がすべての ii で成り立つ v∈Rpv \in \mathbb{R}^p が存在するとき、データは完全分離 (complete separation) しているという(yi=1y_i = 1 の点と yi=0y_i = 0 の点が超平面 x⊤v=0x^{\top}v = 0 で完全に分かれる)。完全分離ではないが、sixi⊤v≥0s_ix_i^{\top}v \geq 0 がすべての ii で成り立つ v≠0v \neq 0 が存在するとき、準完全分離 (quasi-complete separation) しているという。

定理 6.11(最尤推定量の存在)ロジスティック回帰で rank⁡X=p\operatorname{rank} X = p とする。

  1. 完全分離していれば、すべての β\beta で ℓ(β)<0\ell(\beta) < 0 かつ sup⁡βℓ(β)=0\sup_{\beta}\ell(\beta) = 0 であり、最尤推定量は存在しない。
  2. 最尤推定量が存在するための必要十分条件は、完全分離も準完全分離もしていない(任意の v≠0v \neq 0 について sixi⊤v<0s_ix_i^{\top}v < 0 となる ii がある)ことである。存在すればただ一つである。

証明. 1−Λ(t)=Λ(−t)1 - \Lambda(t) = \Lambda(-t) より、yi=1y_i = 1 の項 log⁡Λ(xi⊤β)\log\Lambda(x_i^{\top}\beta) と yi=0y_i = 0 の項 log⁡(1−Λ(xi⊤β))\log(1 - \Lambda(x_i^{\top}\beta)) はどちらも log⁡Λ(sixi⊤β)\log\Lambda(s_ix_i^{\top}\beta) と書けて、

ℓ(β)=∑i=1nlog⁡Λ(sixi⊤β)\ell(\beta) = \sum_{i=1}^n \log\Lambda(s_ix_i^{\top}\beta)

となる。各項は負で、sixi⊤βs_ix_i^{\top}\beta について単調増加である。

(1) ℓ<0\ell < 0 は明らか。完全分離を与える vv について、u→∞u \to \infty のとき各項 log⁡Λ(u⋅sixi⊤v)→0\log\Lambda(u \cdot s_ix_i^{\top}v) \to 0 なので ℓ(uv)→0\ell(uv) \to 0。よって上限 00 は達成されない。

(2) 必要性:ある v≠0v \neq 0 ですべての sixi⊤v≥0s_ix_i^{\top}v \geq 0 なのに最大点 β^\hat{\beta} があるとする。各項の単調性より ℓ(β^+v)≥ℓ(β^)\ell(\hat{\beta} + v) \geq \ell(\hat{\beta}) なので β^+v\hat{\beta} + v も最大点となり、定理 6.6 の一意性に反する。十分性:単位球面 S={v∣∥v∥=1}S = \lbrace v \mid \lVert v \rVert = 1 \rbrace 上の連続関数 F(v)=max⁡i(−sixi⊤v)F(v) = \max_i(-s_ix_i^{\top}v) は仮定より正の値をとる。SS はコンパクトなので FF は正の最小値 cc をもつ(01 第7章 定理 7.7)。β≠0\beta \neq 0 なら v=β/∥β∥v = \beta/\lVert \beta \rVert について −sixi⊤β≥c∥β∥-s_ix_i^{\top}\beta \geq c\lVert \beta \rVert となる ii があり、その項だけを残して ℓ(β)≤log⁡Λ(−c∥β∥)\ell(\beta) \leq \log\Lambda(-c\lVert \beta \rVert)。Λ(−cR)=2−n\Lambda(-cR) = 2^{-n} となる R≥0R \geq 0 をとると、∥β∥>R\lVert \beta \rVert > R なら ℓ(β)<−nlog⁡2=ℓ(0)\ell(\beta) < -n\log 2 = \ell(0)。よって ℓ\ell の最大値は閉球 {∥β∥≤R}\lbrace \lVert \beta \rVert \leq R \rbrace 上での最大値に等しく、これはコンパクト集合上の連続関数なので存在する(01 の定理 7.7)。一意性は定理 6.6 による。□\square

完全分離のとき IRLS を回すと、係数の比はほぼ一定のまま大きさだけが増え続け、対数尤度は 00 に近づく(問題 6.5)。ソフトウェアは収束しない、あるいは「当てはめ確率が 0 か 1 になった」と警告し、巨大な係数と標準誤差を出力する。これは推定の失敗であって、「その変数の効果が非常に大きい」という発見ではない。

ヒント

実務では 分離が起きたら、まず原因を調べる。標本が小さい・変数が多い・まれなカテゴリがある、といった場合のほか、結果を事実上決めてしまう変数が紛れ込んでいることが多い。解約の予測に「解約手続きの受付日」のような、結果が出た後にしか決まらない変数を入れていれば、データは完全分離する(データ漏洩。24 機械学習の数理 第1章)。漏洩でなければ、カテゴリをまとめる、正則化する(6.8 節。ℓ(β)−λ∥β∥2\ell(\beta) - \lambda\lVert \beta \rVert^2 は ℓ≤0\ell \leq 0 より ∥β∥→∞\lVert \beta \rVert \to \infty で −∞-\infty に発散するので、最大点が必ず存在する)、ベイズ的な事前分布を置く(第7章)などで対処する。

6.8 過学習と正則化

第5章の線形回帰で、説明変数を増やしたときに何が起こるかを式で見る。真の平均 μ=E[Y]\mu = E[Y] は C(X)\mathcal{C}(X) に入っていなくてもよいとし、誤差は (A1)(A2) をみたすとする。

命題 6.12(訓練誤差の楽観性)Y=μ+εY = \mu + \varepsilon、y^=HY\hat{y} = HY(HH は pp 列の計画行列 XX のハット行列)とし、Y′=μ+ε′Y' = \mu + \varepsilon' を同じ説明変数での新しい観測(ε′\varepsilon' は ε\varepsilon と独立で同じ分布)とすると、

E∥Y−y^∥2=∥(In−H)μ∥2+(n−p)σ2,E∥Y′−y^∥2=∥(In−H)μ∥2+(n+p)σ2E\lVert Y - \hat{y} \rVert^2 = \lVert (I_n - H)\mu \rVert^2 + (n - p)\sigma^2, \qquad E\lVert Y' - \hat{y} \rVert^2 = \lVert (I_n - H)\mu \rVert^2 + (n + p)\sigma^2

である。特に、新しい観測に対する誤差は訓練誤差より平均して 2pσ22p\sigma^2 大きい。

証明. Y−y^=(In−H)μ+(In−H)εY - \hat{y} = (I_n - H)\mu + (I_n - H)\varepsilon で、交差項の期待値は 00、E∥(In−H)ε∥2=σ2tr⁡(In−H)=(n−p)σ2E\lVert (I_n - H)\varepsilon \rVert^2 = \sigma^2\operatorname{tr}(I_n - H) = (n - p)\sigma^2(第5章 定理 5.12 と同じ計算)。また Y′−y^=(In−H)μ+ε′−HεY' - \hat{y} = (I_n - H)\mu + \varepsilon' - H\varepsilon で、ε′\varepsilon' と ε\varepsilon は独立で平均 00 なので交差項の期待値は 00、E∥ε′∥2=nσ2E\lVert \varepsilon' \rVert^2 = n\sigma^2、E∥Hε∥2=σ2tr⁡H=pσ2E\lVert H\varepsilon \rVert^2 = \sigma^2\operatorname{tr}H = p\sigma^2。□\square

∥(In−H)μ∥2\lVert (I_n - H)\mu \rVert^2(偏り)は列を増やすと減るが、pσ2p\sigma^2(分散)は増える。予測誤差は両者の和なので、変数を増やしすぎると悪化する。一方、訓練誤差はこの増加を −pσ2-p\sigma^2 として逆向きに数えるので、変数を増やすほど良く見える。これが過学習 (overfitting) である。命題 6.12 から RSS+2pσ2\mathrm{RSS} + 2p\sigma^2 は E∥Y′−y^∥2E\lVert Y' - \hat{y} \rVert^2 の不偏推定量であり、これを σ2\sigma^2 で割って定数を調整したものをマローズの CpC_p という。同じ考え方を尤度に一般化したのが 6.10 節の AIC である(同じ結果は 24 第1章 命題 1.18 でも、バイアス–バリアンス分解の例として扱う)。

過学習を抑える一つの方法は、係数が大きくなることに罰則を課す正則化 (regularization) である。以下、説明変数は標準化(平均 00・分散 11)し、yy も中心化して定数項を除いておく(定数項には罰則を課さない)。

命題 6.13(リッジ回帰, ridge regression)λ>0\lambda > 0 について、∥y−Xβ∥2+λ∥β∥2\lVert y - X\beta \rVert^2 + \lambda\lVert \beta \rVert^2 の最小点はただ一つで、β^λ=(X⊤X+λIp)−1X⊤y\hat{\beta}_{\lambda} = (X^{\top}X + \lambda I_p)^{-1}X^{\top}y である(XX の階数は問わない)。X=UDV⊤X = UDV^{\top}(UU は列が正規直交な n×rn \times r 行列、D=diag⁡(d1,…,dr)D = \operatorname{diag}(d_1, \dots, d_r)、dj>0d_j > 0、VV は列が正規直交な p×rp \times r 行列、r=rank⁡Xr = \operatorname{rank} X)を特異値分解とすると

Xβ^λ=∑j=1rdj2dj2+λujuj⊤yX\hat{\beta}_{\lambda} = \sum_{j=1}^r \frac{d_j^2}{d_j^2 + \lambda}u_ju_j^{\top}y

証明. XX の下に λIp\sqrt{\lambda}I_p を、yy の下に 0∈Rp0 \in \mathbb{R}^p を付け加えて

X~=(XλIp),y~=(y0)\tilde{X} = \begin{pmatrix} X \\ \sqrt{\lambda}I_p \end{pmatrix}, \qquad \tilde{y} = \begin{pmatrix} y \\ 0 \end{pmatrix}

とおくと、目的関数は ∥y~−X~β∥2\lVert \tilde{y} - \tilde{X}\beta \rVert^2 で、X~\tilde{X} の階数は pp である。第5章の定理 5.4 より最小点はただ一つで、(X~⊤X~)−1X~⊤y~=(X⊤X+λIp)−1X⊤y(\tilde{X}^{\top}\tilde{X})^{-1}\tilde{X}^{\top}\tilde{y} = (X^{\top}X + \lambda I_p)^{-1}X^{\top}y。後半は、VV を Rp\mathbb{R}^p の正規直交基底に延長して計算すると (X⊤X+λIp)−1X⊤=V(D2+λIr)−1DU⊤(X^{\top}X + \lambda I_p)^{-1}X^{\top} = V(D^2 + \lambda I_r)^{-1}DU^{\top} となるので、Xβ^λ=UD2(D2+λIr)−1U⊤yX\hat{\beta}_{\lambda} = UD^2(D^2 + \lambda I_r)^{-1}U^{\top}y。□\square

最小二乗法の当てはめ値は ∑jujuj⊤y\sum_j u_ju_j^{\top}y(C(X)\mathcal{C}(X) への射影)なので、リッジ回帰は各特異ベクトル方向の成分を dj2/(dj2+λ)d_j^2/(d_j^2 + \lambda) 倍に縮める。縮み方は特異値の小さい方向ほど大きい。特異値の小さい方向とは説明変数どうしがほぼ一次従属になる方向で、第5章で見た多重共線性で最小二乗推定量の分散が大きくなる方向である。偏りを入れる代わりに分散を減らすことで、平均二乗誤差では最小二乗法に勝つことができる。

定理 6.14(リッジ推定量の平均二乗誤差)(A1)(A2) を仮定し、rank⁡X=p\operatorname{rank} X = p とする。X=UDV⊤X = UDV^{\top}(VV は pp 次直交行列)、α=V⊤β\alpha = V^{\top}\beta とおくと、0<λ≤σ2/max⁡jαj20 < \lambda \leq \sigma^2/\max_j\alpha_j^2 をみたすすべての λ\lambda について(β=0\beta = 0 ならすべての λ>0\lambda > 0 について)

E∥β^λ−β∥2<E∥β^−β∥2E\lVert \hat{\beta}_{\lambda} - \beta \rVert^2 < E\lVert \hat{\beta} - \beta \rVert^2

である(β^\hat{\beta} は最小二乗推定量)。

証明. VV は直交行列なので ∥β^λ−β∥=∥V⊤β^λ−α∥\lVert \hat{\beta}_{\lambda} - \beta \rVert = \lVert V^{\top}\hat{\beta}_{\lambda} - \alpha \rVert で、命題 6.13 の証明より V⊤β^λV^{\top}\hat{\beta}_{\lambda} の第 jj 成分は djuj⊤Y/(dj2+λ)d_ju_j^{\top}Y/(d_j^2 + \lambda)。E[uj⊤Y]=uj⊤UDV⊤β=djαjE[u_j^{\top}Y] = u_j^{\top}UDV^{\top}\beta = d_j\alpha_j、Var⁡(uj⊤Y)=σ2\operatorname{Var}(u_j^{\top}Y) = \sigma^2 より、この成分の平均二乗誤差(分散と偏りの 2 乗の和)は

fj(λ)=dj2σ2(dj2+λ)2+(dj2αjdj2+λ−αj)2=dj2σ2+λ2αj2(dj2+λ)2f_j(\lambda) = \frac{d_j^2\sigma^2}{(d_j^2 + \lambda)^2} + \Bigl(\frac{d_j^2\alpha_j}{d_j^2 + \lambda} - \alpha_j\Bigr)^2 = \frac{d_j^2\sigma^2 + \lambda^2\alpha_j^2}{(d_j^2 + \lambda)^2}

である。微分すると fj′(λ)=2dj2(λαj2−σ2)/(dj2+λ)3f_j'(\lambda) = 2d_j^2(\lambda\alpha_j^2 - \sigma^2)/(d_j^2 + \lambda)^3 なので、fjf_j は [0,σ2/αj2][0, \sigma^2/\alpha_j^2](αj=0\alpha_j = 0 なら [0,∞)[0, \infty))で狭義単調減少である。λ=0\lambda = 0 が最小二乗推定量にあたるので、0<λ≤σ2/max⁡jαj20 < \lambda \leq \sigma^2/\max_j\alpha_j^2 なら ∑jfj(λ)<∑jfj(0)\sum_j f_j(\lambda) < \sum_j f_j(0)。□\square

この結果は Hoerl と Kennard(1970 年)による。第5章 定理 5.10(ガウス–マルコフの定理)とは矛盾しない。リッジ推定量は線形だが不偏ではない。最適な λ\lambda は未知の β,σ2\beta, \sigma^2 に依存するので、実際には交差検証で選ぶ。リッジ回帰は、ベイズ的にも解釈できる。誤差を Nn(0,σ2In)N_n(0, \sigma^2I_n)、β\beta の事前分布を Np(0,(σ2/λ)Ip)N_p(0, (\sigma^2/\lambda)I_p) とすると、事後密度の対数は −(∥y−Xβ∥2+λ∥β∥2)/(2σ2)-\bigl(\lVert y - X\beta \rVert^2 + \lambda\lVert \beta \rVert^2\bigr)/(2\sigma^2) に定数を加えたものなので、事後最頻値(第7章 例 7.12)はリッジ推定量に一致する(この場合は事後分布が正規分布なので、事後平均とも一致する)。

ラッソ (lasso。Tibshirani, 1996 年) は罰則に ℓ1\ell^1 ノルムを使う:12∥y−Xβ∥2+λ∥β∥1\frac{1}{2}\lVert y - X\beta \rVert^2 + \lambda\lVert \beta \rVert_1(∥β∥1=∑j∣βj∣\lVert \beta \rVert_1 = \sum_j \lvert \beta_j \rvert)を最小にする。目的関数は連続で ∥β∥→∞\lVert \beta \rVert \to \infty のとき発散するので最小点は存在する。

命題 6.15(直交計画でのラッソ)X⊤X=IpX^{\top}X = I_p とし、z=X⊤yz = X^{\top}y(最小二乗推定量)とおく。ラッソの最小点はただ一つで、その第 jj 成分は

Sλ(zj)=sign⁡(zj)max⁡(∣zj∣−λ,0)S_{\lambda}(z_j) = \operatorname{sign}(z_j)\max(\lvert z_j \rvert - \lambda, 0)

である(ソフト閾値関数)。同じ条件で、∥y−Xβ∥2+λ∥β∥2\lVert y - X\beta \rVert^2 + \lambda\lVert \beta \rVert^2 を最小にするリッジ回帰の解の第 jj 成分は zj/(1+λ)z_j/(1 + \lambda) である。

証明. 12∥y−Xβ∥2=12∥y∥2−β⊤z+12∥β∥2\frac{1}{2}\lVert y - X\beta \rVert^2 = \frac{1}{2}\lVert y \rVert^2 - \beta^{\top}z + \frac{1}{2}\lVert \beta \rVert^2 なので、目的関数は定数を除いて ∑jhj(βj)\sum_j h_j(\beta_j)、hj(b)=12b2−zjb+λ∣b∣h_j(b) = \frac{1}{2}b^2 - z_jb + \lambda\lvert b \rvert と成分ごとに分かれる。z=zjz = z_j と書く。∣z∣≤λ\lvert z \rvert \leq \lambda のとき、b>0b > 0 なら hj(b)=12b2+b(λ−z)>0h_j(b) = \frac{1}{2}b^2 + b(\lambda - z) > 0、b<0b < 0 なら hj(b)=12b2+∣b∣(λ+z)>0h_j(b) = \frac{1}{2}b^2 + \lvert b \rvert(\lambda + z) > 0 で、hj(0)=0h_j(0) = 0 なので最小点は 00 だけである。z>λz > \lambda のとき、b<0b < 0 では同じく hj(b)>0h_j(b) > 0、b≥0b \geq 0 では hj(b)=12(b−(z−λ))2−12(z−λ)2h_j(b) = \frac{1}{2}(b - (z - \lambda))^2 - \frac{1}{2}(z - \lambda)^2 なので、最小点は z−λz - \lambda だけである。z<−λz < -\lambda は対称。リッジ回帰も同様に成分ごとに b2−2zjb+λb2b^2 - 2z_jb + \lambda b^2 を最小化すればよい。□\square

直交計画では、リッジ回帰がすべての係数を同じ割合 1/(1+λ)1/(1 + \lambda) で縮めて(zj≠0z_j \neq 0 なら)決して 00 にしないのに対し、ラッソは ∣zj∣≤λ\lvert z_j \rvert \leq \lambda の係数をちょうど 00 にする。一般の XX でも、ラッソは一部の係数をちょうど 00 にすることが多く、推定と変数選択を同時に行う。一般の XX では閉じた式はないが、成分ごとの更新や近接勾配法(23 最適化 第5章 5.8 節)で解ける(ソフト閾値関数は 23 最適化 第2章 例 2.30 にも現れる)。相関の強い説明変数の組からは、ラッソはそのうちの一つを(データ次第でどれかを)選びがちで、選ばれる変数は不安定である。

注意

ラッソやステップワイズ法で変数を選び、選ばれた変数だけで最小二乗法をやり直して通常の pp 値や信頼区間を報告するのは誤りである。選択に同じデータを使っているため、選ばれた変数の係数は大きめに出る方向に偏っており、第5章 系 5.14 の tt 検定の前提(モデルがデータを見る前に決まっていること)が崩れている。pp 値は小さく、信頼区間は狭く出すぎる。データを分けて選択と推測に別々の部分を使うなどの対策が必要である(問題 6.7)。

6.9 交差検証

正則化の強さ λ\lambda や変数の組をデータで選ぶには、新しいデータでの予測誤差を見積もる必要がある。KK 分割交差検証 (KK-fold cross-validation) では、データを KK 個の組に分け、各組について「その組以外で当てはめ、その組で誤差を測る」ことを繰り返して平均する(K=nK = n を一つ抜き交差検証という)。

線形回帰と一つ抜き交差検証では、nn 回当てはめ直す必要はない。第5章の定理 5.24(1 つ抜きの残差)より

CVn=1n∑i=1n(yi−xi⊤β^(i))2=1n∑i=1n(ei1−hii)2\mathrm{CV}_n = \frac{1}{n}\sum_{i=1}^n \bigl(y_i - x_i^{\top}\hat{\beta}_{(i)}\bigr)^2 = \frac{1}{n}\sum_{i=1}^n \Bigl(\frac{e_i}{1 - h_{ii}}\Bigr)^2

であり、1 回の当てはめの残差とてこ比から計算できる。リッジ回帰でも、HH を Hλ=X(X⊤X+λIp)−1X⊤H_{\lambda} = X(X^{\top}X + \lambda I_p)^{-1}X^{\top} に置き換えた同じ式が成り立つ(問題 6.6)ので、多くの λ\lambda を安く比べられる。

交差検証が推定しているのは「この手順で n(1−1/K)n(1 - 1/K) 個のデータから当てはめたときの予測誤差の期待値」であって、全データで当てはめた最終モデルの誤差そのものではない(24 第1章 命題 1.25)。K=5K = 5 や 1010 がよく使われるのは、計算量と推定の偏り・ばらつきの兼ね合いによる経験則である。交差検証の誤差が最小の候補を選ぶと、その最小値自体は楽観的になるので、選んだモデルの性能は選択に使っていないテストデータで評価する。変数選択や標準化のような、データから何かを推定する前処理は各分割の内側で行わないとデータ漏洩になる(24 第1章 1.8 節。例 1.26 に数値例がある)。時系列では過去で当てはめて未来で評価し、同じ顧客の観測が複数あれば顧客単位で分ける。

6.10 AIC と BIC

交差検証は汎用だが、当てはめを何度も繰り返す。尤度が使えるモデルでは、1 回の当てはめから計算できる規準もよく使われる。

定義 6.16(AIC・BIC)候補のモデルのパラメータの個数を dd、最大対数尤度を ℓ(θ^)\ell(\hat{\theta})、観測の数を nn とするとき、

AIC=−2ℓ(θ^)+2d,BIC=−2ℓ(θ^)+dlog⁡n\mathrm{AIC} = -2\ell(\hat{\theta}) + 2d, \qquad \mathrm{BIC} = -2\ell(\hat{\theta}) + d\log n

をそれぞれ赤池情報量規準 (Akaike information criterion)、ベイズ情報量規準 (Bayesian information criterion) という。候補の中で値が最小のモデルを選ぶ。

AIC が近似しているもの

Y=(Y1,…,Yn)Y = (Y_1, \dots, Y_n) を未知の真の密度 gg からの i.i.d. 標本、{f(⋅∣θ)∣θ∈Θ⊂Rd}\lbrace f(\cdot \mid \theta) \mid \theta \in \Theta \subset \mathbb{R}^d \rbrace を候補のモデル、θ^=θ^(Y)\hat{\theta} = \hat{\theta}(Y) を最尤推定量とする。Z=(Z1,…,Zn)Z = (Z_1, \dots, Z_n) を YY と独立に同じ分布からとった「将来のデータ」とし、

T=EY[EZ[∑i=1nlog⁡f(Zi∣θ^(Y))]]T = E_Y\Bigl[E_Z\Bigl[\sum_{i=1}^n \log f(Z_i \mid \hat{\theta}(Y))\Bigr]\Bigr]

(当てはめたモデルが新しいデータに与える対数尤度の期待値)を考える。KL⁡(g,fθ)=Eg[log⁡g(Z1)]−Eg[log⁡f(Z1∣θ)]\operatorname{KL}(g, f_{\theta}) = E_g[\log g(Z_1)] - E_g[\log f(Z_1 \mid \theta)](カルバック–ライブラー情報量、00 以上)を使うと T=nEg[log⁡g(Z1)]−nEY[KL⁡(g,fθ^(Y))]T = nE_g[\log g(Z_1)] - nE_Y[\operatorname{KL}(g, f_{\hat{\theta}(Y)})] なので、TT が大きいモデルほど、当てはめたモデルが真の分布に(KL 情報量の意味で)平均的に近い。AIC はこの TT の −2-2 倍を推定する量である。

手元のデータの最大対数尤度 ℓ(θ^;Y)\ell(\hat{\theta}; Y) は、同じデータで当てはめて同じデータで評価しているので TT より大きめに出る。その偏りを見積もる。

AIC の導出の概略. θ0\theta_0 を Eg[log⁡f(Z1∣θ)]E_g[\log f(Z_1 \mid \theta)] を最大にするパラメータとし、J=−Eg[∇2log⁡f(Z1∣θ0)]J = -E_g[\nabla^2\log f(Z_1 \mid \theta_0)]、I=Eg[∇log⁡f(Z1∣θ0)∇log⁡f(Z1∣θ0)⊤]I = E_g[\nabla\log f(Z_1 \mid \theta_0)\nabla\log f(Z_1 \mid \theta_0)^{\top}] とおく。正則条件のもとで n(θ^−θ0)\sqrt{n}(\hat{\theta} - \theta_0) は近似的に Nd(0,J−1IJ−1)N_d(0, J^{-1}IJ^{-1}) に従う。偏りを

E[ℓ(θ^;Y)]−T=E[ℓ(θ^;Y)−ℓ(θ0;Y)]⏟(a)+E[ℓ(θ0;Y)]−E[ℓ(θ0;Z)]⏟=0+E[ℓ(θ0;Z)−ℓ(θ^;Z)]⏟(b)E[\ell(\hat{\theta}; Y)] - T = \underbrace{E[\ell(\hat{\theta}; Y) - \ell(\theta_0; Y)]}_{(a)} + \underbrace{E[\ell(\theta_0; Y)] - E[\ell(\theta_0; Z)]}_{= 0} + \underbrace{E[\ell(\theta_0; Z) - \ell(\hat{\theta}; Z)]}_{(b)}

と分ける。(a) は ℓ(⋅;Y)\ell(\cdot; Y) を勾配が 00 になる θ^\hat{\theta} のまわりで 2 次まで展開して n2(θ^−θ0)⊤J(θ^−θ0)\frac{n}{2}(\hat{\theta} - \theta_0)^{\top}J(\hat{\theta} - \theta_0) で近似でき、その期待値は約 12tr⁡(J−1I)\frac{1}{2}\operatorname{tr}(J^{-1}I)。(b) は EZ[ℓ(θ;Z)]E_Z[\ell(\theta; Z)] を最大点 θ0\theta_0 のまわりで展開すると同じ 2 次形式になり、やはり約 12tr⁡(J−1I)\frac{1}{2}\operatorname{tr}(J^{-1}I)。よって偏りは約 tr⁡(J−1I)\operatorname{tr}(J^{-1}I) である。モデルが真の分布を含む(g=f(⋅∣θ0)g = f(\cdot \mid \theta_0))ならフィッシャー情報量の 2 通りの表し方が一致して I=JI = J となり、偏りは tr⁡Id=d\operatorname{tr}I_d = d。したがって ℓ(θ^)−d\ell(\hat{\theta}) - d は TT の近似的な不偏推定量で、AIC=−2(ℓ(θ^)−d)\mathrm{AIC} = -2(\ell(\hat{\theta}) - d) は −2T-2T を推定する。(展開の剰余項の評価や、期待値と極限の交換に必要な正則条件の確認は省略した。)

要点をまとめると、AIC は「当てはめたモデルで、同じ大きさの独立な新しいデータの対数尤度を予測したときの期待値」(の −2-2 倍)の推定量であり、その導出はモデルが真の分布を含む(か十分近い)こと、nn が大きく dd が固定されていることを使っている。モデルが真の分布から離れているときは補正項が tr⁡(J−1I)\operatorname{tr}(J^{-1}I) になり、これを推定して使う規準を竹内の情報量規準(TIC)という。正規線形モデル(σ2\sigma^2 も推定)では AIC=nlog⁡(RSS/n)+2(p+1)+(定数)\mathrm{AIC} = n\log(\mathrm{RSS}/n) + 2(p + 1) + (\text{定数}) で、σ2\sigma^2 が既知ならマローズの CpC_p と本質的に同じものになる(問題 6.8)。

BIC が近似しているもの

BIC はベイズ統計(第7章)の考え方から来る(シュワルツ, 1978 年)。モデル MM に事前分布 π(θ)\pi(\theta) を置くと、データの周辺尤度 p(y∣M)=∫f(y∣θ)π(θ) dθp(y \mid M) = \int f(y \mid \theta)\pi(\theta)\ d\theta が大きいモデルほど事後確率が高い(モデルの事前確率が等しいとき)。

BIC の導出の概略. nn が大きいと、被積分関数は θ^\hat{\theta} の近くに集中し、そこで ℓ(θ)≈ℓ(θ^)−12(θ−θ^)⊤(nJ^)(θ−θ^)\ell(\theta) \approx \ell(\hat{\theta}) - \frac{1}{2}(\theta - \hat{\theta})^{\top}(n\hat{J})(\theta - \hat{\theta})(J^\hat{J} は 1 観測あたりの情報量の推定値)と近似できる。ガウス積分を行うと log⁡p(y∣M)≈ℓ(θ^)+log⁡π(θ^)+d2log⁡(2π)−d2log⁡n−12log⁡det⁡J^\log p(y \mid M) \approx \ell(\hat{\theta}) + \log\pi(\hat{\theta}) + \frac{d}{2}\log(2\pi) - \frac{d}{2}\log n - \frac{1}{2}\log\det\hat{J} となり(ラプラス近似)、nn とともに増える項だけを残すと log⁡p(y∣M)=ℓ(θ^)−d2log⁡n+O(1)\log p(y \mid M) = \ell(\hat{\theta}) - \frac{d}{2}\log n + O(1)。よって BIC≈−2log⁡p(y∣M)\mathrm{BIC} \approx -2\log p(y \mid M) である。(事前分布が θ^\hat{\theta} の近くで正で連続であることなどの正則条件と、剰余項の評価は省略した。)

BIC の罰則 dlog⁡nd\log n は、n≥8n \geq 8 なら AIC の 2d2d より大きく、より小さなモデルを選びやすい。目標も異なる。AIC は予測の良さ(KL 情報量)を、BIC は候補の中に真のモデルがあるときにそれを当てることを目指す。実際、候補が有限個で真の分布を含むものがあるとき、正則条件のもとで、BIC が「真の分布を含む候補のうちパラメータの最も少ないもの」(これを真のモデルと呼ぶ)を選ぶ確率は n→∞n \to \infty で 11 に近づく(一致性。主張のみ)が、AIC はそうならない。AIC は、真のモデルに不要なパラメータを加えた大きめのモデルを、nn が大きくても正の確率で選ぶ。最も簡単な場合で確かめよう。小さいモデル M0M_0 が正しく、M1M_1 はそれに不要なパラメータを 1 つ加えたものとする。AIC が M1M_1 を選ぶのは 2(ℓ1−ℓ0)>22(\ell_1 - \ell_0) > 2 のときで、ウィルクスの定理より 2(ℓ1−ℓ0)2(\ell_1 - \ell_0) は近似的に χ2(1)\chi^2(1) に従うから、その確率は n→∞n \to \infty で P(χ2(1)>2)=0.157P(\chi^2(1) > 2) = 0.157 に近づく。BIC が M1M_1 を選ぶのは 2(ℓ1−ℓ0)>log⁡n2(\ell_1 - \ell_0) > \log n のときで、その確率は 00 に近づく。次の数値実験は、正規線形モデルで無関係な説明変数を 1 つ加えるかどうかを 2000 回判定したものである(2 つのモデルの尤度比統計量は第5章 注意 5.17 の nlog⁡(RSS0/RSS1)n\log(\mathrm{RSS}_0/\mathrm{RSS}_1))。

import numpy as np

rng = np.random.default_rng(0)
for n in (100, 1000, 10000):
    lr = np.empty(2000)
    for r in range(2000):
        x = rng.normal(size=n)
        y = 1.0 + rng.normal(size=n)               # 真のモデルは定数項だけ(x は無関係)
        rss0 = np.sum((y - y.mean()) ** 2)         # 定数項だけのモデル
        xc = x - x.mean()
        rss1 = rss0 - (xc @ y) ** 2 / (xc @ xc)    # x を加えたモデル
        lr[r] = n * np.log(rss0 / rss1)            # 尤度比統計量 2(ℓ1 - ℓ0)
    print(f"n = {n:5d}  AIC が大きいモデルを選ぶ割合 {np.mean(lr > 2):.3f}"
          f"  BIC {np.mean(lr > np.log(n)):.3f}")

出力:

n =   100  AIC が大きいモデルを選ぶ割合 0.154  BIC 0.029
n =  1000  AIC が大きいモデルを選ぶ割合 0.147  BIC 0.009
n = 10000  AIC が大きいモデルを選ぶ割合 0.157  BIC 0.002

AIC の割合は nn によらず約 0.1570.157 のまま、BIC の割合は P(χ2(1)>log⁡n)=0.032,0.009,0.002P(\chi^2(1) > \log n) = 0.032, 0.009, 0.002 に沿って減っていく。

例 6.8 では、二項分布の対数尤度(定数を含む)から、モデル全体で AIC=69.43\mathrm{AIC} = 69.43、新規顧客の項を除いたモデルで 77.9977.99、定数項だけで 108.40108.40、BIC(nn を顧客数 2400 とする)は 86.7886.78、89.5689.56、114.19114.19 で、どちらもモデル全体を選ぶ。

注意を挙げる。(1) 比べられるのは同じデータ(同じ観測、同じ目的変数)に当てはめたモデルどうしだけで、yy のモデルと log⁡y\log y のモデルの AIC は、変数変換のヤコビアンを考慮しない限り比べられない。(2) 意味をもつのはモデル間の差であって、値そのものではない(定数を含めるかどうかで値は変わる)。(3) 集計データの BIC では、nn を行の数と数えるか個体の数と数えるかで値が変わる(ラプラス近似の考え方では、情報量が比例して増える個体の数が自然である)。(4) AIC・BIC で選んだモデルの pp 値にも、6.8 節の WARNING と同じ問題がある。

まとめ

  • 指数型分布族 f=exp⁡((yθ−b(θ))/ϕ+c)f = \exp((y\theta - b(\theta))/\phi + c) では E[Y]=b′(θ)E[Y] = b'(\theta)、Var⁡(Y)=ϕb′′(θ)\operatorname{Var}(Y) = \phi b''(\theta)。一般化線形モデルは、平均を g(μi)=xi⊤βg(\mu_i) = x_i^{\top}\beta で説明変数と結ぶ。正規・ベルヌーイ・ポアソンの正準リンクは恒等・ロジット・対数。
  • 正準リンクでは ∇ℓ=X⊤(y−μ)/ϕ\nabla\ell = X^{\top}(y - \mu)/\phi、∇2ℓ=−X⊤WX/ϕ\nabla^2\ell = -X^{\top}WX/\phi で、対数尤度は凹(rank⁡X=p\operatorname{rank} X = p なら狭義凹)。最尤推定量は存在すれば一意で、尤度方程式の解である。
  • ニュートン法は、作業応答 z=η+W−1(y−μ)z = \eta + W^{-1}(y - \mu) を重み WW で回帰し直す反復重み付き最小二乗法(IRLS)になる。
  • ロジスティック回帰の eβje^{\beta_j} はオッズ比で、確率の比ではない。負例を間引いて学習すると定数項がずれる。
  • 逸脱度 2ϕ(ℓsat−ℓ(β^))2\phi(\ell_{\text{sat}} - \ell(\hat{\beta})) は残差平方和の一般化で、入れ子のモデルの差が尤度比統計量になる。0/1 データの逸脱度は適合度の検定に使えない。
  • 完全分離(や準完全分離)のときロジスティック回帰の最尤推定量は存在せず、分離がなければ存在して一意である。分離はデータ漏洩の兆候であることも多い。
  • 線形回帰の訓練誤差は、同じ説明変数での新しい観測に対する誤差を平均して 2pσ22p\sigma^2 だけ過小評価する(過学習)。リッジは特異値の小さい方向を縮めて平均二乗誤差を減らしうる。ラッソは一部の係数をちょうど 00 にする(直交計画ではソフト閾値)。
  • 交差検証は手順の平均的な予測誤差を推定する。前処理は各分割の内側で行う。
  • AIC は新しいデータに対する期待対数尤度(KL 情報量)の推定、BIC は周辺尤度のラプラス近似にもとづく。AIC は予測向きで大きめのモデルを選びやすく、BIC は真のモデルを含む候補から一致的に選ぶ。

演習問題

問題 6.1 ★ (1) 試行回数 mm が既知の二項分布 B(m,π)B(m, \pi) を定義 6.1 の形に書き、命題 6.3 から平均と分散を求めよ。(2) 指数分布(密度 λe−λy\lambda e^{-\lambda y}、y>0y > 0)が θ=−λ\theta = -\lambda、Θ=(−∞,0)\Theta = (-\infty, 0) の指数型分布族であることを示し、平均と分散を求めよ。

解答

(1) f(y)=(my)πy(1−π)m−y=exp⁡(yθ−mlog⁡(1+eθ)+log⁡(my))f(y) = \binom{m}{y}\pi^y(1 - \pi)^{m - y} = \exp\bigl(y\theta - m\log(1 + e^{\theta}) + \log\binom{m}{y}\bigr)、θ=log⁡π1−π\theta = \log\frac{\pi}{1 - \pi}。ϕ=1\phi = 1、b(θ)=mlog⁡(1+eθ)b(\theta) = m\log(1 + e^{\theta}) で、b′(θ)=meθ/(1+eθ)=mπb'(\theta) = me^{\theta}/(1 + e^{\theta}) = m\pi、b′′(θ)=meθ/(1+eθ)2=mπ(1−π)b''(\theta) = me^{\theta}/(1 + e^{\theta})^2 = m\pi(1 - \pi)。

(2) λe−λy=exp⁡(y(−λ)+log⁡λ)=exp⁡(yθ−b(θ))\lambda e^{-\lambda y} = \exp\bigl(y(-\lambda) + \log\lambda\bigr) = \exp\bigl(y\theta - b(\theta)\bigr)、b(θ)=−log⁡(−θ)b(\theta) = -\log(-\theta)、ϕ=1\phi = 1、c=0c = 0。λ>0\lambda > 0 と θ∈(−∞,0)\theta \in (-\infty, 0) が対応する。b′(θ)=−1/θ=1/λb'(\theta) = -1/\theta = 1/\lambda、b′′(θ)=1/θ2=1/λ2b''(\theta) = 1/\theta^2 = 1/\lambda^2 で、指数分布の平均と分散に一致する。

問題 6.2 ★ 例 6.8 のモデルについて、(1) 新規顧客に 300 円のクーポンを付けたときの購入確率を求めよ。(2) 「クーポンを 100 円増やすと購入確率が 25.8% 上がる」という説明は正しいか。新規顧客で 200 円から 300 円に増やす場合について確かめよ。

解答

(1) η^=−3.0341+0.2293×3+0.4426=−1.9037\hat{\eta} = -3.0341 + 0.2293 \times 3 + 0.4426 = -1.9037 より、π^=1/(1+e1.9037)=0.1297\hat{\pi} = 1/(1 + e^{1.9037}) = 0.1297(約 13.0%)。

(2) 正しくない。25.8% 増えるのはオッズ(e0.2293=1.258e^{0.2293} = 1.258 倍)であって確率ではない。新規顧客で 200 円なら η^=−2.1330\hat{\eta} = -2.1330、π^=0.1059\hat{\pi} = 0.1059 で、300 円にすると 0.12970.1297 になる。確率の比は 1.2241.224(22.4% 増)、差は 2.42.4 ポイントである。確率が小さいのでオッズ比と確率の比は近いが一致はせず、確率が大きい領域ほど差が開く(6.5 節の WARNING)。

問題 6.3 ★★ 正準リンクの一般化線形モデルで、計画行列が定数項の列を含めば ∑iμ^i=∑iyi\sum_i \hat{\mu}_i = \sum_i y_i となることを示せ。さらにダミー変数の列を含めば、その群の中でも当てはめ値の合計と観測値の合計が一致することを示し、実務上の意味を述べよ。

解答

最尤推定量は尤度方程式 X⊤(y−μ^)=0X^{\top}(y - \hat{\mu}) = 0 をみたす(定理 6.6)。XX の列 cc について c⊤(y−μ^)=0c^{\top}(y - \hat{\mu}) = 0 であり、c=1c = \mathbf{1} なら ∑i(yi−μ^i)=0\sum_i (y_i - \hat{\mu}_i) = 0、cc が群 GG のダミー変数なら ∑i∈G(yi−μ^i)=0\sum_{i \in G}(y_i - \hat{\mu}_i) = 0。例 6.8 では、当てはめ値の合計が全体で 248 人、新規顧客で 148 人、既存顧客で 100 人と、観測値に一致する。正準リンクのロジスティック回帰・ポアソン回帰は、モデルに入れた群ごとの合計(平均の水準)を学習データの上で必ず再現する。逆に、予測の合計が実績と合っていることは、個々の予測確率が正しいことの証拠にはならない。また、正準リンク以外のリンク関数や正則化を入れた場合には、この性質は一般に成り立たない。

問題 6.4 ★★(ダウンサンプリング)母集団ではロジスティック回帰 P(Y=1∣x)=Λ(x⊤β)P(Y = 1 \mid x) = \Lambda(x^{\top}\beta)(xx の第 1 成分は定数 1)が成り立つとする。Y=1Y = 1 の対象はすべて残し、Y=0Y = 0 の対象は xx によらず確率 rr(0<r<10 < r < 1)で残すとき、残された対象について P(Y=1∣x,残る)=Λ(x⊤β−log⁡r)P(Y = 1 \mid x, \text{残る}) = \Lambda(x^{\top}\beta - \log r) を示せ。間引いたデータで学習したモデルが π^∗=0.5\hat{\pi}^{\ast} = 0.5 と予測した対象の、本来の購入確率の推定値はいくらか(r=0.1r = 0.1)。

解答

π=Λ(x⊤β)\pi = \Lambda(x^{\top}\beta) とおく。ベイズの定理より

P(Y=1∣x,残る)=π⋅1π⋅1+(1−π)rP(Y = 1 \mid x, \text{残る}) = \frac{\pi \cdot 1}{\pi \cdot 1 + (1 - \pi)r}

で、このオッズは π(1−π)r\frac{\pi}{(1 - \pi)r}、対数オッズは x⊤β−log⁡rx^{\top}\beta - \log r。よって残されたデータでもロジスティック回帰が成り立ち、傾きは同じで、定数項だけが −log⁡r-\log r(r<1r < 1 なので正)ずれる。補正するには、間引いたデータで推定した定数項に log⁡r\log r を足す。π^∗=0.5\hat{\pi}^{\ast} = 0.5 ならオッズ 11 で、本来のオッズは r×1=0.1r \times 1 = 0.1、確率は 0.1/1.1=0.0910.1/1.1 = 0.091。補正しないと確率を 5 倍以上に見積もることになる。

問題 6.5 ★★ x=(1,2,3,4,5,6)x = (1, 2, 3, 4, 5, 6) に対する 0/1 データで、定数項と xx のロジスティック回帰を考える。(1) y=(0,0,0,1,1,1)y = (0, 0, 0, 1, 1, 1) のとき完全分離していることを示し、最尤推定量が存在しないことを結論せよ。IRLS を回すと何が起こるか。(2) y=(0,0,1,0,1,1)y = (0, 0, 1, 0, 1, 1) のとき最尤推定量が存在することを、定理 6.11 を使って示せ。

解答

(1) v=(−3.5,1)v = (-3.5, 1) とすると xi⊤v=xi−3.5x_i^{\top}v = x_i - 3.5 は i≤3i \leq 3(yi=0y_i = 0)で負、i≥4i \geq 4(yi=1y_i = 1)で正なので、すべての ii で sixi⊤v>0s_ix_i^{\top}v > 0(完全分離)。定理 6.11 の 1 より最尤推定量は存在しない。β=0\beta = 0 から IRLS を回すと(計算機で確認した値)、1 回目 (−3.6,1.03)(-3.6, 1.03)、3 回目 (−10.1,2.88)(-10.1, 2.88)、10 回目 (−58.2,16.6)(-58.2, 16.6) と、比がほぼ −3.5-3.5 のまま大きさが増え続け、対数尤度は −0.0005-0.0005 と 00 に近づく。標準誤差も発散する。

(2) s=(−1,−1,1,−1,1,1)s = (-1, -1, 1, -1, 1, 1)。v=(a,b)v = (a, b) がすべての ii で si(a+bxi)≥0s_i(a + bx_i) \geq 0 をみたすとする。i=3,4i = 3, 4 から a+3b≥0≥a+4ba + 3b \geq 0 \geq a + 4b なので b≤0b \leq 0、i=4,5i = 4, 5 から a+4b≤0≤a+5ba + 4b \leq 0 \leq a + 5b なので b≥0b \geq 0。よって b=0b = 0 で、i=1,3i = 1, 3 から a≤0≤aa \leq 0 \leq a、すなわち a=0a = 0。したがって v=0v = 0 しかなく、完全分離も準完全分離もしていないので、定理 6.11 の 2 より最尤推定量はただ一つ存在する(計算すると β^=(−4.25,1.21)\hat{\beta} = (-4.25, 1.21))。

問題 6.6 ★★ リッジ回帰(λ>0\lambda > 0)の当てはめ値を y^=Hλy\hat{y} = H_{\lambda}y、Hλ=X(X⊤X+λIp)−1X⊤H_{\lambda} = X(X^{\top}X + \lambda I_p)^{-1}X^{\top}、残差を e=y−y^e = y - \hat{y} とし、観測 ii を除いて当てはめたリッジ推定量を β^λ,(i)\hat{\beta}_{\lambda,(i)} とする。(Hλ)ii<1(H_{\lambda})_{ii} < 1 を示し、yi−xi⊤β^λ,(i)=ei/(1−(Hλ)ii)y_i - x_i^{\top}\hat{\beta}_{\lambda,(i)} = e_i/(1 - (H_{\lambda})_{ii}) を示せ(ヒント:第5章の定理 5.24 の証明をまねよ)。

解答

X=UDV⊤X = UDV^{\top} を命題 6.13 の特異値分解とし、uju_j の第 ii 成分を uj,iu_{j,i}、dmax⁡=max⁡jdjd_{\max} = \max_j d_j とする。命題 6.13 より Hλ=∑jdj2dj2+λujuj⊤H_{\lambda} = \sum_j \frac{d_j^2}{d_j^2 + \lambda}u_ju_j^{\top} なので

(Hλ)ii=∑jdj2dj2+λuj,i2≤dmax⁡2dmax⁡2+λ∑juj,i2≤dmax⁡2dmax⁡2+λ<1(H_{\lambda})_{ii} = \sum_j \frac{d_j^2}{d_j^2 + \lambda}u_{j,i}^2 \leq \frac{d_{\max}^2}{d_{\max}^2 + \lambda}\sum_j u_{j,i}^2 \leq \frac{d_{\max}^2}{d_{\max}^2 + \lambda} < 1

である。ここで ∑juj,i2\sum_j u_{j,i}^2 は C(X)\mathcal{C}(X) への直交射影 UU⊤UU^{\top} の対角成分なので 11 以下である(第5章 命題 5.23 の 1 の証明は任意の直交射影に使える)。

y∗y^{\ast} を、yy の第 ii 成分を xi⊤β^λ,(i)x_i^{\top}\hat{\beta}_{\lambda,(i)} に置き換えたものとする。任意の β\beta について

∥y∗−Xβ∥2+λ∥β∥2≥∑k≠i(yk−xk⊤β)2+λ∥β∥2≥∑k≠i(yk−xk⊤β^λ,(i))2+λ∥β^λ,(i)∥2\lVert y^{\ast} - X\beta \rVert^2 + \lambda\lVert \beta \rVert^2 \geq \sum_{k \neq i}(y_k - x_k^{\top}\beta)^2 + \lambda\lVert \beta \rVert^2 \geq \sum_{k \neq i}(y_k - x_k^{\top}\hat{\beta}_{\lambda,(i)})^2 + \lambda\lVert \hat{\beta}_{\lambda,(i)} \rVert^2

で、右端はデータ y∗y^{\ast} での目的関数の β^λ,(i)\hat{\beta}_{\lambda,(i)} での値に等しい。よって β^λ,(i)\hat{\beta}_{\lambda,(i)} はデータ y∗y^{\ast} に対するリッジ推定量で(命題 6.13 より最小点は一意)、Xβ^λ,(i)=Hλy∗X\hat{\beta}_{\lambda,(i)} = H_{\lambda}y^{\ast}。第 ii 成分を比べると、定理 5.24 の証明と同じく xi⊤β^λ,(i)=y^i−(Hλ)ii(yi−xi⊤β^λ,(i))x_i^{\top}\hat{\beta}_{\lambda,(i)} = \hat{y}_i - (H_{\lambda})_{ii}(y_i - x_i^{\top}\hat{\beta}_{\lambda,(i)}) となり、整理すれば主張を得る。

問題 6.7 ★★(この分析は正しいか)ある分析者が、売上に影響する要因を調べるため、30 個の候補変数からステップワイズ法(AIC が下がる限り変数を出し入れする)で 8 個を選び、選んだ 8 変数の線形回帰で得た pp 値(すべて 0.050.05 未満)を根拠に「売上を左右する 8 つの要因が統計的に確認された」と報告した。この報告の問題点を述べ、どうすべきだったかを述べよ。

解答
  • 選択後の推測:8 変数は、同じデータで当てはまりが良くなるように選ばれている。選択の過程を無視して計算した pp 値は、モデルがデータを見る前に決まっていることを前提にしており、ここでは小さく出すぎる(6.8 節の WARNING)。30 個がすべて無関係でも、AIC による選択は偶然当てはまった変数を拾うので(6.10 節の数値実験のように、不要な変数 1 つを加える確率でさえ約 16%)、「有意な要因」が見つかりやすい。
  • 規準の目的の取り違え:AIC は予測の良さの規準であり、「真に効いている変数」を当てることは保証しない。相関の強い変数どうしでは、どれが選ばれるかは偶然に左右される。
  • 因果との混同:仮に関連が本物でも、観察データの回帰係数は「左右する」という因果を意味しない(第8章)。
  • どうすべきか:データを分割して、一方で変数を選び、もう一方で選んだモデルを当てはめて推測する(標本分割)。あるいは仮説として検証したい変数を事前に決めて検定する。予測が目的なら、選択の手順全体を交差検証の内側に入れて予測誤差を評価し、pp 値ではなく予測性能で報告する。探索的に選んだ結果は「仮説の候補」として扱う。

問題 6.8 ★★★ (1) 正規線形モデルで σ2\sigma^2 が既知のとき、pp 個の係数をもつモデルの AIC は RSS/σ2+2p\mathrm{RSS}/\sigma^2 + 2p に定数を加えたものであることを示し、命題 6.12 と比べよ。(2) 入れ子の 2 つのモデル M0⊂M1M_0 \subset M_1(パラメータ数の差 1)について、M0M_0 が正しいとき、n→∞n \to \infty で AIC が M1M_1 を選ぶ確率が P(χ2(1)>2)≈0.157P(\chi^2(1) > 2) \approx 0.157 に、BIC が M1M_1 を選ぶ確率が 00 に近づくことを示せ(ウィルクスの定理を認めてよい)。

解答

(1) ℓ(β)=−n2log⁡(2πσ2)−∥y−Xβ∥2/(2σ2)\ell(\beta) = -\frac{n}{2}\log(2\pi\sigma^2) - \lVert y - X\beta \rVert^2/(2\sigma^2) の最大値は −n2log⁡(2πσ2)−RSS/(2σ2)-\frac{n}{2}\log(2\pi\sigma^2) - \mathrm{RSS}/(2\sigma^2) なので、d=pd = p として AIC=RSS/σ2+2p+nlog⁡(2πσ2)\mathrm{AIC} = \mathrm{RSS}/\sigma^2 + 2p + n\log(2\pi\sigma^2)。命題 6.12 より E[RSS+2pσ2]=E∥Y′−y^∥2E[\mathrm{RSS} + 2p\sigma^2] = E\lVert Y' - \hat{y} \rVert^2 なので、σ2⋅AIC\sigma^2 \cdot \mathrm{AIC} から定数を除いたものは、同じ説明変数での新しい観測に対する二乗誤差の不偏推定量(マローズの CpC_p と同じもの)である。実際、同じ説明変数での新しいデータ Y′Y' について −2E[log⁡f(Y′∣β^)]=E∥Y′−y^∥2/σ2+nlog⁡(2πσ2)=E[AIC]-2E[\log f(Y' \mid \hat{\beta})] = E\lVert Y' - \hat{y} \rVert^2/\sigma^2 + n\log(2\pi\sigma^2) = E[\mathrm{AIC}] となり、この場合は AIC の導出の「近似的に」が正確な等式になる。しかも命題 6.12 は真の平均が C(X)\mathcal{C}(X) に入ることを仮定していないので、モデルが平均について誤っていても成り立つ。

(2) Δ=2(ℓ(θ^1)−ℓ(θ^0))\Delta = 2(\ell(\hat{\theta}_1) - \ell(\hat{\theta}_0)) とおく。AIC1<AIC0  ⟺  −2ℓ1+2(d+1)<−2ℓ0+2d  ⟺  Δ>2\mathrm{AIC}_1 < \mathrm{AIC}_0 \iff -2\ell_1 + 2(d + 1) < -2\ell_0 + 2d \iff \Delta > 2。M0M_0 が正しいとき、ウィルクスの定理より Δ\Delta は χ2(1)\chi^2(1) に分布収束し、χ2(1)\chi^2(1) の分布関数は連続なので P(Δ>2)→P(χ2(1)>2)=P(∣Z∣>2)=0.1573P(\Delta > 2) \to P(\chi^2(1) > 2) = P(\lvert Z \rvert > \sqrt{2}) = 0.1573(Z∼N(0,1)Z \sim N(0, 1))。BIC では BIC1<BIC0  ⟺  Δ>log⁡n\mathrm{BIC}_1 < \mathrm{BIC}_0 \iff \Delta > \log n。任意の c>0c > 0 について、nn が大きければ log⁡n>c\log n > c なので P(Δ>log⁡n)≤P(Δ>c)→P(χ2(1)>c)P(\Delta > \log n) \leq P(\Delta > c) \to P(\chi^2(1) > c)。cc はいくらでも大きくとれるので lim sup⁡nP(Δ>log⁡n)≤inf⁡cP(χ2(1)>c)=0\limsup_n P(\Delta > \log n) \leq \inf_c P(\chi^2(1) > c) = 0。

この章を読み終えたら

「読了」にすると、学習記録と地図に反映されます。

この章の誤りを報告GitHub で見る