Skip to content

History

Revisions

  • Sweep: fix broken [[#anchor]] same-page links across wiki Gollum's [[#anchor|text]] syntax addresses cross-page anchors only, so every same-page use of it silently resolved to nothing. Convert to standard Markdown [text](#slug) links and pin the slugs with explicit <a id="..."></a> anchors immediately before each target heading so the target is independent of the heading text. Affected pages: SSARIMA, Model-Estimation, OM (OM-Fitted-Attributes, omg-OMG-Additional-Fitted-Attributes), Fitted-Values-and-Forecasts (level-parameter, side-parameter), Loss-Functions, Coefficients-and- Parameters (coefbootstrap), SMA (python-usage), Visualisation-and- Output (summary), Installation (system-requirements-python).

    @config-i1 config-i1 committed Jul 6, 2026
    65eec31
  • OM: fix broken [[#anchor]] links to OMG and AutoOM sections Gollum's [[#anchor|text]] syntax is for cross-page anchors, not same-page, so the "see OMG and AutoOM sections below" links pointed at nothing. Switch to standard Markdown links and add explicit <a id="..."></a> anchors right before the target headings so the slug is independent of the heading text.

    @config-i1 config-i1 committed Jul 6, 2026
    bdbdf9f
  • OM / OES: occurrence formula must have LHS (y~x1[+x2], not ~x1) The occurrence formula in om() / oes() is a two-sided formula; the LHS is required. Prior examples showed `formula=~x1` which does not work.

    @config-i1 config-i1 committed Jul 6, 2026
    678a646
  • llms.txt: real URLs and discoverable from Home The previous llms.txt listed slugs with no URLs, so an LLM that hadn't already cloned the wiki had no way to reach the pages. Rewrite the file to the llms.txt spec (https://llmstxt.org) — markdown with one bullet per page, each carrying the full GitHub wiki URL plus a one-line summary. Also link to llms.txt itself from Home.md with the raw-wiki URL so an LLM crawling from the Home page can find the index without having to guess where it lives. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 17, 2026
    63620f5
  • Roadmap: correct stale R-only / Planned claims After a thorough audit of python/src/smooth against the wiki: - The `sim_*` family (sim_es, sim_ssarima, sim_ces, sim_gum, sim_sma, sim_oes) IS implemented in Python — alongside SimulateResult. The Roadmap previously marked all of them as Planned. - `.simulate()` is also implemented on fitted ADAM, OM, and OMG. - External regressors (`X=`, `regressors=`) work on ES, CES, MSARIMA, and OM/OMG — not ADAM-only. The Explanatory-Variables table was wrong on this. - `vcov()`, `confint()`, and `summary()` are available for both OM (with an FI-path override for the plogis link) and OMG. Earlier wiki copy still said they were not yet available. Updated: - Simulation-Functions.md — flip status from R-only to stable; show R and Python names side-by-side. - Roadmap.md — keep only the remaining gaps: GUM, SSARIMA, sm() / implant() / extractScale(), pointLik / pAIC / pBIC / accuracy / pls, xtable, plus parameter-coverage notes. - Home.md — Simulation-Functions row no longer says "R-only". - llms.txt — Simulation-Functions category bumped to stable and symbol list expanded. - Explanatory-Variables.md — Python column shows Yes for ES / CES / MSARIMA; added OM/OMG row. - OM.md / Coefficients-and-Parameters.md / Visualisation-and-Output.md — vcov/confint/summary marked as available for OM and OMG. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 16, 2026
    0dad944
  • Revert to Gollum [[WikiLink]] syntax for inter-page links GitHub's wiki renderer doesn't resolve relative-path Markdown links like [ADAM](ADAM.md) — they show up as broken text on the rendered page. Restore Gollum syntax across all pages: - [Page](Page.md) -> [[Page]] - [text](Page.md) -> [[Page|text]] - [Page](Page.md#anchor) -> [[Page#anchor]] - [text](Page.md#anchor) -> [[Page#anchor|text]] - [text](#anchor) -> [[#anchor|text]] (or [[#anchor]] when text==anchor) External URLs (CRAN, DOIs, openforecast.org, github.com, etc.) keep Markdown link syntax. Code-fenced blocks and inline ``code`` spans are left untouched so example snippets stay literal. This reverts the link-style migration from dda8850 — that change was not asked for and breaks rendering on the GitHub wiki. The wiki conventions in CLAUDE.md are updated to match. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 16, 2026
    e93f4b6
  • Add .claude/ to .gitignore Follow-up to beb064f — also block .claude/ in .gitignore so the directory doesn't get re-added by future `git add -A`. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 16, 2026
    a6b905d
  • Stop tracking .claude/ (Claude Code local settings) `.claude/settings.local.json` got picked up by `git add -A` in the previous commit. It is Claude Code's per-repo local config and shouldn't be in the wiki history. Untrack the directory and add it to .gitignore alongside CLAUDE.md so future runs don't re-stage it. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 16, 2026
    beb064f
  • Hide YAML frontmatter from wiki renderer via HTML comment wrap GitHub's Gollum wiki renderer doesn't strip YAML frontmatter — it shows the title/slug/summary/etc. block as literal text at the top of each rendered page. Wrap every page's frontmatter in <!-- ... --> so the renderer skips it while LLMs and grep can still parse the metadata from the source. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 16, 2026
    3ff513f
  • Restructure wiki for LLM-friendliness: frontmatter, signatures, index Add machine-readable navigation aids and apply consistent structure across all pages so LLMs (and humans) can ground answers without inferring the schema each time: - New Glossary.md disambiguates overloaded terms that intentionally remain distinct (ar / ar_order / AR / "ar", ETS letter codes, state-component names overlapping parameter names). - New Roadmap.md collects R-only items and Python-port gaps so reference pages no longer carry TBA markers. - New llms.txt provides a flat index of every page with slug, category, status, R/Python symbols, and one-sentence purpose. - Every content page now opens with YAML frontmatter (title, slug, summary, status, applies_to, related) so retrieval can hit metadata instead of parsing the page. - [[WikiLink]] syntax replaced with relative-path links ([Page](Page.md)); R double-bracket subscripts preserved. - Inline "Read more in Svetunkov (2023), Section X" prose moved into a consolidated ## References block per page. - Function pages (ADAM, AutoADAM, ES, CES, MSARIMA, SSARIMA, GUM, SMA, OM, msdecompose) carry a ## Function signatures block with verbatim R and typed Python signatures near the top. - Parameter pages (Model-Specification, Orders-and-Lags, Loss-Functions, Bounds, Initialisation, Persistence, Explanatory-Variables, Model-Estimation) carry an ## At a glance strict table summarising argument name, type, default, valid values, and applies-to. - Home.md trimmed: long method tables that duplicated per-function pages replaced with compact "where to look" tables; prominent links to Glossary, Roadmap, and llms.txt added. - TBA cells removed from reference pages (GUM, SSARIMA, Scale-Model, Simulation-Functions, Orders-and-Lags, Explanatory-Variables, Model-Estimation, Model-Information, Model-Specification) and tracked on Roadmap.md instead. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 16, 2026
    dda8850
  • R-Python-differences: CES partial/full fixed via smoother="global" swap The CES partial/full divergence section now reports the resolution: both R and Python's CES now call msdecompose with smoother="global" (routed through the shared olsCore.h backend) instead of the historical default "lowess". R-parity CES failure count drops from 84 to 18 (the residual 18 are quarterly-data optimiser-floor effects, all at logLik diff ~2.7e-5). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 10, 2026
    c33888a
  • R-Python-differences: document OM fsum + FI pristine snapshot and CES lowess root cause Two new sections under "What used to be the one remaining numerical gap": 1. OM Bernoulli likelihood + FI Hessian (intermittent demand) — documents the two OM-side fixes just committed in the smooth repo (math.fsum on the Bernoulli sum, pristine matVt / profilesRecentTable snapshot before NLopt so the FI Hessian sees the same buffers R re-creates fresh). 2. CES "partial" / "full" seasonality (stats::lowess ULP gap) — diagnostic chain showing the CES partial/full divergence traces all the way back to greybox.lowess vs R's stats::lowess: at a degenerate B both kernel inputs match byte-for-byte except matVt's seasonal-component initial state rows, which differ by ~3.5e-14; that traces to msdecompose seasonal output (smoother="lowess") which traces to greybox.lowess differing from R's stats::lowess by ~3e-13. Verified by subprocess- delegating to R's lowess: partial_airpassengers then matches R's logLik bit-perfect. Fix path identified (port clowess.f faithfully into greybox); tracked as a CES follow-up. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 10, 2026
    48d0e31
  • R-Python-differences: document msdecompose summation-order parity fix Adds a section describing the second msdecompose gap (separate from the shared olsCore.h work): three reductions inside msdecompose summed in a different IEEE order from R, producing ULP-level seasonal differences that the undamped multiplicative-trend recursion in ETS(M,M,M) amplified into different NLopt basins. The Python fix replaces np.mean/np.nanmean with _fsum_nanmean (Shewchuk exact, matches R's LDOUBLE mean) at the two centring sites, and _r_filter_mean (R's stats::filter cfilter backward order) at the inner seasonal-mean site, restoring byte-identical msdecompose output on taylor and lining up MMM logLik with R on every previously-divergent configuration. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 10, 2026
    e971a90
  • CES is now available in Python Home.md: flip CES Python column from TBA to Yes; add an AutoCES row alongside auto.ces. CES.md: drop the R-only note and rewrite around an R-Python parallel structure (mirroring ES.md). The page now has interleaved Python / R usage examples for all four seasonality types and auto selection, a Parameters table with both type columns filled in, and a Fitted Attributes table with R element / Python attribute pairs.

    @config-i1 config-i1 committed Jun 9, 2026
    62f62b2
  • R-Python-differences: multicov(analytical) is now ~1e-10, not ~5% Re-measured the analytical multicov gap on ANN / AAN / ARIMA after the shared olsCore.h landed: worst case is ~1e-14, mostly at or below 1e-15. The "≤5%" line was tracking the old OLS-ULP cascade into optimiser drift, not the multicov formula itself. Update the top "What is identical" table and the parity-test tolerance table. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 6, 2026
    88a2201
  • R-Python-differences: shared olsCore.h closes the optimal-initials vcov gap Both languages' msdecompose() now route their OLS through the same Armadillo pivoted-QR + scale-invariant rank cutoff (olsCore.h). The "~2% on optimal/two-stage vcov" line in this page is no longer current — max |ΔSE/SE| at R's B is 1e-8 on ETS scenarios and 1e-4 on ARIMA, the FD-Hessian discretisation floor. The page now documents the new bound, what still moves at the optimiser floor (confint bounds, ~2% on flat ARIMA cost surface), and the new aligned point under "What had to be aligned". Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed Jun 6, 2026
    f56e835
  • Document simulate-function R/Python differences Retitle "R / Python numerical equivalence" → "R vs Python differences" and add a "Simulation functions and RNG-induced differences" section covering: * Why ``set.seed(n)`` in R and ``seed=n`` in Python produce different draws (Mersenne Twister vs. PCG64). * The plug-in-numbers trick (callable randomizer) that proves the C++ ``adamCore::simulate`` kernel is bit-equivalent on both sides when fed the same errors. * Tolerances achieved by each ``sim_*`` r_parity test (atol 1e-9 to 1e-10). * Three xfailed cases in ``test_om_simulate_r_parity.py`` — OM-fit parity, Python multiplicative-seasonal NaN, upstream R-side ARMA-simulate bug — with one-paragraph explanations of each. * Practical guidance for reproducing simulations across languages. Also extend the parity-test tolerance table at the end with the new sim_* / simulate.* rows and add the new test files to the list. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed May 29, 2026
    8b78429
  • Refitting wiki: document ReapplyResult.plot() Adds a "Plotting the refitted matrix" section under reapply() with side-by-side R + Python snippets and a kwarg reference table for the new Python `ReapplyResult.plot()` method, mirroring R's `plot.reapply`. Drops the now-obsolete "Python scope (v1.0.5)" note about ARIMA / xreg / admissible-bounds raising NotImplementedError; Phase 5 lifted those restrictions.

    @config-i1 config-i1 committed May 28, 2026
    cc4eac3
  • Document the relative-step Hessian rule Catches the wiki up to the C++ change shipped in ad35f5c0: * Coefficients-and-Parameters.md: new "Finite-difference step rule" subsection under vcov() explaining h_i = ε^(1/4) * max(|x_i|, 1) and why initial="optimal"/"two-stage" needed it. * Visualisation-and-Output.md: note under summary() flagging that the SE column for initial="optimal"/"two-stage" now agrees with R to within ~2%, with a back-link to the mechanics page. * R-Python-differences.md: rewrote as a concise factual reference — the per-parameter relative step closed the residual ADAM optimal/two-stage vcov gap, the only remaining ULP-level divergence is the LSQ solver inside msdecompose (LINPACK QR vs LAPACK SVD). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed May 27, 2026
    0f51c51
  • Document Python reapply() / reforecast() and predict() complete/confidence * Rewrote Refitting-and-Reforecasting.md as a side-by-side R/Python reference matching the structure of the other wiki pages. Examples follow R-then-Python inside each section. Documents reapply(), reforecast(), the predict(interval="complete"|"confidence") aliases, and the speed/scope trade-offs vs the standard intervals. * Fitted-Values-and-Forecasts.md: flipped "complete" and "confidence" rows from "R only" to "Both" in the interval-types table; added a note pointing at Refitting-and-Reforecasting for mechanics. * Home.md: updated the Advanced Methods table — reapply/reforecast are now ".reapply()" / ".reforecast()" instead of "TBA". Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    @config-i1 config-i1 committed May 27, 2026
    8a13694
  • Additional losses in OM/OMG

    @config-i1 config-i1 committed May 27, 2026
    c61678f
  • Additional losses in OM/OMG

    @config-i1 config-i1 committed May 27, 2026
    b7c9515
  • coefbootstrap

    @config-i1 config-i1 committed May 27, 2026
    e2487e5
  • Updates to reflect recent changes

    @config-i1 config-i1 committed May 27, 2026
    1bbc98a
  • R vs Python

    @config-i1 config-i1 committed May 26, 2026
    189882c
  • SMA in Python

    @config-i1 config-i1 committed May 22, 2026
    da3adec
  • Removed lowess from python

    @config-i1 config-i1 committed May 22, 2026
    a8c3a0f
  • Python translations

    @config-i1 config-i1 committed May 21, 2026
    4a1b9fb
  • ets parameter in Python

    @config-i1 config-i1 committed May 10, 2026
    aae8c4e
  • Minor fixes

    @config-i1 config-i1 committed May 10, 2026
    3ece813