Skip to content

Group examples under gists/timeseries; add conformal benchmark - #51

Merged
OVVO-Financial merged 1 commit into
mainfrom
claude/upbeat-pascal-fq49g2
Jun 18, 2026
Merged

Group examples under gists/timeseries; add conformal benchmark#51
OVVO-Financial merged 1 commit into
mainfrom
claude/upbeat-pascal-fq49g2

Conversation

@OVVO-Financial

Copy link
Copy Markdown
Owner

Summary

Groups the examples gallery under gists/timeseries/ and adds a second example.

  • Moves gists/tides/gists/timeseries/tides/ (the Lord Kelvin tide-forecasting example from Add tide-forecasting example under gists/tides #50).
  • Adds gists/timeseries/conformal/ — a benchmark of NNS.ARMA.optim prediction intervals against conformal-prediction and probabilistic baselines under non-stationarity.

Conformal benchmark

A walk-forward 90% prediction-interval benchmark (α = 0.10, 10 seeds) on a non-linear, heteroskedastic AR(1) with trend, two seasonal components, and regime-switching volatility. Contenders: NNS.ARMA.optim vs. conformal (split, ACI, AgACI, NexCP, PID), probabilistic (EWMA-vol, recalibrated Gaussian), and oracles.

Result: among all achievable methods, NNS.ARMA.optim posts the best interval (Winkler) score — closest to the oracle and ahead of every conformal and Gaussian baseline — while keeping the conditional-coverage gap small and providing a full predictive distribution (finite CRPS/log-score).

Notes

  • Adds gists to ruff's extend-exclude so example scripts keep their scientific notation (math-style names, unicode axis labels) instead of being mangled to satisfy the package lint. CI's ruff check . honors the exclude; mypy already scopes to src/nns and tests.
  • Pure examples/docs — no changes to the nns package or its tests.

🤖 Generated with Claude Code


Generated by Claude Code

Reorganize the examples gallery into gists/timeseries/{tides,conformal}.
The conformal example benchmarks NNS.ARMA.optim prediction intervals
against conformal (ACI, AgACI, NexCP, PID, split) and probabilistic
baselines on a heteroskedastic, regime-switching series; NNS posts the
best achievable interval score.

Exclude gists/ from ruff so example scripts keep their scientific
notation (math-style names, unicode axis labels) without tripping the
package lint. mypy already scopes to src/nns and tests only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MxVLKYqazC2uuAW3P3MbAm
@OVVO-Financial
OVVO-Financial merged commit 3807c33 into main Jun 18, 2026
8 checks passed
@OVVO-Financial
OVVO-Financial deleted the claude/upbeat-pascal-fq49g2 branch June 18, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants