Deep Learning: LSTMs, GRUs (if you want to explore this).
Libraries: Facebook Prophet, Sktime.
MLOps Angle & Demo Points (with ZenML):
Data Ingestion Step: Connects to your PostgreSQL DB, queries data, outputs as DataFrame/CSV.
Homelab Consideration: ZenML pipeline directly accesses local PostgreSQL.
Data Validation Step: Use Great Expectations (via ZenML integration) to validate incoming data (missing timestamps, non-negative usage, expected ranges).
Preprocessing & Feature Engineering Step:
Handle timestamps (extract hour, day of week, month, year, is_weekend).
Create lagged features (usage from T-1, T-2).
Create rolling window statistics (e.g., 7-day rolling average).
Model Training Step: Train chosen forecasting model. ZenML tracks model, hyperparameters, and metrics (e.g., MAE, RMSE, MAPE) using experiment tracking (e.g., local MLflow).
Model Evaluation Step: Evaluate on a hold-out test set using time-series-aware cross-validation.
(Optional) Model Deployment Step:
Deploy as a simple local REST API (FastAPI/Flask, Dockerized) returning forecasts. ZenML custom deployment step.
Or, a “batch inference pipeline” running on a schedule (ZenML schedulers) to generate and store forecasts.
Visualization: Simple web app (Streamlit/Dash) to show:
Historical usage.
Model’s forecasts.
Could be a ZenML pipeline step generating an HTML report or a separate app.
Retraining Pipeline: Demonstrate a ZenML pipeline for retraining on new data (manual or scheduled).
Project Idea 2: Anomaly Detection in Bandwidth Usage ⚠️