Qual é o algoritmo de regressão stagewise forward?

14

Talvez seja apenas porque estou cansada, mas estou tendo problemas para tentar entender o algoritmo Forward Stagewise Regression. Na página "Elementos da aprendizagem estatística", página 60:

A regressão forward-stagewise (FS) é ainda mais restrita que a regressão forward-stepwise. Começa como regressão progressiva para a frente, com uma interceptação igual à [média de] y, e preditores centralizados com coeficientes inicialmente todos 0.

A cada passo, o algoritmo identifica a variável mais correlacionada com o residual atual. Em seguida, calcula o coeficiente de regressão linear simples do resíduo nessa variável escolhida e depois o adiciona ao coeficiente atual dessa variável. Isso continua até que nenhuma das variáveis ​​tenha correlação com os resíduos - isto é, os mínimos quadrados se encaixam quando N> p.

Então, esse é o algoritmo ?:

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)

Onde b é um vetor de coluna dos coeficientes, X é uma matriz de entradas e y é um vetor de coluna de saídas. Ou seja, y = X * b + erro.

Perguntando porque esse algoritmo me fornece apenas alguns coeficientes diferentes de zero no conjunto de dados em que estou testando (com limite = 0,0001), e a precisão da previsão não é muito boa.

ektrules
fonte

Respostas:

5

Os autores fazem um péssimo trabalho ao explicar o algoritmo em seu livro. Se você observar as equações 1.6 e 1.7 em seu artigo , isso ficará mais claro. O artigo tem uma formulação ligeiramente diferente (constrói o vetor residual em vez do coeficiente), mas o ponto principal é que ele atinge um mínimo de quadrados que se encaixa em etapas muito pequenas (é por isso que o livro menciona que o algoritmo pode levar "muito mais de p etapas "para concluir). Você pode substituir "regress (())" por um número pequeno ou multiplicá-lo por algo como 0,05. Brinque com ele e veja o que funciona.

Além disso, seu limite parece pequeno. r '* X fornecerá números proporcionais, mas muito maiores do que as correlações reais (por exemplo, para os dados de diabetes no artigo, as correlações são ~ 70-900).

Kevin
fonte