Context: Build a spatial risk assessment system correlating air quality data with children's respiratory disease incidence across Wuhan. Approach: FastAPI backend serving PostGIS spatial queries, React frontend with Deck.gl maps, and a PyTorch SpatialTemporalGCN pipeline for multi-day (1d/3d/7d) risk prediction. Changes: - backend/ — FastAPI API with auth (JWT), alerts, risk analysis, geocoded case data, grid statistics, and report endpoints - frontend/ — React dashboard with interactive risk maps, alert monitoring, district comparison charts, and timeline player - models/ — SpatialTemporalGCN model with trained weights and ONNX export for inference - scripts/ — ETL pipeline for weather + medical data, grid generation, feature engineering, training, and daily inference - deploy/ — Docker Compose configs for backend, frontend, and MLflow - docs/ — API docs, deployment guide, user guide, and code review Impact: Enables spatial risk visualization, alert monitoring, and ML-driven health risk forecasting for environmental health teams.
783 B
783 B
Baseline MAE Report
Naive Baseline: District-Level Historical Mean
Methodology
- Training period: 2022-12-01 to 2023-06-30
- Validation period: 2023-07-01 to 2024-12-30
- Prediction: District-level historical mean risk score
- Risk score: Weighted combination of outpatient (weight=1) and inpatient (weight=3) case counts, normalized by district mean
Results
| Horizon | MAE |
|---|---|
| 1-day | 0.2314 |
| 3-day | 0.5424 |
| 7-day | 0.6391 |
Interpretation
- These MAE values represent the error of predicting the historical district mean
- Model must achieve MAE < 0.9x these values to beat the naive baseline
- 1-day horizon should have lowest MAE (most predictable)
- 7-day horizon should have highest MAE (least predictable)