Skip to content

mijanr/ForecastFlow

Repository files navigation

ForecastFlow: An automated code-base for time-series forecasting

This repository contains the code for time-series forecasting using various models, such as InceptionTime, LSTM, XGBoost, etc. It contains the complete pipeline from data preprocessing, model building, training, hyperparameter tuning, and evaluation.

MLFlow tracks the experiments and logs the metrics, parameters, and artifacts. Hydra manages configurations, and Optuna optimizes hyperparameters.

The code is designed to be modular and scalable. You can easily add new models, preprocessors, and data loaders!

Data

The data used in this project is the Beijing Multi-Site Air Quality from the UCI Machine Learning Repository. It contains hourly air quality data from 12 different sites in Beijing. The data is preprocessed and aggregated to hourly/daily/weekly data for forecasting purposes.

Models

The following models are used for forecasting:

  • XGBoost
  • LSTM
  • InceptionTime
  • etc.

Results

The following are the results of the forecasting models:

  • InceptionTime with hourly data, past_horizon = 10, forecast_horizon = 1:

  • LSTM with hourly data, past_horizon = 10, forecast_horizon = 1, with Standardized data:

  • XGBoost with hourly data, past_horizon = 10, forecast_horizon = 1:

Different windows were used for forecasting purposes in the case of XGBoost, so the plots are not comparable.

Requirements

requirements.yml contains the required libraries to run the code. You can install them using the following command:

conda env create -f requirements.yml

To update with new libraries:

conda env export --no-builds | grep -v "prefix" > requirements.yml

About

An automated code-base for time-series forecasting

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy