4 votos

División de entrenamiento-prueba y CV con datos de series temporales

Supongamos que tengo datos de series temporales.

'person':['A','A','A','B','B','B','C,'C','C']
'weight':[120, 123, 135, 140, 150, 151, 120, 120, 121]
'height':[5, 5, 5, 6, 6, 6, 4.5, 4.5, 4.5]
'running_time':[60,61,63,34,50,55, 60, 70, 80]
'week':[1, 2, 3, 1, 2, 3, 1, 2, 3}

Supongamos que el conjunto de datos es mucho mayor, claro. Supongamos que quiero generar un modelo que utilice persona, peso, altura y semana para predecir el tiempo de carrera (esto es sólo un ejemplo, olvidémonos de otras formas mejores de hacerlo).

Para una división de prueba de entrenamiento o validación cruzada, podría dividir los datos de forma completamente aleatoria, donde algunas de las mediciones de la persona A estarán en el entrenamiento y otras en la prueba. O podría dividir aleatoriamente en función de las personas. En otras palabras, el 70% de las personas van al entrenamiento y el 30% a la prueba.

¿Cuál sería la mejor manera de hacerlo?

1voto

Kevin J. Rice Puntos 101

Según el resultado que desee obtener, se trata de una pregunta sobre el aprendizaje en series temporales o de una pregunta sobre aprendizaje de instancias múltiples . Esto influirá mucho en su diseño experimental.

Si su configuración es "Tengo este conjunto de personas y sus datos hasta la semana t y quiero predecir su tiempo de ejecución en semana t + 1 a la semana t + h "se trata de un problema de series temporales. En este caso, está intentando utilizar el rendimiento pasado de una persona concreta para predecir el rendimiento futuro. En este caso debe utilizar validación cruzada de series temporales para evaluar su modelo. En la validación cruzada de series temporales, se pretende volver al pasado hasta la fecha t - n y sólo proporcione a su modelo los datos de entrenamiento que hubieran estado disponibles en ese momento (datos de la semana t - n y anteriores). A continuación se evalúa el modelo para la semana (t - n + 1) : (t - n + h) . Esto se repite para el número deseado de pliegues de validación cruzada.

Si tu configuración es "tengo datos de un grupo de personas y sus tiempos de carrera en semanas 1 : t y quiero predecir cuál será el rendimiento de un nuevo grupo de personas en semanas 1 : t "Este es un ejemplo de aprendizaje en múltiples instancias. En este caso, debería adoptar el segundo enfoque que ha mencionado, en el que realiza sus pliegues de validación cruzada manteniendo todos los datos de un individuo juntos como entrenamiento o prueba para cada pliegue. En este caso, la información sobre la persona que se está evaluando puede tener un gran impacto en el modelo (por ejemplo, si la persona que se está evaluando es un individuo, el modelo puede tener un gran impacto en el modelo). person A siempre ronda los 60), por lo que incluir otra información sobre la misma persona en los datos de entrenamiento podría impedir que el modelo generalizara a una nueva persona.

Una buena regla general para la validación cruzada (o divisiones de entrenamiento/prueba) es que debe intentar que los pliegues de CV parezcan versiones en miniatura del experimento que desea realizar. Todo lo que será nuevo cuando se implemente el modelo debe ser nuevo en los datos de validación. Si los puntos temporales van a ser nuevos, hay que dividir los datos por tiempo. Si las personas serán nuevas, necesitas dividirlos por personas.

0voto

AndyL Puntos 4134

Ya has explicado muy bien la diferencia entre MIL y Timeseries. Basándome en tu explicación aquí

Todo lo que sea nuevo cuando se implante el modelo debe ser nuevo en los datos de validación. Si los puntos temporales van a ser nuevos, hay que dividir los datos por tiempo. Si las personas van a ser nuevas, hay que dividirlos por personas.

déjeme darle un ejemplo :

Digamos que "tengo este conjunto de personas y sus datos hasta la semana t y quiero predecir cuál será el rendimiento de un nuevo grupo de personas en la semana t + 1 a la semana t + h", lo que significa que tenemos nuevas personas con un nuevo punto de tiempo, entonces, ¿cuál podría ser una mejor manera de dividir los datos para que no estén sesgados por las personas?

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