pub enum Statistic {
Pacf,
LongArYw,
LongArOls,
Acf,
AcfBartlett,
InversePacf,
JirakBand,
PacfRobust,
AcfRobust,
}Expand description
Which partial description Σ̂ of the process to threshold.
Variants§
Pacf
Partial autocorrelation (AR order). Self-studentized: se = 1/sqrt(n) for lags
beyond the true order, whatever the process (Quenouille 1949). Recommended for AR.
LongArYw
Coefficients of the Yule–Walker long AR(p_n) with se = 1/sqrt(n) — the literal
Fine–Hwang 1979 statistic. Scale-dependent; kept for benchmarking.
LongArOls
Coefficients of the OLS long AR(p_n) with classical standard errors. Scale-free.
Acf
Autocorrelation with se = 1/sqrt(n) (literal Fine–Hwang MA statistic, §V-D). Scale-dependent.
AcfBartlett
Autocorrelation studentized by Bartlett’s formula (MA order). Recommended for MA.
InversePacf
Inverse PACF (MA order): PACF of the inverse process, computed from the
inverse autocovariances of the long Yule–Walker AR(p_n) fit (the
autoregressive estimator of Cleveland 1972; the statistic itself is
Bhansali 1983, J. Multivariate Anal. 13 — this is exactly his
estimator). An MA(q) process has inverse PACF zero beyond q (his
Theorem 3.1), and his Theorem 4.2 gives the exact published null:
beyond q the estimates are asymptotically iid N(0, 1/n) and
independent of the earlier lags, so se = 1/sqrt(n) is the exact
studentisation (conditions: iid innovations with finite fourth moment,
invertibility, and a long-AR window growing at least like a multiple
of log n but with p_n³/n → 0 — the defaults qualify).
JirakBand
Yule–Walker long-AR coefficients with the exact null studentization of
Jirak (2012, Thm 2.2): se_i = sqrt(γ̂*_ii · σ̂²(p_n) / n) where γ̂*_ii
is the diagonal of the inverse of the estimated autocovariance matrix
Γ̂_{p_n} and σ̂²(p_n) the Yule–Walker innovation variance, so each
values[i]/se[i] is asymptotically standard normal under the null.
Paired with Threshold::Gumbel this is Jirak’s practically
recommended band (his Remark 2.6 calibrates the threshold by the max of
p_n i.i.d. |N(0,1)|, which is exactly that rule); with alpha_n → 0
it is his consistent estimator q̂⁽¹⁾. Upgrades Statistic::LongArYw,
whose 1/sqrt(n) ignores the correlation structure.
PacfRobust
Experimental. PACF computed from the Q_n-based robust
autocorrelations of Ma & Genton (2000) (the bounded ratio form, whose
shared denominator cancels the additive-outlier bias), with the PSD
shrinking repair as a safety net (crate::robust). 25 % breakdown
point against additive outliers, where the ordinary PACF has none.
Unlike the classical PACF this statistic is not self-studentized:
its null dispersion grows with the serial dependence of the process
(measured by simulation: ≈1.1/√n on white noise, ≈2.0/√n on a strongly
correlated AR(2), ≈2.4/√n on an MA(2)). se = 2.0/sqrt(n) is a
conservative empirical compromise pending exact theory, and the default
memory is the short poly-log window (per-lag estimation errors are
independent across lags, so long memories break positive definiteness).
AcfRobust
Experimental. Robust autocorrelation (the Ma & Genton 2000 bounded
Q_n-ratio form, crate::robust::robust_autocorrelation) studentized
by Bartlett’s formula computed from the robust ACF itself, inflated by
1.15. Monte Carlo calibration (white noise, MA(1), MA(2), AR(2);
n = 500–8000; 400 reps) puts the null sd of
ρ̂_rob(k) / se_Bartlett(ρ̂_rob) at 1.05–1.12 across all designs, so
unlike Statistic::PacfRobust the plug-in pivot is nearly
process-independent and 1.15 is a mild safety margin, pending exact
theory (the asymptotic variance of the ratio estimator differs from
the classical ACF’s; Lévy-Leduc et al. 2011 give it for Gaussian
long-memory processes). Targets MA order with a 25 % breakdown point
against additive outliers, where Statistic::AcfBartlett has none.
Implementations§
Source§impl Statistic
impl Statistic
pub const ALL: [Statistic; 9]
pub fn name(self) -> &'static str
Sourcepub fn default_memory(self, n: usize) -> usize
pub fn default_memory(self, n: usize) -> usize
Default growing memory p_n used when FhConfig::memory is None:
the poly-log window ⌈2 log n⌉ (polylog_memory), which dominated
the power rules in the benchmark (it reaches a seasonal AR(12) from
n = 400, where ⌊n^0.4⌋ cannot) and is the window covered by the
uniform LIL bounds for autocovariances. Statistic::PacfRobust uses
the shorter ⌈log n⌉ (its per-lag estimation errors are nearly
independent across lags, so long memories drift out of positive
definiteness and the deep PACF path turns into boundary noise).