前方段階的回帰アルゴリズムとは何ですか?


14

たぶん疲れているだけなのかもしれませんが、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)、予測精度はまったく良くないので、質問します。

回答:


5

それらの著者は、本の中でアルゴリズムを説明するのに貧弱な仕事をします。論文の式1.6と1.7を見ると、より明確になります。論文の定式化はわずかに異なります(係数ベクトルではなく残差を作成します)が、重要な点は、非常に小さなステップで最小二乗適合に達することです(このため、このアルゴリズムでは「もっと多くの終了するには「pステップより」)。「regress(...)」を小さな数字に置き換えるか、0.05のような値を掛けることができます。それをいじって、何が機能するかを見てください。

また、しきい値は小さいようです。r '* Xは、実際の相関に比例しますが、実際の相関よりもはるかに大きい数値を与えます(たとえば、論文の糖尿病データの場合、相関は〜70-900です)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.