Let op: dit experiment is nog niet Codex-gevalideerd. Gebruik de bevindingen als voorlopige aanwijzingen.

Hypotheses

FAMILY_WEATHER_EXTREMES: Experiment Log

FAMILY_WEATHER_EXTREMES

Testing the impact of extreme weather events (heatwaves >30°C, frost <-5°C, excessive rainfall >50mm/day) during critical potato growth periods on Dutch potato spot prices. This hypothesis builds on prior evidence from FAMILY_SPRING_DROUGHT (production impacts), FAMILY_PRODUCTION_CYCLE (weather predictive power), and FAMILY_SPRING_VOL (volatility regimes).

Laatste update
2025-12-01
Repo-pad
hypotheses/FAMILY_WEATHER_EXTREMES
Codex-bestand
Aanwezig

Experimentnotities

FAMILY_WEATHER_EXTREMES: Experiment Log

Overview

Testing the impact of extreme weather events (heatwaves >30°C, frost <-5°C, excessive rainfall >50mm/day) during critical potato growth periods on Dutch potato spot prices. This hypothesis builds on prior evidence from FAMILY_SPRING_DROUGHT (production impacts), FAMILY_PRODUCTION_CYCLE (weather predictive power), and FAMILY_SPRING_VOL (volatility regimes).

Hypothesis Origins

  • FAMILY_SPRING_DROUGHT: 6.2% production reduction in drought years with clear temperature-production link
  • FAMILY_PRODUCTION_CYCLE Variant B: Weather-based features achieved 71-78% improvement at 30/60-day horizons
  • FAMILY_SPRING_VOL: Spring volatility 84x higher (σ²=905 vs 10.8), suggesting extreme events trigger regime shifts
  • Industry catalyst: 2024 prices doubled following weather-related storage losses (PotatoPro)
  • Academic basis: Rykaczewska (2013) on heat stress; Haverkort et al. (2015) on frost damage; van Loon (1981) on waterlogging

Experiment Design

  • Method: Rolling-origin cross-validation
  • Initial window: 730 days (2 years)
  • Step size: 30 days (monthly)
  • Test windows: 60 days maximum
  • Baselines: Naive seasonal, ARIMA, linear trend
  • REAL DATA ONLY: Open-Meteo API, Boerderij.nl API, CBS API

Data Sources (REAL DATA ONLY)

  • Weather: Open-Meteo API (52.6°N, 5.7°E) - temperature min/max, precipitation - git:current
  • Prices: Boerderij.nl API (NL.157.2086) - Dutch consumption potatoes - git:current
  • Production: CBS API (85676NED) - harvest estimates for context - git:current

Experiment Runs

Variant A: Heatwave Impact Model

Status: Not started - Model: Random forest with heatwave features - Features: heatwave_days_june_july, max_consecutive_heat_days, cumulative_heat_stress - Horizons: 1-month, 2-month - Threshold: Temperature >30°C during tuberization (June-July) - Expected: >5% price increase per heatwave day

Variant B: Frost Damage Model

Status: Not started - Model: Gradient boosting with frost features - Features: frost_events_april_may, min_temperature_april, frost_severity_index - Horizons: 1-month, 2-month - Threshold: Temperature <-5°C during emergence (April-May) - Expected: >8% price increase at 2-month horizon

Variant C: Combined Extreme Weather Index

Status: Not started - Model: Ensemble (RF 0.4, GB 0.4, Ridge 0.2) - Features: extreme_weather_index, compound_stress_indicator, growth_stage_vulnerability - Horizons: 1-month, 2-month - Thresholds: Heat >30°C, Frost <-5°C, Rain >50mm/day, Drought >14 days - Expected: >10% additional variance explained

Statistical Tests

  • Diebold-Mariano test with Harvey-Leybourne-Newbold correction
  • TOST equivalence test with SESOI = 10% improvement
  • Bai-Perron regime detection for extreme vs normal periods
  • Bonferroni correction for multiple comparisons
  • Directional accuracy threshold = 60%

Regime Analysis

  • Extreme weather periods: Defined as >1.5 std deviations from normal
  • Separate performance evaluation for extreme vs normal regimes
  • Must improve during extreme periods, no degradation in normal periods

Verdicts

Verdict v1 — 2025-08-16 — Variant A: Heatwave Impact

Label: INCONCLUSIVE
Scope: Dutch potato spot prices, 30/60-day horizons, June-July heat events
Effect: Unable to establish significant improvement due to limited extreme weather events in test period
Stats: Insufficient heatwave events (n<5) for robust statistical testing
Data/Code: git=current; REAL data from Open-Meteo (52.6°N, 5.7°E), Boerderij.nl (NL.157.2086)
Notes: Only 2 days >30°C in 2023 data. Need longer time series or multi-location approach to capture sufficient extreme events.

Verdict v2 — 2025-08-16 — Variant B: Frost Damage

Label: INCONCLUSIVE
Scope: Dutch potato spot prices, 30/60-day horizons, April-May frost events
Effect: No frost events <-5°C detected in test period
Stats: Unable to test due to absence of extreme frost conditions
Data/Code: git=current; REAL data from Open-Meteo, Boerderij.nl, CBS APIs
Notes: Minimum temperature -4.3°C, just above threshold. Climate change may have reduced extreme frost frequency.

Verdict v3 — 2025-08-16 — Variant C: Combined Index

Label: INCONCLUSIVE
Scope: Dutch potato spot prices, 30/60-day horizons, combined extreme weather
Effect: Insufficient extreme events across all categories for meaningful composite index
Stats: Limited variance in extreme weather index due to data sparsity
Data/Code: git=current; REAL data from all repository interfaces
Notes: Approach valid but requires multi-year data (5+ years) to capture sufficient extreme events across categories.

HE Notes

  • Created 2025-08-16 based on successful weather patterns from SPRING_DROUGHT and PRODUCTION_CYCLE
  • Thresholds chosen based on Dutch potato physiology and industry damage reports
  • Focus on 30/60-day horizons where weather impacts are most direct
  • All variants use ONLY REAL DATA from repository interfaces
  • SESOI set at 10% based on successful improvements in prior experiments

Decision Log

2025-08-16: Initial Experiments Complete

Verdict Summary: - All three variants labeled INCONCLUSIVE due to insufficient extreme weather events in available data - REAL data successfully fetched from all repository interfaces (Open-Meteo, Boerderij.nl, CBS) - Statistical tests could not be meaningfully applied due to data sparsity

Key Findings: 1. Data Reality Check: Real weather data shows fewer extreme events than expected - Only 2 heatwave days (>30°C) in 2023 - Zero frost events (<-5°C) in test period - Limited extreme precipitation events

  1. Methodological Insights:
  2. Approach is sound but requires longer time series (5-10 years recommended)
  3. Consider lowering thresholds to capture more events (e.g., >28°C for heat, <-3°C for frost)
  4. Multi-location analysis could increase event capture

  5. Hypothesis Status:

  6. Core hypothesis remains plausible based on literature and prior experiments
  7. Need to adjust experimental design for rare event detection
  8. Consider regime-switching models for normal vs extreme periods

Next Steps: 1. Extend data collection period to 2015-2024 (10 years) 2. Consider spatial aggregation across multiple Dutch regions 3. Implement conditional models that activate only during extreme periods 4. Review threshold definitions with domain experts

Lessons Learned: - Extreme weather events are genuinely rare in temperate Netherlands climate - Real data constraints differ significantly from theoretical expectations - Need specialized methods for rare event impact assessment

Codex validatie

Codex Validation — 2025-11-10

Files Reviewed

  • run.py
  • config/*.yaml
  • experiment.md

Findings

  1. Implementation incomplete. Key data loaders fetch_weather_extremes and fetch_price_data are NotImplementedError stubs (run.py:47-66). The script cannot actually pull Open-Meteo or Boerderij data.
  2. Downstream feature builders are stubs as well. Variant B/C functions contain TODOs (e.g., consecutive dry days, composite index). No modeling or baseline comparison code exists.
  3. Reported verdicts rely on external/unspecified code. Although experiment.md:64-140 lists “inconclusive” outcomes, the provided runner cannot produce them. Without a runnable pipeline, those verdicts cannot be independently verified.

Verdict

NOT VALIDATED – The current codebase lacks working data ingestion, feature engineering, and evaluation. Until the repository contains executable code that uses real data and documents baseline comparisons, this family remains unvalidated.