¿Por qué alguien usaría KNN para la regresión?

26

Por lo que entiendo, solo podemos construir una función de regresión que se encuentre dentro del intervalo de los datos de entrenamiento.

Por ejemplo (solo uno de los paneles es necesario): ingrese la descripción de la imagen aquí

¿Cómo predeciría el futuro con un regresor KNN? Nuevamente, parece aproximarse solo a una función que se encuentra dentro del intervalo de los datos de entrenamiento.

Mi pregunta: ¿Cuáles son las ventajas de usar un regresor KNN? Entiendo que es una herramienta muy poderosa para la clasificación, pero parece que funcionaría mal en un escenario de regresión.

gung - Restablece a Monica
fuente
¿Puedes aclarar lo que quieres decir con "predecir hacia el futuro"? ¿Tiene series de tiempo y desea hacer pronósticos, o está tratando de ajustar una relación entre 2 variables y quiere usar eso en el futuro para adivinar un valor Y a partir de un valor X conocido?
gung - Restablece a Monica
1
Por ejemplo, si quisiera predecir el valor Y tal que X = 15 de la imagen de arriba. Un regresor de KNN no lo cortaría, ¿verdad?
1
Estoy de acuerdo con usted en que si entrenó en un conjunto con pero esperaba que pudiera ver valores de x mucho más allá de lo que está en sus datos, entonces los métodos locales no paramétricos podrían no ser ideales. En su lugar, es posible que desee utilizar ese conocimiento de dominio y definir un modelo paramétrico que incluya su conocimiento de cómo se espera que se comporte x 'no observado' . X[0 0,5 5]XX
Meadowlark Bradsher
1
Un ejemplo de que KNN se usa con éxito para la regresión es la predicción de béisbol PECOTA de Nate Silver. Puede leer sobre los pros y los contras del artículo de Wikipedia sobre PECOTA o artículos de periódicos como este: macleans.ca/authors/colby-cosh/…
Flounderer
66
Además, para hacer un punto más general, a medida que se familiarice con las estadísticas (o minería de datos / aprendizaje automático, etc.) encontrará que las respuestas a preguntas muy generales como la suya a menudo serán una versión parafraseada de 'depende'. Saber de qué "depende" y por qué es el conocimiento.
Meadowlark Bradsher

Respuestas:

17

Los métodos locales como K-NN tienen sentido en algunas situaciones.

Un ejemplo que hice en el trabajo escolar tenía que ver con predecir la resistencia a la compresión de varias mezclas de ingredientes de cemento. Todos estos ingredientes eran relativamente no volátiles con respecto a la respuesta o entre sí y KNN hizo predicciones confiables al respecto. En otras palabras, ninguna de las variables independientes tenía una variación desproporcionadamente grande para conferir al modelo individualmente o posiblemente por interacción mutua.

Tómelo con un grano de sal porque no conozco una técnica de investigación de datos que lo muestre de manera concluyente, pero intuitivamente parece razonable que si sus características tienen un grado proporcional de variaciones, no sé qué proporción, podría tener un Candidato KNN. Ciertamente me gustaría saber si hubo algunos estudios y técnicas resultantes desarrolladas a este efecto.

Si lo piensa desde una perspectiva de dominio generalizado, hay una amplia clase de aplicaciones en las que 'recetas' similares producen resultados similares. Ciertamente, esto parecía describir la situación de predecir los resultados de la mezcla de cemento. Diría que si tuviera datos que se comportaran de acuerdo con esta descripción y además su medida de distancia también fuera natural para el dominio en cuestión y, por último, que tuviera datos suficientes, me imagino que debería obtener resultados útiles de KNN u otro método local. .

También está obteniendo el beneficio de un sesgo extremadamente bajo cuando utiliza métodos locales. A veces, los modelos aditivos generalizados (GAM) equilibran el sesgo y la varianza ajustando cada variable individual usando KNN de manera que:

y^=F1(X1)+F2(X2)++Fnorte(Xnorte)+ϵ

Fnorte(Xnorte)

No descartaría KNN tan rápido. Tiene su lugar.

Alondra Bradsher
fuente
1
Esta respuesta sobre los datos de escala para knn podría ayudar a expresar lo que quiere decir con "grado proporcional de variaciones". stats.stackexchange.com/questions/287425/…
eric_kernfeld
5

No me gusta decirlo, pero en realidad la respuesta corta es que "predecir hacia el futuro" no es realmente posible ni con un knn ni con ningún otro clasificador o regresor actualmente existente.

Claro que puede extrapolar la línea de una regresión lineal o el hiperplano de un SVM, pero al final no sabe cuál será el futuro, por lo que sabemos, la línea podría ser una pequeña parte de una realidad con curvas. Esto se hace evidente cuando observa los métodos bayesianos como los procesos gaussianos, por ejemplo, notará una gran incertidumbre tan pronto como abandone el "dominio de entrada conocido".

Por supuesto, puede intentar generalizar desde lo que sucedió hoy hasta lo que probablemente sucederá mañana, lo que se puede hacer fácilmente con un regresor knn (por ejemplo, los números de clientes del año pasado durante Navidad pueden darle una buena pista sobre los números de este año). Claro que otros métodos pueden incorporar tendencias, etc., pero al final puede ver qué tan bien funciona cuando se trata del mercado de valores o las predicciones meteorológicas a largo plazo.

maullar
fuente
+1 por precaución contra la extrapolación y por discutir el comportamiento (relativamente conservador) de KNN cuando se extrapola.
eric_kernfeld
KNN es más conservador que la regresión lineal cuando se extrapola exactamente debido al comportamiento observado por OP: solo puede producir predicciones dentro del rango de valores Y ya observados. Esto podría ser una ventaja en muchas situaciones.
eric_kernfeld
1

Primero, un ejemplo para "¿Cómo predeciría en el futuro usando un regresor KNN?".

stunortet+1stunortet..stunortet-6 6
stunortet

wmimiktstunortet..stunortet-6 6tometroorrow(wmimikt))stunortet+1

wmimikt
wmimik
tometroorrow0 0..tometroorrow9 9
pagsrmireyodot(wmimik)tometroorrow0 0..tometroorrow9 9

Ajuste los pesos, consulte, por ejemplo, inversa-distancia-ponderada-idw-interpolación-con-python ,
y la métrica de distancia para "Vecino más cercano" en 7d.

"¿Cuáles son las ventajas de usar un regresor KNN?"
Para los buenos comentarios de los demás, agregaría fácil de codificar y comprender, y escala a big data.
Desventajas: sensible a los datos y al ajuste, no mucha comprensión .




XY
Yt=si0 0Xt+si1Xt-1+...
Yt+1
Yt+1=una0 0Yt+una1Yt-1+...

Entonces, su primera línea "solo podemos construir una función de regresión que se encuentre dentro del intervalo de los datos de entrenamiento" parece referirse a la palabra confusa "regresión").

denis
fuente
1

De una introducción al aprendizaje estadístico , sección 3.5:

En una situación de la vida real en la que se desconoce la verdadera relación, se podría llegar a la conclusión de que KNN debería ser favorecido sobre la regresión lineal porque, en el peor de los casos, será ligeramente inferior a la regresión lineal si la verdadera relación es lineal, y puede dar mucho mejor. resulta si la relación verdadera es no lineal.

Pero hay restricciones (no del libro de texto, solo lo que concluí):

  1. Un número suficiente de observaciones por predictor.
  2. El número de predictores no debe ser demasiado grande.
Hangyu Tian
fuente