Project information

  • Category: Graduate Coursework, University of Michigan (CEE 554: Data Mining in Transportation)
  • Collaborators: Phillip Chacon, Margaret Miles
  • Data: Facebook Population During Crisis (Data for Good); CAL FIRE Damage Inspection (DINS) records, 2025 Palisades Fire
  • Tools: Python, Random Forest, XGBoost, scikit-learn

The Problem

After a wildfire, emergency managers need damage estimates quickly to unlock federal and state disaster funding. But the standard sources are both slow: satellite imagery is quick but coarse and unreliable for partial damage, while ground inspections are accurate but can't start until an area is declared safe, which can take weeks. Meanwhile, mobility data is being collected passively and in real time, and nobody had used it to fill that gap.

Approach

Using population data from the 2025 Palisades Fire, we tracked how each affected area's population dropped and recovered relative to its pre-fire baseline, then mapped that against 2,913 CAL FIRE building-damage inspection records at the same location. From the population trends alone—depth of the drop, timing of the biggest loss, volatility, recovery pattern—we engineered features and trained classifiers to predict whether a building was habitable or destroyed.

Time series showing population percent change and mobility signal for a Bing tile with 57% building destruction, showing a sharp drop during evacuation and gradual partial recovery

What the signal looks like: population drops sharply during evacuation and only partially recovers in a heavily-damaged area.

Key Results

  • Mobility-based features alone predicted building damage with AUC > 0.84 (Random Forest and XGBoost)—before adding any location information
  • Adding latitude/longitude sharpened this considerably: out-of-sample error dropped to as low as 0.14–0.18, and ROC curves for the top models hugged the top-left corner
  • Random Forest — chosen as the best overall model for its balance of accuracy and interpretability — reached 85.7% accuracy and a Kappa of 0.71
  • Mobility-derived features (maximum population drop, total loss, timing of the loss) remained meaningfully predictive even after location was added—the signal wasn't just "where the fire was"
  • A second model testing delayed population return (>21 days post-evacuation) reached AUC up to 0.76 — a weaker but still useful signal
Bar chart comparing model out-of-sample error and ROC curve comparison for damage classification models trained with spatial features, showing Random Forest, XGBoost, and KNN clustering near the top-left corner

Model performance after adding location — error drops sharply and top models separate cleanly from chance.

Why It Matters

This is the same core problem as monitoring any safety-critical system in real time: the authoritative ground truth is slow to arrive, but a passively-collected proxy signal is available immediately—and the question is how much you can actually trust it. Here, that meant validating whether mobility data could substitute for ground inspections during a disaster response window; elsewhere, it's the same judgment call anywhere fleet or sensor data has to stand in for slower, more authoritative information.