JoaquinAmatRodrigo / skforecast

Time series forecasting with machine learning models
https://skforecast.org
BSD 3-Clause "New" or "Revised" License
992 stars 113 forks source link

create_and_compile_model() en ForecasterRnn, Weighted time series forecasting y diferentes valores de steps #707

Closed yuye188 closed 2 weeks ago

yuye188 commented 2 weeks ago

Buenas tardes,

Enhorabuena y gracias por el desarrollo de esta gran librería!

Estoy trabajando en un proyecto y me resultan de gran utilidad los modelos globales. Quería preguntar algunas dudas:

  1. En los modelos de ForecasterRnn, creo que el parámetro activation de la función create_and_compile_model() se aplicaría a todas las capas recurrentes y denses. Hay alguna opción que se pueda personalizar la activación para cada capa o se podría incluir en las futuras versiones? Si no, he visto que habéis explicado en el tutorial que el usuario puede crear la arquitectura que quiera mientras que se adapte a la entrada y salida del modelo. Podéis dejar algún ejemplo simple (de problema N:M) si no es mucha molestia?
  2. La función que hay que pasar al parámetro weight_func sólo se puede usar el index como variable de entrada? O sea, si tengo un dataframe con diferentes columnas, hay alguna manera de ir iterando por filas para ver si hay algún nulo y asignarle a esa fila el peso=0?
  3. Por último, he entrenado 2 modelos usando bayesian_search_forecaster_multiseries() y backtesting_forecaster_multiseries() con el mismo algoritmo (LGBMRegressor) y search_space, la diferencia es uno con steps=1 y otro con steps=24 (frecuencia horaria). Resulta que el modelo de 24h se entrena mucho más rápido y da casi los mismos resultados que los de 1h si voy haciendo predict(step=1) en los últimos datos recibidos en un entorno de producción. Es normal así o puede ser que me he equivocado en algún paso?

Gracias de nuevo y un saludo, Yu

JoaquinAmatRodrigo commented 2 weeks ago

Hola @yuye188 Te recomiendo que dividas este issue en 3 separados. Será más sencillo para la comunidad ayudarte. Saludos

FernandoCarazoMelo commented 2 weeks ago

Hola @yuye188 ,

Muchas gracias por tu mensaje. Efectivamente, en la versión actual del forecaster no es posible establecer funciones de activación distintas en redes neuronal con múltiples capas. Una excepción a esta regla es la capa de salida que tiene una función de activación lineal independientemente de las funciones de activación intermedias.

Si te parece, crea un issue distinto para esta funcionalidad y mencioname. Así podemos intentar incluirlo en la siguiente versión de la librería.

Un saludo, Fernando

yuye188 commented 2 weeks ago

Hola @yuye188 Te recomiendo que dividas este issue en 3 separados. Será más sencillo para la comunidad ayudarte. Saludos

Buenas,

Entonces abro otro 2 issue nuevos más para las otras 2 preguntas? (Perdona que no tengo mucha experiencia en GitHub)

Gracias y saludos,

JoaquinAmatRodrigo commented 2 weeks ago

Hola, Sí, mejor abre dos issues separados, asi podemos tratar cada tema individualmente ;)

FernandoCarazoMelo commented 2 weeks ago

@JoaquinAmatRodrigo , el issue de ForecasterRnn ya está creado. Por mi parte, se puede cerrar este issue.