Skip to content

[Fase 2e] Wildfire: challenger ML (RF/XGBoost) con feature FIRMS + FWI, CV spaziale e promotion gate #68

Description

@gzileni

Contesto

Il piano wildfire prevede un motore V1 deterministico (FWI, #61) con fattori statici (#62). Come per le frane, la V1 resta champion e un challenger ML la sfida sul backtest — la pipeline esiste già tutta: feature store con CV spaziale a blocchi, MLflow, promotion gate operator-driven, shadow executor che non muta mai lo stato. Questa issue definisce il challenger incendi riusando quella infrastruttura, con le feature FIRMS/FWI.

Algoritmi candidati (letteratura mediterranea, in ordine di priorità):

  1. Random Forest / XGBoost — costantemente i migliori nella wildfire susceptibility mediterranea; SHAP già in stack per la spiegabilità del breakdown.
  2. Regressione logistica — baseline obbligatoria per il gate (come Caine per le frane).
  3. MaxEnt — riferimento per dati presence-only; in pratica RF con background sampling ben fatto lo eguaglia: usarlo come confronto metodologico, non come dipendenza nuova.
  4. ConvLSTM / U-Net spaziotemporali — esplicitamente fuori scope (V2+): costo/complessità non giustificati prima che il challenger tabellare batta la V1.

Design

1. Feature (estensione CANONICAL_FEATURES, gruppo nuovo fire.*)

2. Training e labels

  • Positivi: fire_events clusterizzati dagli hotspot FIRMS ([Fase 2d] Wildfire: archivio storico FIRMS (2000–oggi) — densità per cella e truth set per backtest/ML #66); campionamento case-control per le pseudo-assenze (stesso schema frane: stessa cella in giorni senza fuoco + celle mai bruciate, bilanciamento in YAML).
  • CV spaziale a blocchi obbligatoria (round-robin sui blocchi in gradi, split_block assegnato all'estrazione) — nessuno split casuale, il leakage spaziale negli incendi è severo (ricorrenza sulle stesse celle).
  • Stagionalità: valutare anche uno split temporale bloccato (train ≤ anno X, test > X) come sanity check accanto alla CV spaziale.

3. Gate e shadow (regole invariate)

Acceptance criteria

  • Estrazione feature idempotente; matrice di training riproducibile (stessi input ⇒ stesso SHA della matrice).
  • Report MLflow con confronto RF/XGBoost/logistica vs baseline FWI-only sulla stessa partizione CV.
  • SHAP summary per il modello candidato (top feature con segno atteso: FWI, fuel, densità storica).
  • Shadow wildfire attivo senza impatto sugli assessment champion (test di non-mutazione).
  • make check verde.

Dipendenze e relazioni

Riferimenti

  • Pipeline esistente: src/limen/ml/ (feature_store, dataset.CANONICAL_FEATURES, train._check_promotion, shadow_challenger).
  • Letteratura: rassegne su ML per wildfire susceptibility nel Mediterraneo (RF/XGBoost vs MaxEnt vs logistica); Van Wagner (1987) per il FWI.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    claude-codeIssue pensata per una sessione Claude CodeenhancementNew feature or requestfase-2Modulo wildfire (FWI)multi-hazardEspansione multi-rischio (frana, esondazione, incendio)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions