バックフィッティングアルゴリズム

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:翻訳直後 テンプレート:More footnotes バックフィッティングアルゴリズム(backfitting algorithm)とは、統計学において一般化加法モデルをフィッティングするのに使用される単純な反復手順(iterative procedure)である。1985 年に一般化加法モデルとともに Leo Breiman と Jerome Friedman によって導入された。たいていの場合、バックフィッティングは線形方程式系(連立一次方程式、linear system of equations)を解くのに使用されるガウス=ザイデル法と等価である。

アルゴリズム

加法モデルは次の形のノンパラメトリックな回帰モデルのクラスである。

Yi=α+j=1pfj(Xij)+ϵi

ここで、X1,X2,,Xpp 次元予測子(p-dimensional predictor) X 中の変数であり、Y は結果変数(outcome variable)である。ϵ は固有誤差(inherent error)であり、平均がゼロであると仮定する。fj は単一のXjの詳細不明な滑らかな関数(smooth functions)を表す。fj の柔軟性が与えられたことにより、典型的にはユニークな解を持たない。どの fj にも定数を加えることができ、α からこの値が引かれるので、α は不定である。α=1/Ni=1Nyi とし、すべての j に対して i=1Nfj(Xij)=0 という制約により修正するのが一般的である。 バックフィッティングアルゴリズムは、以下のようになる。

   Initialize α^=1/Ni=1Nyi,fj^0,j
   Do until fj^ converge:
       For each predictor j:
           (a) fj^Smooth[{yiα^kjfk^(xik)}1N] (backfitting step)
           (b) fj^fj^1/Ni=1Nfj^(xij) (mean centering of estimated function)

ここで、Smooth はスムージング演算子(smoothing operator)である。典型的には3次スプラインスムーザー(cubic spline smoother)が選択されるが、他の適切なフィッティング演算子(fitting operator)を選んでも良い。たとえば、次のようなものがある。

理論上は、アルゴリズムのステップ(b)は、関数の推定値は和がゼロであるという制約があるので、不要である。しかし、数値的な問題により実践上はこれが問題となりうる[1]

動機

以下の2乗誤差の期待値を最小化したいとする。

minE[Y(α+j=1pfj(Xj))]2

次で与えられる射影理論によりユニークな解が存在する。

fi(Xi)=E[Y(α+jipfj(Xj))|Xi] for i = 1, 2, ..., p.

これは、次の行列表現を与える。

(IP1P1P2IP2PpPpI)(f1(X1)f2(X2)fp(Xp))=(P1YP2YPpY)

ここで、Pi()=E(|Xi) である。この文脈において、平滑化行列 Si を考えることができ、それは Pi を推定し(approximate)、E(Y|X) の推定値(estimate) SiY を与える。

(IS1S1S2IS2SpSpI)(f1f2fp)=(S1YS2YSpY)

または省略系で : S^f=QY  とする。

大きい np に対する正確な解を計算するのは実行不可能である。そのため、バックフィッティングによる反復解法が使用される。初期値 fi(0) および fi(j) の更新をしていく。

fi^(j)Smooth[{yiα^kjfk^(xik)}1N]

省略形を見ることで、バックフィッティングアルゴリズムが平滑化演算子 S のガウス=ザイデル法に等しいということが簡単にわかる。

2 次元における明示的な導出

2 次元の場合において、明示的にバックフィッティングアルゴリズムを定式化することができる。

f1=S1(Yf2),f2=S2(Yf1)

f^1(i) を、i 番目の更新ステップにおける f1 の推定値とすると、バックフィッティングステップは、以下となる。

f^1(i)=S1[Yf^2(i1)],f^2(i)=S2[Yf^1(i1)]

誘導により、以下の 2 つを得る。

f^1(i)=Yα=0i1(S1S2)α(IS1)Y(S1S2)i1S1f^2(0)
f^2(i)=S2α=0i1(S1S2)α(IS1)Y+S2(S1S2)i1S1f^2(0)

α をゼロと仮定し、f^2(0)=0 とすると、以下を得る。

f^1(i)=[Iα=0i1(S1S2)α(IS1)]Y
f^2(i)=[S2α=0i1(S1S2)α(IS1)]Y

これは S1S2<1 のときに収束する。

問題

アルゴリズムをいつ停止させるかは任意であり、収束閾値に到達するのにどの程度かかるのかを事前に知ることは困難である。また、最終モデルは予測変数 Xi がフィットされる順序に依存する。

同様に、バックフィッティングによって得られる解はユニークではない。bS^b=0 であるようなベクトルとするとき、f^ が解ならば、任意の α に対して f^+αb も解である。固有空間への射影による修正を適用することで、アルゴリズムの改善が可能である。

アルゴリズムの修正

ユニークな解を得やすくするための修正が可能である。𝒱1(Si) を、固有値が 1 である Si の固有ベクトルによって張られる空間とする。このとき、S^b=0 を満たす どの b も、 i=1pbi=0 であるような bi𝒱1(Si)i=1,,p を持つ。今、A を、𝒱1(S1)++𝒱1(Sp) 上の直交射影行列にとるとき、次の修正バックフィッティングアルゴリズムを得る。


   Initialize α^=1/N1Nyi,fj^0,i,j, f+^=α+f1^++fp^
   Do until fj^ converge:
       Regress yf+^ onto the space 𝒱1(Si)++𝒱1(Sp), setting a=A(Yf+^)
       For each predictor j:
           Apply backfitting update to (Ya) using the smoothing operator (IAi)Si, yielding new estimates for fj^

脚注

テンプレート:脚注ヘルプ テンプレート:Reflist

参考文献

外部リンク

  1. Hastie, Trevor, Robert Tibshirani and Jerome Friedman (2001). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer, ISBN 0-387-95284-5.