Case studies¶
Nine records across six pages illustrate EVI, EI, and design-life estimation on explicit observation scales. Streamflow and NFIP retain their physical or monetary scales; the other cases use the normalization defined below. GOES is an EVI point-estimation example. The other eight records include EI.
Streamflow
Texas and Florida daily mean discharge.
02NFIP claims
Texas and Florida daily building-claim totals in 2025 dollars.
03Houston precipitation
Full-calendar daily rainfall divided by its past EWMA level.
04Phoenix hot–dry severity
A derived daily severity index divided by its past EWMA level.
05GOES soft X-rays
Hourly maxima divided by their past EWMA level, with gaps retained.
06SPY / QQQ losses
Left-tail log losses divided by past EWMA return volatility.
What “normalized” means¶
Normalization divides an observation by a positive scale estimated from earlier observations. It does not subtract a mean, produce z-scores, or establish stationarity. The resulting EVI and EI describe the transformed series, not automatically the raw process. A time-varying denominator can change both tail behavior and clustering.
| Cases | Numerator | Denominator | Initialization and update | Clock |
|---|---|---|---|---|
| Streamflow | Daily mean discharge | None | No EWMA or warmup | Calendar days |
| NFIP claims | Daily building-claim totals in 2025 USD | None | CPI adjustment retained; no EWMA | Active days for EVI; calendar days for EI |
| Houston | Daily precipitation, including zeros | Past EWMA precipitation level | First 30 days' mean; 180-day half-life | Calendar days |
| Phoenix | Derived hot–dry severity, including zeros | Past EWMA severity level | First 30 days' mean; 180-day half-life | Calendar days |
| GOES | Qualified hourly maximum of minute-mean irradiance | Past EWMA irradiance level | First 720 hours' mean; 4,320-hour half-life; restart after each gap | UTC hours |
| SPY / QQQ | max(−r_t, 0) from split- and dividend-adjusted log returns |
Past EWMA root mean square of signed returns | First 252 returns' mean square; decay 0.94 | Trading sessions |
For Houston, Phoenix, and GOES, the level-normalized series is:
Y_t = X_t / m_t
m_w = mean(X_0, ..., X_(w−1))
m_t = ρ m_(t−1) + (1−ρ) X_(t−1), t > w
ρ = 2^(−1/h)
Here w is the warmup length and h is the half-life, both in observations.
The first analyzed observation is t=w; its denominator uses only the warmup.
For daily cases, w=30, h=180; for GOES, w=720, h=4320 in each uninterrupted run.
The zero-based convention makes explicit that the current observation does not
enter its own denominator. No epsilon floor, interpolation, or zero deletion is applied.
SPY/QQQ use a different denominator:
Y_t = max(−r_t, 0) / sqrt(v_t)
v_252 = mean(r_0², ..., r_251²)
v_t = 0.94 v_(t−1) + 0.06 r_(t−1)², t > 252
The scale uses all signed returns, including gains; it is a zero-mean EWMA
volatility estimate. Gains remain as zero observations in Y_t. These are neither
loss-only samples nor cumulative portfolio losses.
The EWMA steps are past-only. Phoenix's preceding climatological standardization uses the full retained period, and the provider archives are retrospective data snapshots. Neither feature should be described as point-in-time forecasting data.
Inference and units¶
The eight continuous-record cases use median-sliding FGLS for EVI and BB/Northrop-sliding FGLS for EI, with fixed shrinkage 0.73 and 0.37 respectively. K-gaps and Ferro–Segers provide EI comparisons. The random seed is 7, with adaptive bootstrap stages 128/256/512/768/1024 and model-based Wald intervals. There is no additional CI scale calibration.
The shared grid starts at max(5, ceil(N**(1/3))). Its upper bound is
min(floor(N**(1−1/e)), floor(N/17)) for EVI and
min(floor(sqrt(N)), floor(N/17)) for EI. Selection uses the full admissible
grid without edge trimming. EVI uses L=max(2B, floor(sqrt(N)));
see Concepts. GOES instead uses OLS point estimates with
complete windows on the uncompressed hourly calendar; it has no EI or reported CI.
A reported 95% CI is conditional on the preprocessing, selected window, regularization, and stationary working model. EWMA is not re-estimated in each bootstrap draw. These intervals omit preprocessing and selection uncertainty; bootstrap numerical precision does not establish empirical coverage. See the separate Benchmark for coverage results with known truth.
Design-life levels describe quantiles of a maximum observation over the
stated horizon. The median curve uses tau=0.5; its CI is not a prediction
interval for future maxima. Higher-quantile curves reuse the median fit's slope
with quantile-specific intercepts. Normalized levels are dimensionless relative
scales: they cannot be converted to future millimetres, irradiance, or loss
percentages without a model for future denominators.
Data and reproduction¶
The archive cutoff is 2025-12-31, but actual fitted dates vary after quality screening and warmup; Houston's longest complete record ends in 2022. No common end date or common sample size is implied. Provider, observation clock, preparation, fit dates, and numerical results are stated on each page and in its JSON record.
From the repository root, rebuild only the documented figures and summaries:
PYTHONPATH=scripts uv run python -m application.docs_cases
uv run mkdocs build --strict
This command uses existing local inputs and does not export to an external report
directory. --keys selects case IDs; --available retains frozen optional
GOES/finance assets when their local input pair is absent, and reports each skip.
Malformed or hash-mismatched inputs still fail. The ordinary just application
workflow also refreshes those extra cases when inputs are available. It retains
its configured external report export behavior.
GHCN, USGS, and NFIP use the repository's archived inputs. GOES and finance preparation commands and local-input requirements are on their respective pages. Building the documentation alone uses tracked static figures and requires no provider account, download, or model fit.