The claim
On the same 1,000 random ETS+ARIMA models, the check of the whole model (the MA polynomial of the ARIMA form of the whole lagged SSOE after cyclotomic cancellation, with the AR polynomial of the ARIMA part stationary), gave the same admissibility decision as the PBH reference on every model, and the same largest modulus to within rounding error on the models both found inadmissible.
Scope: population: random ADAM models that combine additive ETS with ARIMA; conditions: ETS: level; no, additive or damped trend; no or one seasonal lag m in {4, 12}; smoothing parameters drawn from wide ranges, some fixed at 0, ARIMA: AR stationary, differences and MA up to order 2 at lag 1 and 1 at lag m, 15% over-differenced (an MA root at one on the unit circle of a differenced lag), ADAM's state space form of ARIMA (one state per lag of the ARI and MA polynomials), checked against the matrices of adam() on 20 of the models; not for: regressors, constant, multiplicative models, several seasonal lags, CES, GUM · Simulation: E21 (T1.r2, T1.r4, T2.r1, T2.r2), artefacts A10, A1 · Assumes: C28 · Limitations: L12 · Extends: B1, Chapter 11 · Planned: lab plan PL8, planned 22 October 2026 · Outcome: computed from the recorded results · Weaknesses: the code changed after the plan
Evidence
Planned tests (lab plans PL7 and PL8, runs RN49 and RN50, the same command): ets_arima.py --seed 2 --n 500 --adam 20 generated 500 ETS+ARIMA and 500 ETS+SARIMA models (seed 2, new against the exploratory runs RN46-RN48, seed 1), built each in ADAM's form, compared the matrices of 20 of them with adam() (0 lags differed, matrices within 4.4e-15), and decided admissibility by the check of the parts apart, the check of the whole model and the PBH reference.
Setup: studied check of the whole model · cases random ETS+ARIMA models · procedure comparison with a reference, PBH reference · lens admissibility decision, largest mode modulus
- R17 max abs difference between the ARIMA form of the ARIMA part and its ARI and MA polynomials = 0.0000 (models: 1000)
- R18 models whose component lags differ from those of adam() = 0 (models: 20)
- R19 max abs difference between the matrices built here and those of adam() = 0.0000 (models: 20)
| Row | family | check | models whose admissibility decision differs from the PBH reference | models accepted by the check and rejected by the PBH reference | models rejected by the check and accepted by the PBH reference |
|---|---|---|---|---|---|
| r1 | ETS+ARIMA | split | 166 | 104 | 62 |
| r2 | ETS+ARIMA | joint | 0 | 0 | 0 |
| r3 | ETS+SARIMA | split | 159 | 128 | 31 |
| r4 | ETS+SARIMA | joint | 0 | 0 | 0 |
| Row | family | max abs difference of the largest modulus, check of the whole model against the PBH reference, on models both find inadmissible | models found admissible by the PBH reference (models: 500) | inadmissible |
|---|---|---|---|---|
| r1 | ETS+ARIMA | 0.0000 | 159 | 341 |
| r2 | ETS+SARIMA | 0.0000 | 87 | 413 |
Exploratory runs of the checker P4 (exact_oracle.py, seeds 21-23 and 31-34, 250 models each): admissibility by an exact oracle (rational determinants and the exact greatest common divisor of theta and phi, which cancels any shared factor) against the cancellation of cyclotomic factors ('author'), the PBH reference ('pbh') and the package ('pkg'); the number of models whose decision differs from the oracle.
Setup: studied check of the whole model, PBH reference, bounds checker of adam() · cases ETS+ARIMA models of the checker's generator · procedure comparison with a reference, exact gcd oracle · lens admissibility decision
| Row | seed | models whose admissibility decision differs from the exact gcd oracle (check: author) | models whose admissibility decision differs from the exact gcd oracle (check: pbh) | models whose admissibility decision differs from the exact gcd oracle (check: pkg) |
|---|---|---|---|---|
| r1 | 21 | 0 | 0 | 1 |
| r2 | 22 | 0 | 0 | 0 |
| r3 | 23 | 0 | 0 | 0 |
| r4 | 31 | 0 | 0 | 0 |
| r5 | 32 | 0 | 0 | 0 |
| r6 | 33 | 0 | 1 | 1 |
| r7 | 34 | 0 | 0 | 1 |
Limitations
The PBH reference is not exact for a repeated unit root: the checker P4 found a model whose cancelled MA polynomial keeps a double root at -1, which the reference accepted and the cancellation and an exact gcd rejected. The random models of the planned tests have no such root.
Assumptions
For ETS+ARIMA models with a stationary AR polynomial, and of the whole model share no factor with a root in that is not cyclotomic, so the PBH reference and the cancelled MA polynomial decide the same admissibility. Rested on by C25.
Definitions
Methods 6
D5 PBH reference: The largest modulus among the eigenvalues of the expanded discount matrix for which the smallest singular values of and of both exceed (Popov-Belevitch-Hautus rank tests), computed with numpy as pbh_max().
D6 cyclotomic cancellation: The procedure that computes the coefficients of by an inverse discrete Fourier transform of their values at the -th roots of unity ( the smallest power of 2 above ), and divides both by every cyclotomic polynomial , dividing one of the lags, for as long as it divides both with a remainder at most times the sum of absolute coefficients; the quotient of is the cancelled MA polynomial .
D7 step-down test: The Levinson-Durbin step-down (Schur-Cohn) recursion on : for , the test passes when every , which holds if and only if all roots lie outside the unit circle (the are the partial autocorrelations of the autoregression with this polynomial). Source: Barndorff-Nielsen and Schou (1973).
D10 check of the whole model: Admissibility of a lagged SSOE model from the MA polynomial of its ARIMA form: is divided by its common factors with by cyclotomic cancellation, and the model is accepted when the cancelled polynomial has no root in and, for a model with ARIMA components, the AR polynomial of its ARIMA part is stationary; its largest mode modulus is over the roots of . In the numpy prototype (admissibility.py, confirm.py, ets_arima.py) the roots come from numpy; in smooth the step-down test decides and bisection gives the modulus.
D14 · a kind of D10 bounds checker of adam(): adam_bounds_checker() of adam(), om() and omg() in R (R/utils-adam.R) and of ADAM, OM and OMG in Python, with bounds="admissible" after this study: smoothEigensCpp() on the whole model, with a shortcut that accepts a pure ARIMA model (without ETS and adaptive regressors) whose MA factors are invertible without running it; the penalty is zero, or 1e100 times the largest root modulus.
D39 exact gcd oracle: Admissibility by rational determinants and the exact greatest common divisor of and , which cancels any shared factor (code/checker/exact_oracle.py of the checker P4).
Data 2
D22 random ETS+ARIMA models: Random ADAM models combining additive ETS with ARIMA (ets_arima.py), 500 with ARIMA at lag 1 and 500 with seasonal ARIMA per seed (seed 2 for plans PL7 and PL8, seed 3 for plan PL9): ETS with a level; no, additive or damped trend; no or one seasonal lag in {4, 12}; smoothing parameters drawn from wide ranges, some fixed at 0; ARIMA with a stationary AR polynomial, differences and MA up to order 2 at lag 1 and 1 at lag , 15% over-differenced (an MA root at one on the unit circle of a differenced lag); built in ADAM's state space form (one state per lag of the ARI and MA polynomials).
D23 ETS+ARIMA models of the checker's generator: Random ADAM ETS+ARIMA models from the generator of the checker P4 (code/checker/exact_oracle.py with lib.py), wider than the random ETS+ARIMA models: 250 models for each of seeds 21-23 and 31-34.
Variables and measures 2
D29 admissibility decision: Whether a method accepts a model as admissible (decaying weights); compared between a method and a reference as the number of models on which the two differ.
D30 largest mode modulus: The largest modulus of the modes that decide admissibility: for the PBH reference the largest of the reachable and observable eigenvalues of the expanded discount matrix, for the check of the whole model over the roots of the cancelled MA polynomial, for the per-lag check the largest of its blocks; a model is admissible when it is below 1.
Study design 1
D26 comparison with a reference: Each model's admissibility decision, and its largest mode modulus where both find it inadmissible, computed by the method studied and by a reference on the same model (the PBH reference, the roots by numpy, the numpy prototype of the check of the whole model or an exact oracle); the result is the number of models whose decisions differ and the largest absolute difference of the modulus. In the planned tests, models whose reference modulus lies within 1e-8 of 1 are left out and counted.
Concepts 2
D2 expanded discount matrix: The transition matrix of size of the lag-1 system equivalent to , in which component carries itself and its lagged copies; , and are expanded in the same way, so that .
D3 decaying weights: A lagged SSOE model has decaying weights when the weights of the past observations in its fitted values tend to zero, that is, when every eigenvalue of its expanded discount matrix that is reachable from and observable through has ; the largest such is its largest mode modulus. A mode that does not reach but sees carries an initial state whose effect is not covered: with it grows.
Context
References
- Barndorff-Nielsen and Schou (1973) Barndorff-Nielsen, O., & Schou, G. (1973). On the parametrization of autoregressive models by partial autocorrelations. Journal of Multivariate Analysis, 3(4), 408–419. doi:10.1016/0047-259X(73)90030-4 Used by: D7
Artefacts
- A1 · code numpy prototype of the admissibility check of pure additive lagged SSOE models: lag-1 expansion, the per-lag check of smoothEigens(), the PBH reference, ARIMA-form polynomials by inverse DFT, cyclotomic cancellation, step-down test and bisection; ETS and GUM model builders
- A10 · code test script of Q2: random ETS+ARIMA models, the check of the parts apart and of the whole model against the PBH reference, the structure against adam(), and the bounds checkers of the package in R and Python against the prototype
- A15 · code the exact oracle of the checker P4 (with lib.py in the same folder): rational determinants and the exact gcd of theta and phi against the cancellation, the PBH reference and the package
- A18 · data Every result of the lab record at full precision, one row per result: the lab result, the run that produced it, the quantity, its conditions (JSON) and the value.
Score
Scores are computed by rules from the claimset file (EntryLib rubric 0.2): they check the record, not the science, and may change as the rubric and reviews develop. The rubric.
C25: 90, High
Novelty: new, by the authors · no close match on EntryLib
- −5 Plan The lab record flags the test: code changed after plan. To remove it: Rerun the test as planned, or explain the flag in a limitation.
- −3 Plan The plan's time is anchored by a git push only. To remove it: Anchor plans with the platform, a timestamp authority (RFC 3161) or a registry.
- −2 Open problems Limitation L12 (reduces transferability, not mitigated): The PBH reference is not exact for a repeated unit root: the checker P4 found a model whose cancelled MA polynomial keeps a double root at -1, which the reference accepted and the cancellation and an exact gcd rejected. The random models of the planned tests have no such root. To remove it: Mitigate it with evidence, or narrow the claim's scope so that it no longer applies.