Was ist der vorwärts stufenweise Regressionsalgorithmus?

14

Vielleicht bin ich nur müde, aber ich habe Probleme, den Forward Stagewise Regression-Algorithmus zu verstehen. Aus "Elemente des statistischen Lernens" Seite 60:

Die vorwärts-stufenweise Regression (FS) ist noch stärker eingeschränkt als die vorwärts-schrittweise Regression. Es beginnt wie eine schrittweise Vorwärtsregression mit einem Achsenabschnitt von [dem Mittelwert von] y und zentrierten Prädiktoren, deren Koeffizienten anfangs alle 0 sind.

Bei jedem Schritt identifiziert der Algorithmus die Variable, die am meisten mit dem aktuellen Residuum korreliert. Anschließend wird der einfache lineare Regressionskoeffizient des Residuums für diese ausgewählte Variable berechnet und dann zum aktuellen Koeffizienten für diese Variable addiert. Dies wird fortgesetzt, bis keine der Variablen mit den Residuen korreliert ist - dh die kleinste Quadrate passt, wenn N> p ist.

Also, ist das der Algorithmus ?:

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)

Wobei b ein Spaltenvektor der Koeffizienten ist, X eine Matrix von Eingaben ist und y ein Spaltenvektor von Ausgaben ist. Dh y = X * b + Fehler.

Fragen, weil dieser Algorithmus nur einige Koeffizienten ungleich Null für den Datensatz angibt, mit dem ich ihn teste (mit einem Schwellenwert von 0,0001), und die Vorhersagegenauigkeit ist überhaupt nicht sehr gut.

ektrules
quelle

Antworten:

5

Die Autoren erklären den Algorithmus in ihrem Buch schlecht. Wenn Sie sich die Gleichungen 1.6 und 1.7 in ihrem Artikel ansehen , wird dies klarer. Das Papier hat eine etwas andere Formulierung (es bildet den Residuum- statt den Koeffizientenvektor), aber der Schlüsselpunkt ist, dass es in sehr kleinen Schritten eine Anpassung der kleinsten Quadrate erreicht (aus diesem Grund erwähnt das Buch, dass der Algorithmus noch viel mehr aufnehmen kann) als p Schritte "zum Beenden). Sie können entweder "regress (...)" durch eine kleine Zahl ersetzen oder mit etwa 0,05 multiplizieren. Spielen Sie damit herum und sehen Sie, was funktioniert.

Auch scheint Ihre Schwelle klein. r '* X gibt Zahlen an, die proportional zu den tatsächlichen Korrelationen sind, diese aber weit übersteigen (z. B. für die Diabetes-Daten in der Arbeit liegen die Korrelationen bei ~ 70-900).

Kevin
quelle