This project implements an AutoML-driven adaptive drift detection framework for COVID-19 forecasting, leveraging ADWIN & DDM to dynamically adjust models in response to concept drift. It enhances predictive accuracy by intelligently retraining models, ensuring robust time-series forecasting under evolving data conditions.
This repository contains the implementation of an AutoML-driven adaptive drift detection framework for COVID-19 forecasting. The project leverages AutoSklearn, ADWIN, and DDM to dynamically adjust models in response to concept drift, ensuring robust time-series forecasting under evolving data conditions.
The dynamic nature of COVID-19 data introduces concept drift, reducing the accuracy of static forecasting models. This project aims to enhance forecasting robustness by detecting and adapting to these shifts in real time.
- Develop a baseline forecasting model using AutoML to predict COVID-19 cases and deaths.
- Implement an adaptive forecasting model that dynamically detects and reacts to drift.
- Compare the performance of baseline and adaptive models.
- Improve COVID-19 forecasting accuracy.
- Reduce the impact of concept drift on predictions.
- Integrate ADWIN and DDM for drift detection.
- Automate model retraining upon drift detection.
- Provide comparative performance metrics and visualizations.
- Data Preprocessing and Visualization.
- Baseline Model Training using Auto-Sklearn.
- Drift Detection Mechanism (ADWIN, DDM).
- Baseline Model Evaluation.
- Adaptive Model Training with Drift Response.
- Adaptive Model Evaluation.
- Comparative Analysis between baseline and adaptive models.
- AutoML (AutoSklearn): Automates hyperparameter tuning and model selection.
- Drift Detection:
- ADWIN (Adaptive Windowing) detects drift by monitoring distribution changes.
- DDM (Drift Detection Method) tracks error rates for drift detection.
- Mean Absolute Error (MAE): [ MAE = \frac{1}{n} \sum_{t=1}^{n} |y_t - \hat{y_t}| ]
- Root Mean Squared Error (RMSE): [ RMSE = \sqrt{\frac{1}{n} \sum_{t=1}^{n} (y_t - \hat{y_t})^2} ]
- R-squared (R²): [ R^2 = 1 - \frac{\sum_{t=1}^{n} (y_t - \hat{y_t})^2}{\sum_{t=1}^{n} (y_t - \bar{y})^2} ]
Metric | Cases | Deaths |
---|---|---|
RMSE | 4760.92 | 99.91 |
MAE | 3781.14 | 92.05 |
R² | -4.56 | -8.89 |
Metric | Cases | Deaths |
---|---|---|
RMSE | 3128.65 | 94.99 |
MAE | 1775.07 | 61.38 |
R² | 0.27 | -0.63 |
Drift Index | Model | Detection Method |
---|---|---|
575 | Deaths | ADWIN |
607 | Deaths | ADWIN |
639 | Deaths | ADWIN |
-
Clone the repository:
git clone https://github.com/your-repo-name.git cd your-repo-name
-
Install dependencies:
pip install -r requirements.txt
-
Run the Jupyter notebooks in sequence:
jupyter notebook
-
View results and metrics in the
outputs/
directory.
- Experiment with additional drift detection algorithms.
- Optimize AutoML for larger datasets.
- Incorporate real-time data streams.