Imagine un escenario estándar de aprendizaje automático:
Te enfrentas a un gran conjunto de datos multivariado y tienes una comprensión bastante borrosa. Lo que debe hacer es hacer predicciones sobre alguna variable basada en lo que tiene. Como de costumbre, limpia los datos, mira estadísticas descriptivas, ejecuta algunos modelos, los valida de forma cruzada, etc., pero después de varios intentos, yendo y viniendo y probando múltiples modelos, nada parece funcionar y sus resultados son miserables. Puede pasar horas, días o semanas en tal problema ...
La pregunta es: ¿cuándo parar? ¿Cómo sabe que sus datos son realmente inútiles y que todos los modelos sofisticados no le harían más bien que predecir el resultado promedio para todos los casos o alguna otra solución trivial?
Por supuesto, este es un problema de capacidad de predicción, pero que yo sepa, es difícil evaluar la capacidad de predicción para datos multivariados antes de intentar algo en él. ¿O estoy equivocado?
Descargo de responsabilidad: esta pregunta se inspiró en esta ¿ Cuándo debo dejar de buscar un modelo? eso no atrajo mucha atención. Sería bueno tener una respuesta detallada a dicha pregunta como referencia.
Respuestas:
Previsibilidad
Tienes razón en que esta es una cuestión de previsibilidad. Ha habido algunos artículos sobre previsibilidad en la revista Foresight del IIF orientada a profesionales . (Divulgación completa: soy editor asociado).
El problema es que la previsibilidad ya es difícil de evaluar en casos "simples".
Algunos ejemplos
Supongamos que tiene una serie temporal como esta pero no habla alemán:
¿Cómo modelaría el gran pico en abril y cómo incluiría esta información en cualquier pronóstico?
A menos que supiera que esta serie temporal es la venta de huevos en una cadena de supermercados suiza, que alcanza su punto máximo justo antes del calendario occidental de Pascua , no tendría la oportunidad. Además, con la Pascua moviéndose alrededor del calendario por hasta seis semanas, cualquier pronóstico que no incluya la fecha específica de Pascua (suponiendo, por ejemplo, que esto fue solo un pico estacional que se repetiría en una semana específica el próximo año) probablemente estaría muy mal.
Del mismo modo, suponga que tiene la línea azul a continuación y desea modelar lo que sucedió el 28-02-2010 de manera tan diferente de los patrones "normales" el 27-02-2010:
Una vez más, sin saber qué sucede cuando una ciudad llena de canadienses ve un partido olímpico de final de hockey sobre hielo en la televisión, no tienes ninguna posibilidad de entender lo que sucedió aquí, y no podrás predecir cuándo volverá a ocurrir algo como esto.
Finalmente, mira esto:
Esta es una serie temporal de ventas diarias en una tienda cash and carry . (A la derecha, tiene una tabla simple: 282 días tuvieron cero ventas, 42 días vieron ventas de 1 ... y un día vieron ventas de 500). No sé qué artículo es.
Hasta el día de hoy, no sé qué sucedió ese día con ventas de 500. Mi mejor conjetura es que algunos clientes pre-ordenaron una gran cantidad de cualquier producto que fuera y lo recogieron. Ahora, sin saber esto, cualquier pronóstico para este día en particular estará muy lejos. Por el contrario, suponga que esto sucedió justo antes de Pascua, y tenemos un algoritmo tonto e inteligente que cree que esto podría ser un efecto de Pascua (¿tal vez son huevos?) Y pronostica felizmente 500 unidades para la próxima Pascua. Oh, eso podría salir mal.
Resumen
En todos los casos, vemos cómo la capacidad de predicción solo puede entenderse bien una vez que tenemos una comprensión suficientemente profunda de los factores probables que influyen en nuestros datos. El problema es que, a menos que conozcamos estos factores, no sabemos que tal vez no los conozcamos. Según Donald Rumsfeld :
Si Pascua o la predilección de los canadienses por el hockey son desconocidos para nosotros, estamos estancados, y ni siquiera tenemos un camino a seguir, porque no sabemos qué preguntas debemos hacer.
La única forma de manejarlos es reunir conocimiento de dominio.
Conclusiones
Saco tres conclusiones de esto:
La línea de fondo
Así es como recomendaría construir modelos, y notar cuándo parar:
Tenga en cuenta que no estoy abogando por probar diferentes clases de modelos si su modelo original se estabiliza. Por lo general, si comenzó con un modelo razonable, el uso de algo más sofisticado no generará un gran beneficio y simplemente puede estar "sobreajustado en el conjunto de prueba". He visto esto a menudo, y otras personas están de acuerdo .
fuente
If you are forecasting a fair coin toss, then there is no way to get above 50% accuracy.
. Dijiste todo allí.La respuesta de Stephan Kolassa es excelente, pero me gustaría agregar que a menudo también existe una condición de parada económica:
Como ejemplo: teníamos un cliente que quería predecir cuándo se romperían sus máquinas. Analizamos los datos existentes y encontramos esencialmente ruido. Investigamos el proceso y descubrimos que los datos más críticos no se registraron y fueron muy difíciles de recopilar. Pero sin esos datos, nuestro modelo era tan pobre que nadie lo habría usado y fue enlatado.
Si bien me concentré en la economía cuando trabajé en un producto comercial, esta regla también se aplica a la academia o para proyectos divertidos: si bien el dinero es menos preocupante en tales circunstancias, el tiempo sigue siendo un bien escaso. P.ej. en la academia deberías dejar de trabajar cuando no produzcas resultados tangibles y tengas otros proyectos más prometedores que puedas hacer. Pero no descarte ese proyecto: publique también resultados nulos o "necesita más / otros datos", ¡también son importantes!
fuente
Hay otra manera Pregúntese -
Entonces, por ejemplo, si tuviera una gran cantidad de variables asociadas con diferentes equipos de fútbol y estuviera tratando de pronosticar quién ganaría, podría ver las probabilidades de las casas de apuestas o alguna forma de predicción de fuentes múltiples para comparar con los resultados de su aprendizaje automático algoritmo. Si está mejor, podría estar en el límite, si es peor, claramente hay margen de mejora.
Su capacidad de mejorar depende (en términos generales) de dos cosas:
Depende exactamente de lo que estoy tratando de hacer, pero tiendo a usar las respuestas a estas preguntas para orientarme en la dirección en la que construyo un modelo, particularmente si intentar extraer más datos que pueda usar o concentrarme en ellos. tratando de refinar el modelo.
Estoy de acuerdo con Stephan en que, por lo general, la mejor manera de hacerlo es consultar a un experto en dominios.
fuente