15 votos

¿Cuál es el avance stagewise algoritmo de regresión?

Tal vez es sólo que estoy cansada, pero estoy teniendo problemas tratando de entender el Avance Stagewise algoritmo de Regresión. De "Elementos de Estadística de Aprendizaje"en la página 60:

Adelante-stagewise de regresión (FS) es aún más limitado que el de adelante-regresión paso a paso. Se inicia como adelante-regresión paso a paso, con una intercepción igual a [medio de] s , y centrado en los predictores con coeficientes principio de todos los 0.

En cada paso, el algoritmo identifica la variable que más correlaciona con el la corriente residual. Luego se calcula el coeficiente de regresión lineal simple de los residuos en este elegido variable y, a continuación, se añade a la actual co- eficiente para esa variable. Esto continúa hasta que ninguna de las variables tienen correlación con los residuos-es decir, el ajuste de mínimos cuadrados cuando N > p.

Así que, este es el 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)

Donde b es una columna de vectores de los coeficientes, X es una matriz de entradas, y y es una columna del vector de salidas. I. e. y=X*b+error.

Preguntando, porque este algoritmo da a mí sólo unos pocos no-cero de los coeficientes en el conjunto de datos que lo estoy probando (con umbral=.0001), y la exactitud de la predicción no es muy buena en todo.

5voto

Adam Benayoun Puntos 688

Que los autores hacen un pobre trabajo de explicar el algoritmo en su libro. Si usted mira las ecuaciones 1.6 y 1.7 en su papel, se vuelve más claro. El papel tiene una ligeramente diferente formulación (que genera el residuo en lugar de que el coeficiente del vector), pero el punto clave es que se llega a un mínimo de cuadrados muy en pasos muy pequeños (esta es la razón por la que el libro menciona el algoritmo puede tomar "muchos más de los que p pasos" para terminar). Usted podría reemplazar "retroceso(...)" con algún número pequeño, o usted podría multiplicarse por algo parecido a 0.05. Jugar con ella y ver lo que funciona.

También, su umbral parece pequeño. r'*X se va a dar números proporcionales, pero mucho más grande que el real correlaciones (por ejemplo, para la diabetes de datos en el papel de las correlaciones son ~70-900).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X