| この項目「 バックフィッティングアルゴリズム」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文: en:Backfitting_algorithm 04:12, 26 April 2017)
修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。 ノートページや 履歴も参照してください。 (2017年5月) |
| この記事には参考文献や外部リンクの一覧が含まれていますが、 脚注による参照が不十分であるため、情報源が依然不明確です。適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。 (2009年12月) |
バックフィッティングアルゴリズム(backfitting algorithm)とは、統計学において一般化加法モデルをフィッティングするのに使用される単純な反復手順(iterative procedure)である。1985 年に一般化加法モデルとともに Leo Breiman と Jerome Friedman によって導入された。たいていの場合、バックフィッティングは線形方程式系(連立一次方程式、linear system of equations)を解くのに使用されるガウス=ザイデル法と等価である。
アルゴリズム
加法モデルは次の形のノンパラメトリックな回帰モデルのクラスである。

ここで、
は
次元予測子(p-dimensional predictor)
中の変数であり、
は結果変数(outcome variable)である。
は固有誤差(inherent error)であり、平均がゼロであると仮定する。
は単一の
の詳細不明な滑らかな関数(smooth functions)を表す。
の柔軟性が与えられたことにより、典型的にはユニークな解を持たない。どの
にも定数を加えることができ、
からこの値が引かれるので、
は不定である。
とし、すべての
に対して
という制約により修正するのが一般的である。
バックフィッティングアルゴリズムは、以下のようになる。
Initialize
,
Do until
converge:
For each predictor j:
(a)
(backfitting step)
(b)
(mean centering of estimated function)
ここで、
はスムージング演算子(smoothing operator)である。典型的には3次スプラインスムーザー(cubic spline smoother)が選択されるが、他の適切なフィッティング演算子(fitting operator)を選んでも良い。たとえば、次のようなものがある。
- 局所多項式回帰
- カーネル平滑化
- より複雑な演算子、たとえば二次あるいはより高次の表面平滑化(surface smoothers)
理論上は、アルゴリズムのステップ(b)は、関数の推定値は和がゼロであるという制約があるので、不要である。しかし、数値的な問題により実践上はこれが問題となりうる[1]。
動機
以下の2乗誤差の期待値を最小化したいとする。
![{\displaystyle \min E[Y-(\alpha +\sum _{j=1}^{p}f_{j}(X_{j}))]^{2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7ffa852510ad3b906ac93cd4aed5537c10cda774)
次で与えられる射影理論によりユニークな解が存在する。
for i = 1, 2, ..., p.
これは、次の行列表現を与える。

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

または省略系で :
とする。
大きい np に対する正確な解を計算するのは実行不可能である。そのため、バックフィッティングによる反復解法が使用される。初期値
および
の更新をしていく。
![{\displaystyle {\hat {f_{i}}}^{(j)}\leftarrow {\text{Smooth}}[\lbrace y_{i}-{\hat {\alpha }}-\sum _{k\neq j}{\hat {f_{k}}}(x_{ik})\rbrace _{1}^{N}]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2647e5da6b47675af051aaffafcad0c13b94dc37)
省略形を見ることで、バックフィッティングアルゴリズムが平滑化演算子 S のガウス=ザイデル法に等しいということが簡単にわかる。
2 次元における明示的な導出
2 次元の場合において、明示的にバックフィッティングアルゴリズムを定式化することができる。

を、i 番目の更新ステップにおける
の推定値とすると、バックフィッティングステップは、以下となる。
![{\displaystyle {\hat {f}}_{1}^{(i)}=S_{1}[Y-{\hat {f}}_{2}^{(i-1)}],{\hat {f}}_{2}^{(i)}=S_{2}[Y-{\hat {f}}_{1}^{(i-1)}]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f570d54983162127f5bc67dd2d3b7020a5cb5408)
誘導により、以下の 2 つを得る。


をゼロと仮定し、
とすると、以下を得る。
![{\displaystyle {\hat {f}}_{1}^{(i)}=[I-\sum _{\alpha =0}^{i-1}(S_{1}S_{2})^{\alpha }(I-S_{1})]Y}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cfe8573e34b13924dbb8fdbc1d24815d73fbd118)
![{\displaystyle {\hat {f}}_{2}^{(i)}=[S_{2}\sum _{\alpha =0}^{i-1}(S_{1}S_{2})^{\alpha }(I-S_{1})]Y}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e9e8dcbc9b2f6abbf3f3cf7209a676744c875722)
これは
のときに収束する。
問題
アルゴリズムをいつ停止させるかは任意であり、収束閾値に到達するのにどの程度かかるのかを事前に知ることは困難である。また、最終モデルは予測変数
がフィットされる順序に依存する。
同様に、バックフィッティングによって得られる解はユニークではない。
を
であるようなベクトルとするとき、
が解ならば、任意の
に対して
も解である。固有空間への射影による修正を適用することで、アルゴリズムの改善が可能である。
アルゴリズムの修正
ユニークな解を得やすくするための修正が可能である。
を、固有値が 1 である Si の固有ベクトルによって張られる空間とする。このとき、
を満たす どの b も、
であるような
を持つ。今、
を、
上の直交射影行列にとるとき、次の修正バックフィッティングアルゴリズムを得る。
Initialize
,
,
Do until
converge:
Regress
onto the space
, setting
For each predictor j:
Apply backfitting update to
using the smoothing operator
, yielding new estimates for
脚注
- ^ Hastie, Trevor, Robert Tibshirani and Jerome Friedman (2001). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer, ISBN 0-387-95284-5.
参考文献
- Breiman, L. & Friedman, J. H. (1985). “Estimating optimal transformations for multiple regression and correlations (with discussion)”. Journal of the American Statistical Association 80 (391): 580–619. doi:10.2307/2288473. JSTOR 2288473.
- Hastie, T. J. & Tibshirani, R. J. (1990). “Generalized Additive Models”. Monographs on Statistics and Applied Probability 43.
- Härdle, Wolfgang (2004年6月9日). “Backfitting”. 2015年5月10日時点のオリジナル[リンク切れ]よりアーカイブ。2015年8月19日閲覧。
外部リンク