線形モデル選択と正則化(機械学習)
Y=β0+β1X1+…+βpXp+ϵ
- 予測の正確性
- 真のモデルが線形ならば、線形モデルのバイアスは小さい。
- サンプルサイズが説明編して比較して大きければ、線形モデルは分散が小さい。
- モデルの解釈
- 関係ない説明変数がモデルに入ると解釈が複雑になる。
- 線形の場合にはそのような変数を特定するのが簡単になる。
- Subset Selection
- Shrinkage
- Dimension Reduction
Subset Reduction
最良の選択
線形のなかで2変数でも、ありうるモデルはrC2=p(p−1)/2個ある。
すべての変数を考えると2p個のモデルがある。
アルゴリズム
- M0 をNull Model(predictorの入っていないモデル)とする。
- k=1,…,pについて
- k 個のpredictorの入った pCk 個のモデルを推定する。
- pCk 個のモデルの中から、R2かRSSの意味で最良のモデルMk を選ぶ。
- M0,… ,Mp から、CV予測誤差、Cp、AIC、BIC、Adjusted R2などを使い最良のモデルを選ぶ。
説明変数の数が同じ中での比較では、自由度修正は必要ないが、説明変数の数が異なるモデルの比較には修正が必要なため、上記の手順になる。
段階選択法
前向き選択
- M0 をNull Model(predictorの入っていないモデル)とする。
- k=0,…,p−1について
- Mkに入っていないpredictorを考える。
- p−k個の変数のうちR2やRSSの意味で最良のものを加えたモデルをMk+1とする。
- M0,… ,Mp から、CV予測誤差、Cp、AIC、BIC、Adjusted R2などを使い最良のモデルを選ぶ。
総当たりならば2p個のモデルの比較が必要だが、この手続きにより1+p(p+1)/2個のモデルの比較で十分になる。
後ろ向き選択
- Mp をFull Model(predictorのすべて入ったモデル)とする。
- k=p,…,1について
- Mkから1つのpredictorを除いたすべてのモデル考える。
- k個の変数のうち1つのpredictorを除いたモデルのうち、R2やRSSの意味で最良のモデルをMk−1とする。
- M0,… ,Mp から、CV予測誤差、Cp、AIC、BIC、Adjusted R2などを使い最良のモデルを選ぶ。
総当たりならば2p個のモデルの比較が必要だが、この手続きにより1+p(p+1)/2個のモデルの比較で十分になる。
混合選択法
forwardのあとにbackward
最適なモデル選択
Training error vs Test error
Test errorの意味で良いモデルを選びたい。
Cp, AIC, BIC, and Adjusted R2
MSEとRSSは関係しており、Least Squaresはtraining set RSSを小さくするので、training MSEはtest errorの過小推定になっており使えない。そこで、test errorの一致なり不偏推定量なりになるようにadjustしたもので評価しようという考えに至る。
d 個のpredictorを含むLeast Squaresに対して
Cp=1n(RSS+2dˆσ2)
Cpはtest MSEの不偏推定量である。
最尤推定量に適用できる基準にAICがある。d 個のpredictorを含むgaussian Linear MLEに対してAICは
AIC=1n(RSS+2dˆσ2)
となりCpと一致する。
ベイズ統計の観点からの評価指標としてBICがある。
BIC=1n(RSS+log(n)dˆσ2)
R2の自由度の修正という観点からadjusted R2も用いられる。
Adjusted R2=1−RSS/(n−d−1)TSS/(n−1)
クロスバリデーション
AICやBICなどは計算が簡単だが、そのための仮定も入っている。その意味で、Cross Validationはより好ましい。以前は計算機の能力の問題が顕著だったが、近年ではそれも和らいできている。
縮小法
目的関数に正則化項を加えることで、変数選択を行う方法を紹介する。
リッジ回帰
線形回帰のRSSは
RSS=n∑i=1(yi−β0−p∑j=1βjxij)2Ridge回帰ではこれにβの2乗に比例するペナルティ項を付け加えて評価を行う。
n∑i=1(yi−β0−p∑j=1βjxij)2+λp∑j=1β2j=RSS+λp∑j=1β2jλ∑pj=1β2jをshrinkage penaltyという。λはチューニングパラメタである。
minβ{n∑i=1(yi−β0−p∑j=1βjxij)2} s.t. p∑j=1β2j≤sLasso
LassoではRSSにβの絶対値に比例するペナルティ項を付け加えて評価を行う。λはチューニングパラメタである。
n∑i=1(yi−β0−p∑j=1βjxij)2+λp∑j=1|βj|=RSS+λp∑j=1|βj|
LassoはRidgeと比較してペナルティによってβが0になりやすい(後述)ので、変数選択や解釈が簡単になる。
これらは制約付き最小化問題としての解釈が出来る。
minβ{n∑i=1(yi−β0−p∑j=1βjxij)2} s.t. p∑j=1|βj|≤s制約付き最小化問題の比較がFig.6.7であり、Lassoのほうが0が容易に得られることがわかる。Fig.6.7はRidgeが有利なDGPである。
Lassoの変数選択
Lassoとリッジ回帰の比較
Ridge回帰とLassoの関係を示すシンプルな例
n=p
X=diag(p)
Regression without intercept
とすると回帰は p∑j=1(yj−βj)2 に簡単化される。最小2乗推定量は ˆβj=yj である。RidgeとLassoではそれぞれ目的関数 p∑j=1(yj−βj)2+λp∑j=1β2j p∑j=1(yj−βj)2+λp∑j=1|βj| を考えればよく。その結果推定量は以下の表現を得る。 ˆβRj=yj/(1+λ) ˆβLj={yj−λ/2if yj>λ/2yj+λ/2if yj<−λ/20if |yj|≤λ/2Ridge回帰とLassoのベイズ的解釈
チューニングパラメーターの選択
Cross Validationによる例?
次元を下げる方法
ここまで考えてきたdimension reduction
- predictorの部分集合を使う
- predictorの係数を0に近づける
- X1,…,Xpはpredictor
- M<p
- ϕ1m,…,ϕpm (m=1,…,M)はパラメタ
Zmを決定するパラメタをうまく選べば、単なるXによる回帰と比較してZによる回帰は良い結果をもたらすかもしれない。
Zの定義に注意して線形部分を書き直し、Xの係数をβと書けば、以下のような表現になる。 M∑m=1θmzim=M∑m=1θmp∑j=1ϕjmxij=p∑j=1M∑m=1θmϕjmxij=p∑j=1βjxij βj=M∑m=1θmϕjm このβの表現は、
- βの取りうる値に制約をかけるので、バイアスの原因となる
- 一方説明変数の数を少なくすることで分散を小さくする。
主成分回帰
X1,X2の2変数の場合についてZmの作り方を説明
ϕ211+ϕ221=1
という制約の下で
Z1=2∑j=1ϕj1Xj
の分散を最大にするようϕ11,ϕ21を決定する。
Z2はZ1と相関せず、かつ分散が最大になるようにϕ12,ϕ22を決定することで定める。
Xの個数分まで、この操作は続けられる。
決定されたϕ11.…,ϕPMによりZmを作り、OLS推定に利用する。
Mの決定にはしばしばクロスバリデーションが用いられる。
部分的最小2乗法
- Principal Components Regressionでは、Xの共分散構造のみからZを決定した
- Xの共分散構造のみからZを決定したので「教師」入力がいらない
- 決定にYの情報が入っていないので、Yの予測の観点では最良の決定方法にはなっていない
- Xj(j=1,…,p)を標準化
- YをXjに単回帰しその組み合わせとしてZ1=∑pj=1ϕj1Xjのϕj1を決定する
- XjをZ1に回帰し残差を得る。
- Yをこれらの残差に回帰しその組み合わせとしてZ2=∑pj=1ϕj2Xjのϕj2を決定する
- この手順を繰り返す