Może po prostu jestem zmęczony, ale mam problem ze zrozumieniem algorytmu Forward Stagewise Regression. Ze strony „Elementy uczenia statystycznego” na stronie 60:
Regresja do przodu i do tyłu jest jeszcze bardziej ograniczona niż regresja do przodu i do przodu. Zaczyna się jak regresja krokowa do przodu, z przecięciem równym [średnia] yi wyśrodkowanymi predyktorami ze współczynnikami początkowo wszystkie 0.
Na każdym etapie algorytm identyfikuje zmienną najbardziej skorelowaną z bieżącą wartością resztkową. Następnie oblicza prosty współczynnik regresji liniowej reszty na tej wybranej zmiennej, a następnie dodaje go do bieżącego współczynnika dla tej zmiennej. Jest to kontynuowane, dopóki żadna ze zmiennych nie będzie korelowana z resztami - tj. Najmniejszych kwadratów, gdy N> p.
Czy to algorytm ?:
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)
Gdzie b jest wektorem kolumnowym współczynników, X jest macierzą danych wejściowych, a y jest wektorem kolumnowym danych wyjściowych. Tj = błąd X * b +.
Pytanie, ponieważ ten algorytm daje mi tylko kilka niezerowych współczynników dla zestawu danych, na którym go testuję (z progiem = 0,0001), a dokładność prognozowania wcale nie jest bardzo dobra.
źródło