# Wind Forecast Mspe Eval

> Evaluates the ability of a Gaussian linear state-space model to accurately forecast short-term wind speeds in the North-East Atlantic using historical observations. It also assesses the model's capacity to reproduce realistic spatiotemporal wind statistics and compares parameter estimation methods (GMM vs ML). Use when the user wants to benchmark on ERA Interim reanalysis data (North-East Atlantic), or asks about evaluating this task. Reports MSPE.

- Skill: `qhjqhj00/wind-forecast-mspe-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/wind-forecast-mspe-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/wind-forecast-mspe-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/wind-forecast-mspe-eval

---


# wind-forecast-mspe-eval

> Gaussian linear state-space model for wind fields in the North-East Atlantic — Bessac et al. (2013) (arXiv:1312.5530, 2013)

## What this evaluates

Evaluates the ability of a Gaussian linear state-space model to accurately forecast short-term wind speeds in the North-East Atlantic using historical observations. It also assesses the model's capacity to reproduce realistic spatiotemporal wind statistics and compares parameter estimation methods (GMM vs ML).

## Datasets

- **ERA Interim reanalysis data (North-East Atlantic)** — total ?; splits: train (-1), test (-1)

## Metrics

- `MSPE` **(primary)** — range: percent
  - Mean Square Percentage Error at location i: MSPE(i) = var(Y_t(i) - E[Y_t(i) | Y_0, ..., Y_{t-1}]) / var(Y_t(i)). It measures the variance of the one-step ahead forecast error normalized by the variance of the original wind field at each location.

## Input / output format

**Input**: Historical 6-hourly wind speed observations at K spatial locations up to time t-1.

**Output**: One-step ahead predicted wind speed at each location i, computed via Kalman recursions.

## Scoring recipe

```python
# For each location i in 1..K:
forecast_error_var = variance(Y_t(i) - E[Y_t(i) | Y_0...Y_{t-1}])
original_var = variance(Y_t(i))
mspe_i = forecast_error_var / original_var
# Average across locations
average_mspe = mean(mspe_i over all locations)
# Compare against baselines: persistence, site-wise ARMA(2,1), VAR(1)
```

## Common pitfalls

- GMM estimation matches short-term autocorrelations well but introduces bias in second-order structure, while ML better captures longer-term dynamics.
- Model performance degrades near domain boundaries because the scalar latent process oversimplifies complex space-time structures.
- MSPE is computed per location and then averaged; baselines include persistence and site-wise ARMA models, not just VAR(1).

## Evidence (verbatim from paper)

> The forecast skill of the model at location $i \in \{1, \dots, K\}$ is evaluated by computing the natural empirical estimate of the Mean Square Percentage Error (MSPE) defined as $$ \mathrm {M S P E} (i) = \frac {\operatorname {v a r} (Y _ {t} (i) - \operatorname {E} [ Y _ {t} (i) | Y _ {0} , \dots , Y _ {t - 1} ])}{\operatorname {v a r} (Y _ {t} (i))} $$ where the MSE of the forecast error (the numerator) is normalized by the variance of the field at the individual locations, with $Y_{t}$ the original non-transformed wind.

## Citation

```bibtex
@misc{bessac2013gaussian,
  title={Gaussian linear state-space model for wind fields in the North-East Atlantic},
  author={Bessac et al. (2013)},
  year={2013},
  note={arXiv:1312.5530}
}
```

- arXiv: 1312.5530

