たぶん疲れているだけなのかもしれませんが、Forward Stagewise Regressionアルゴリズムを理解しようとすると問題が発生します。「統計的学習の要素」ページ60:
前方段階的回帰(FS)は、前方段階的回帰よりもさらに制約されます。これは、[平均] yに等しい切片を持つフォワードステップワイズ回帰のように始まり、最初は係数がすべて0である中心予測子です。
各ステップで、アルゴリズムは現在の残差と最も相関する変数を識別します。次に、この選択した変数の残差の単純な線形回帰係数を計算し、その変数の現在の係数に追加します。これは、どの変数も残差と相関関係がなくなるまで続けられます。つまり、N> pのときに最小二乗が適合します。
だから、これはアルゴリズムですか?:
b[1]=mean(y)
b[2..n]=0
r=(y-X*b)
index, maxCorr = max(transpose(r)*X)
while(abs(maxCorr) > someThreshold)
b[index]=b[index]+regress(r,X[1..n][index])
r=(y-X*b)
index, maxCorr = max(transpose(r)*X)
bは係数の列ベクトル、Xは入力の行列、yは出力の列ベクトルです。すなわち、y = X * b + error。
このアルゴリズムは、テストしているデータセットにいくつかの非ゼロ係数のみを提供し(しきい値= .0001)、予測精度はまったく良くないので、質問します。