2 votos

Uso de variables dependientes retardadas en la regresión de aprendizaje automático

Estoy construyendo un modelo de regresión de aprendizaje automático (bosque aleatorio) para predecir el caudal de un río, utilizando las precipitaciones, la humedad relativa, la temperatura del aire y algunas otras variables climáticas. Dado que el caudal en un día concreto ( flow_t ) está altamente correlacionado con el flujo del día anterior ( flow_t_1 ), quiero incluir el flujo retardado en la formulación del modelo.

En caso de que construya el modelo de esta manera:

require(randomForest)
flow.rf=randomForest(flow_t~flow_t_1+temp+humidity..........)

¿Cómo puedo utilizar el modelo anterior para las predicciones? Como el conjunto de datos de entrada para la predicción no tendrá la variable de flujo, no puedo incluir su versión retardada en la llamada a la predicción. Sé que el dynlm puede utilizarse para llevar a cabo una "modelización autorregresiva de rezagos distribuidos" con el fin de incluir variables dependientes rezagadas, pero ¿cómo puede hacerse esto para los modelos de aprendizaje automático? ¿O incluso para otras técnicas de modelización estadística, como los GLM y los GAM?

1voto

andypa Puntos 23
  1. Si no tiene la variable de flujo, ¿cómo puede saber que está altamente correlacionada?
  2. En relación con el primer punto, ¿cómo se puede predecir el flujo si no se tiene la variable al principio? Necesitarías la variable de flujo para hacer tu regresión.
  3. En la literatura macroeconómica y financiera, hay formas de incluir series latentes (no observables) utilizando la autorregresión vectorial (VAR) y la estimación de máxima verosimilitud. Le sugiero que eche un vistazo a Ang & Piazzesi (2003) en el que explican cómo pueden "recrear" la serie latente que, en un VAR, es también una variable dependiente.
  4. Una vez obtenida la serie para el flujo, se puede añadir flow_t-1 como variable explicativa. Para obtener la previsión con un periodo de antelación (a $t+1$ ), basta con ajustar el modelo con los datos que se tienen en el momento t. Para las previsiones a más de un periodo, se necesita una dinámica algo más complicada.

0voto

Nina Puntos 131

Creo que sólo tienes que incluir otra columna de variable en tu conjunto de datos real que contenga los valores retardados de la dependiente. Puedes dividir los datos actuales que tienes en datos de entrenamiento y datos de prueba. Utiliza los datos de entrenamiento para crear un modelo de bosque aleatorio y ajústalo en función de su rendimiento en los datos de prueba. Si el modelo es satisfactorio, se puede pronosticar el caudal de 2 años. Ahora, para pronosticar el caudal, utilizando sus valores retardados, tendrás que hacer una previsión recursiva, prediciendo un día a la vez y utilizando el valor predicho como entrada en la siguiente previsión. Espero que esto te sirva de ayuda.

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