PROJECT 091 · PYTHON SOURCE
Recorded fire seasonality
Study-specific code. Shared modules, dependency versions, and reproduction instructions are included in all project files.
Download Python file ↓from pathlib import Path
import sys
ROOT = Path(__file__).resolve().parents[2]
sys.path.insert(0, str(ROOT))
import numpy as np
import pandas as pd
from scipy.stats import spearmanr
from sklearn.decomposition import PCA
from sklearn.ensemble import IsolationForest
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import confusion_matrix, precision_score, recall_score
from portfolio.data import load
from portfolio.constants import *
from portfolio.methods import result, sql, rates, associations, distribution, regression, classification, cluster
from portfolio.engine import execute
META = {'id': 91, 'dataset': 'fires', 'title': 'Recorded fire seasonality', 'question': 'Which months contain the most fire records and recorded burned area?', 'method': 'Monthly counts, area totals and medians among the supplied fire observations.', 'action': 'Use exposure and incident definitions before interpreting seasonal risk.', 'limitations': 'The sample consists of recorded fire observations, not all places and times at risk. Zero recorded area is not evidence of no ignition. No precise dates or event identifiers are supplied. This is not an emergency forecasting system. '}
def analyze():
df = load('fires').copy()
t=df.groupby('month').area.agg(records='size',recorded_hectares='sum',median_hectares='median').reset_index()
out=result(t,'month','records','Recorded observations','The denominator is not days or land area at risk. More records do not alone establish a higher ignition probability.')
return out
if __name__ == "__main__":
execute(Path(__file__).parent, META, analyze)