Можливо, я просто втомився, але у мене виникають проблеми, намагаючись зрозуміти алгоритм Forward Stagewise Regression. На сторінці «Елементи статистичного навчання» на сторінці 60:
Регресія вперед-ступінь (FS) ще більш обмежена, ніж регресія вперед-ступінчасто. Він починається як регресія вперед, поступово, з перехопленням, рівним [середньому] y, і орієнтованими передбачувачами з коефіцієнтами спочатку всі 0.
На кожному кроці алгоритм ідентифікує змінну, найбільш корельовану з поточним залишком. Потім він обчислює простий коефіцієнт лінійної регресії залишку на цій вибраній змінній, а потім додає її до поточного коефіцієнта цієї змінної. Це продовжується до тих пір, поки жодна зі змінних не має кореляції із залишками, тобто найменшими квадратами fi t, коли 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 + помилка.
Запитуючи, тому що цей алгоритм дає мені лише кілька ненульових коефіцієнтів на наборі даних, на яких я тестую його (з порогом = .0001), і точність прогнозування не дуже хороша.