Data Analysis for Engineers/Module 3

Module 3 · Section 11 of 11

Mini-Project 3: Extreme Load Analysis (Gumbel Method)

Objective: Perform an extreme-value analysis on an annual peak-demand record using the Gumbel method. Compute the 25-year, 50-year, and 100-year return-period peaks.

Brief

You've been given 40 years of annual maximum demand records for a substation (synthetic, provided below). Fit a Gumbel distribution and report the 25-, 50-, and 100-year return-period peaks - the basis for choosing transformer capacity and planning reserve margin.

Starter Code

from scipy import stats
import numpy as np

# Synthetic 40-year annual peak demand record (MW), drawn from a Gumbel distribution
np.random.seed(99)
annual_peak_40yr = np.round(
    stats.gumbel_r.rvs(loc=210, scale=32, size=40, random_state=99), 1
)
print("40-year annual peak demand record (MW):")
print(annual_peak_40yr)

# --- Your analysis (starter) ---
# 1) fit the distribution to the record
loc_fit, scale_fit = stats.gumbel_r.fit(annual_peak_40yr)
print(f"\nFitted Gumbel parameters: loc={loc_fit:.2f}, scale={scale_fit:.2f}")

# 2) for each return period T, invert the fitted CDF at probability (1 - 1/T)
results = {}
for T in [25, 50, 100]:
    results[T] = round(stats.gumbel_r.ppf(1 - 1 / T, loc=loc_fit, scale=scale_fit), 1)

# 3) print as a report table ({:<20} left-align, {:>20.1f} right-align 1 dp)
print("\nReturn Period Peak Demand Summary")
print(f"{'Return Period (yr)':<20}{'Peak Demand (MW)':>20}")
for T, x in results.items():
    print(f"{T:<20}{x:>20.1f}")

Deliverable Checklist

  • Gumbel distribution correctly fit to the 40-year record (scipy.stats.gumbel_r.fit)
  • 25-, 50-, and 100-year return-period peaks computed and clearly tabulated
  • A plausibility check: confirm the peaks increase monotonically with return period
  • A short written note (2-3 sentences) recommending a planning basis (e.g. size firm capacity to the 50-year peak, hold the 100-year peak as a contingency check), with justification
  • Bonus: compare against a Normal-distribution fit and comment on the difference

Grading Rubric

CriterionPoints
Correct Gumbel fit25
Correct return-period calculations (25/50/100-yr)40
Table clearly formatted15
Written recommendation with justification20
Total100
# Your Mini-Project 3 submission

33 / 63 sections · Course home · Join the coaching cohort