Peut-être que c'est juste que je suis fatigué, mais j'ai du mal à essayer de comprendre l'algorithme de régression par étapes. À partir de "Éléments de l'apprentissage statistique" page 60:
La régression pas à pas (FS) est encore plus contrainte que la régression pas à pas. Il commence comme une régression pas à pas, avec une ordonnée à l'origine égale à [la moyenne de] y, et des prédicteurs centrés avec des coe ffi cients initialement tous à 0.
À chaque étape, l'algorithme identifie la variable la plus corrélée avec le résiduel actuel. Il calcule ensuite le coe ffi cient de régression linéaire simple du résidu sur cette variable choisie, puis l'ajoute au coe e cient actuel pour cette variable. Cela se poursuit jusqu'à ce qu'aucune des variables n'ait une corrélation avec les résidus, c'est-à-dire que les moindres carrés correspondent lorsque N> p.
Alors, est-ce l'algorithme?:
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)
Où b est un vecteur colonne des coefficients, X est une matrice d'entrées et y est un vecteur colonne des sorties. Soit y = X * b + erreur.
Demander parce que cet algorithme ne me donne que quelques coefficients non nuls sur l'ensemble de données sur lequel je le teste (avec seuil = .0001), et la précision de la prédiction n'est pas très bonne du tout.