https://github.com/aliyahscoding/weather-insights
End-to-end weather mini-suite: fetch, clean, feature, backtest (naive vs SARIMA vs ML), and Streamlit dashboard. Reproducible, fast, no API keys.
https://github.com/aliyahscoding/weather-insights
data-science forecasting pandas python reproducible-research sarima sklearn streamlit time-series
Last synced: about 2 months ago
JSON representation
End-to-end weather mini-suite: fetch, clean, feature, backtest (naive vs SARIMA vs ML), and Streamlit dashboard. Reproducible, fast, no API keys.
- Host: GitHub
- URL: https://github.com/aliyahscoding/weather-insights
- Owner: aliyahscoding
- Created: 2025-10-02T14:55:06.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-05T04:59:47.000Z (9 months ago)
- Last Synced: 2025-10-05T06:18:10.250Z (9 months ago)
- Topics: data-science, forecasting, pandas, python, reproducible-research, sarima, sklearn, streamlit, time-series
- Language: Python
- Homepage:
- Size: 97.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Weather Insights
A tidy, reproducible pipeline for daily weather: ingest → preprocess → backtest baselines/SARIMA/ML → Streamlit dashboard.
## TL;DR
- **SARIMA** beats seasonal naive by ~X% RMSE on Austin test set (last 365 days).
- **Ridge ML** with lag/rolling/calendar features matches SARIMA within error bars and trains in seconds.
## How to run
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python -m src.ingest --location "Austin,US" --start 2018-01-01 --end 2024-12-31 --outfile data/raw/austin_2018_2024.csv
python -m src.preprocess --in data/raw/austin_2018_2024.csv --out data/processed/austin_proc.csv
python -m src.modeling.backtest --dataset data/processed/austin_proc.csv --model sarima --horizon 7
streamlit run app/streamlit_app.py
## Repo layout
weather-insights/
data/{raw,processed,external}
src/{ingest.py,preprocess.py,modeling/,viz.py,utils.py}
app/streamlit_app.py
reports/{figures,metrics}
tests/
.github/workflows/ci.yml
## Results
| model | MAE | RMSE |
|-----------------|-----|------|
| seasonal_naive | ... | ... |
| sarima | ... | ... |
| ridge_ml | ... | ... |

## Notes
- Weekly seasonality is strong; SARIMA captures it.
- Simple ML with lags/rolls/calendar nearly ties SARIMA.