Data

I use the dataset 1.88 Million US Wildfires from Kaggle. You can find my code here: Kaggle notebook . I use the following packages:

import sqlite3
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import random
import re
from sklearn.neighbors import KNeighborsClassifier
from sklearn import tree, preprocessing
import sklearn.ensemble as ske
from sklearn.model_selection import train_test_split

# plotly
# import plotly.plotly as py
from plotly.offline import init_notebook_mode, iplot, plot
import plotly as py
init_notebook_mode(connected=True)
import plotly.graph_objs as go

I select the features:

  • FIRE_YEAR
  • STAT_CAUSE_DESC
  • LATITUDE
  • LONGITUDE
  • STATE
  • DISCOVERY_DATE
  • DISCOVERY_DOY
  • CONT_DATE
  • CONT_DOY
  • FIRE_SIZE_CLASS
  • FIRE_SIZE

Summary statistics

We have data for 1,880,465 fires across the United States from 1992-2015.

Fire Causes:

The top causes were Debris Burning (22%), Miscellaneous (17%), Arson (15%), Lightning (15%).

Fire class size:

A-G code for fire size based on the number of acres within the final fire perimeter expenditures

  • A = 0 - 0.25 acres
  • B = 0.26 - 9.9 acres
  • C =10.0 - 99.9 acres
  • D = 100 - 299 acres
  • E = 300 - 999 acres
  • F = 1000 - 4999 acres
  • G = 5000+ acres

Discovery DATE/DOY, Containment DATE/DOY

The DATE is the Julian date and DOY is Julian Day Of the Year. I will use the discovery date and containment date to calculate the DAY TO CONTainment.

Focus of this project: Wildfire risk, start of the fire season

For this project, I will focus on the features (DISCOVERY_DAY and CONT_DATE). My goal is to generate risk pdf that models the start of the fire season.

The average discovery day of year is calendar day 165 (June 14th) and the average days to containment is 8.9 days.

For this project, I will create a first order statistic distribution, \(Y_{min}\) to describe the first day of fire season. I will fit \(Y_{min}\) to a (normal) distribution using the bootstrap method. I will create a confidence interval to remove possible outliers. Next, I will test the hypothesis that different-sized fires have different start dates. Lastly, I will use Monte Carlo simulation to simulate the first large fire of the fire season to compare to the actual data.

Working Dataset

Restrict data to CA wildfires

We will restrict the dataset to just California wildfires…since that is where I live :) We are left with 91,908 wildfires.

EDA Summary

Fire count by year Fire causes
Fire count by year Fire causes

Fire causes: 85% of wildfires are caused by humans (source: 2000-2017 data based on Wildland Fire Management Information (WFMI) and U.S. Forest Service Research Data Archive).

Lightning is a natural cause of fire. In our dataset, lightning is responsible for 15% of fires in the USA and 14% of Californian wildfires. You can read more about the description of sources of wildfires here.

CA wildfires by size Fire count by discovery day (day of the year)
Fire Size: count, area Fire count by fire size, day of year

Fire sizes: there are many more class A, B, C fires than E, F, and G fires. Do these small fires cause most of the fire destruction because there are so many fires? Or is most of the fire destruction done by a few large fire events?

Fire count by class size Total Area burned by class size
Fire Size: count Fire Size: area burned

Fire size, count versus area burned: the majority if fire damage is done by a disproportionate number of large fires.