Replication code for: Does News Contain Meaningful Incremental Signal Beyond Autoregressive Structure? Evidence from Food Crisis Prediction in Sub-Saharan Africa
# Does News Contain Meaningful Incremental Signal Beyond Autoregressive Structure?
## Evidence from Food Crisis Prediction in Sub-Saharan Africa
This repository contains the complete replication code and pre-processed data for the paper. The pipeline predicts district-level IPC Phase ≥ 3 food crises 8 months ahead across Sub-Saharan African countries using GDELT news features evaluated against a pure autoregressive baseline under rolling temporal cross-validation.
---
## Repository Structure
```
news-signal-africa/
├── data_preparation/
│ ├── build_dataset.py # Reconstructs DATA/dataset.parquet from raw sources
│ ├── 01_prepare_ipc_reference.py # Prepares IPC reference data
│ ├── 02a_stage2_aggregate_articles_monthly.py # GDELT article aggregation (requires raw GKG)
│ ├── 03a_stage2_aggregate_locations_monthly.py # GDELT location aggregation (requires raw GKG)
│ ├── 04a_stage2_create_ml_dataset.py # Merges aggregations → monthly parquet
│ ├── download_gdelt_gkg_2020.py # Downloads raw GDELT GKG data
│ ├── extract_gdelt_2020_locations.py # Extracts location mentions from GKG
│ ├── fix_2020_gadm_names.py # Harmonises GADM district names
│ ├── concat_locations.py # Concatenates location files
│ └── extend_stage1_with_2020.py # Extends IPC dataset with 2020 data
├── DATA/
│ ├── dataset.parquet # Final modelling dataset (all scripts read from here)
│ ├── dataset_summary.json # Dataset metadata
│ ├── raw/ # Pre-processed source data
│ ├── filtering/ # Coverage threshold analysis outputs
│ ├── modelling/ # Fold-aware monthly news features
│ └── shapefiles/gadm/ # GADM v4.1 ADM2 geometry (for Fig 1 maps)
├── 01_train_models.py # Primary 2-year rolling CV: AR-only vs AR+News
├── 02_rolli …