EstemPMM News

Version 0.5.0 (2026-08-09)

Major: recursive (non-linearised) estimation of the MA component

Until 0.4.0 every PMM2 time-series path with a moving-average component built the design matrix once from the CSS residuals (arma_build_design(), ma_build_design()) and held it fixed while the PMM2 Newton iteration ran. For the AR columns this is exact – the regressors are observed data and do not depend on the parameter. For the MA columns it is a one-step linearisation of the innovation recursion, and it costs a factor of exactly 1 - theta^2 in asymptotic variance relative to CSS. The penalty does not shrink as the sample grows: on ARIMA(0,1,1) it stayed near -30% of variance for T = 100, 200, 500 and 1000 alike.

New: ma_solver = c("linearized", "recursive")

ts_pmm2(), ma_pmm2(), arma_pmm2() and arima_pmm2() gained an ma_solver argument. With "recursive" the innovations eps_t(beta) and the score regressors x_t(beta) = -d eps_t / d beta are recomputed by the exact recursion at every candidate parameter, so there is no linearisation. When mu3 = 0 the PMM2 estimating equation then reduces identically to the CSS first-order condition, and the 1 - theta^2 penalty disappears exactly rather than asymptotically.

Measured effect (ARIMA(0,1,1), theta = -0.5, T = 500, 2000 replications, relative efficiency against CSS; higher is better):

innovations linearised recursive theory (2+g4)/(2+g4-g3^2)
Gaussian 0.7723 0.9863 1.0000
Gamma(2,1) 1.2807 1.6986 1.6667
lognormal 1.3289 1.8116 1.6822
chi-squared 1.3538 1.7557 1.8000

Variance reduction on the MA branch rises from about 23% to about 42%, i.e. to parity with the pure AR branch. The Gaussian penalty falls from -23% to -1.4%.

The default remains "linearized" so that results from 0.4.x reproduce bit-for-bit. "recursive" is the recommended setting whenever q >= 1; the default is scheduled to change in the next major release.

Scope of the recursive branch

Supported: non-seasonal ma, arma and arima model types with q >= 1 and any p >= 0, with or without an intercept, and any differencing order d. Verified against numerical differentiation for ARMA(2,2) with an intercept.

Not supported (silently keep the linearised path): the seasonal sar_pmm2() / sma_pmm2() / sarma_pmm2() / sarima_pmm2() family. Note that sarima_pmm2() has an unrelated argument that is also called ma_method, taking "mle" / "pmm2"; the two are not interchangeable.

Pure AR models are unaffected: with q = 0 the recursion is the identity map and reproduces the fixed lag design bit-for-bit, so ma_solver is ignored and the estimates are unchanged.

New: robust solver

The recursive estimating equation is solved by a safeguarded Newton iteration with

On the benchmark grid above (ARIMA(0,1,1), theta = -0.5, T = 500, 2000 replications x 4 laws) the solver returned a finite, invertible estimate and reported convergence on 100.0% of replications for all four laws. A bracketing uniroot() on [-0.97, 0.97] – the obvious alternative – fails on up to 6% of replications under skewed innovations (1995/1882/1952/1873 successes out of 2000 for Gaussian/Gamma/lognormal/chi-squared).

New: closed-form standard errors for MA/ARMA/ARIMA

For recursive fits the score regressors are F_{t-1}-measurable, so the estimating function is a martingale difference sequence and the sandwich covariance collapses to

Sigma = (Delta / a) * M^{-1},
  a = mu4 - mu2^2,  Delta = mu2 * a - mu3^2,  M = E[x_t x_t'],
  Delta / a = mu2 * (1 - gamma3^2 / (gamma4 + 2)) = mu2 * g2

– the same expression already used for AR models, with X replaced by the exact score regressors. vcov() and confint() therefore now work for non-seasonal ma / arma / arima fits produced with ma_solver = "recursive"; no numerical Jacobian and no HAC correction are involved. Agreement with an empirical numerical sandwich is within 5%.

For linearised fits vcov() and confint() still refuse – the frozen CSS design is not the derivative of the criterion, so the formula does not apply there – and direct users to ts_pmm2_inference().

Known limitation: intercept standard errors

Neyman orthogonality with respect to the plug-in moments holds if and only if mu3 * E[x_t] = 0. Every slope regressor has E[x_t] = 0, so estimating mu2, mu3, mu4 from residuals does not affect the limiting distribution of the AR/MA coefficients. The intercept regressor has E[x_t] = 1, so under skewed innovations (mu3 != 0) estimating mu2 contributes at first order and the intercept’s standard error is understated. This affects the linearised branch as well and is not new in 0.5.0, but it is now documented; vcov() covers the slope parameters only and warns when an intercept was estimated under visible skewness.

Other

Version 0.4.0 (2026-05-28)

Major: revised class hierarchy and unified user interface

Substantial refactor in response to the JSS reviewer report (May 2026) on the accompanying manuscript. The package methodology is unchanged; the user interface and S4 class graph are reorganised to address the reviewer’s concerns about a flat class structure, scattered top-level functions, and missing methods.

New unified API (primary going forward)

New virtual S4 class hierarchy

New methods on existing classes

S4/S3 cleanup

New PMMdispatch S3 class

Numerical / code-quality fixes


Version 0.3.1 (2026-04-06)

CRAN Resubmission


Version 0.3.0 (2026-03-19)

New Feature: PMM3 for Symmetric Platykurtic Errors

PMM3 (S=3) extends the Polynomial Maximization Method to handle symmetric error distributions with negative excess kurtosis (platykurtic), such as uniform, beta-symmetric, and truncated normal errors.

New Functions

PMM3 Time Series Functions

New S4 Classes

Documentation


Version 0.2.0 (2025-11-20)

Major Update: Unified PMM2 Architecture

This release represents a significant architectural improvement based on comprehensive research comparing different PMM2 implementation strategies.

New Features

Research-Based Improvements

Based on Monte Carlo simulations (R=50, n=200) comparing three approaches:

Approach AR(1) MA(1) SARIMA Status
Unified Iterative -2.9% MSE -19.9% MSE -16.4% MSE Best overall
Unified One-step -2.2% MSE -23.0% MSE -15.6% MSE Fastest
Linearized (MA) N/A -21.6% MSE N/A MA specialist
Direct Nonlinear N/A Failed Failed Removed

Key findings: - Unified approaches provide consistent 3-23% MSE improvement - One-step (global) variant offers best speed/accuracy tradeoff - Linearized approach optimal for pure MA/SMA models

Breaking Changes

API Changes

# Old way (still works, uses unified_global by default)
ar_pmm2(y, order = 2)

# New explicit variant selection
ar_pmm2(y, order = 2, pmm2_variant = "unified_iterative")
ma_pmm2(y, order = 1, pmm2_variant = "linearized")  # Best for MA
arima_pmm2(y, order = c(1,0,1), pmm2_variant = "unified_global")  # Default

Documentation

Dependencies

Bug Fixes

Performance


Version 0.1.4 (Development - Superseded by 0.2.0)

New Features

Bug Fixes

Version 0.1.3 (2025-11-13)

Documentation

Version 0.1.2 (2025-11-13)

New Features

Bug Fixes

Improvements

Version 0.1.1 (2025-10-23)

Maintenance

Version 0.1.0 (2025-01-15)

Initial Release: PMM2 Foundation

New Features: - lm_pmm2() - Linear regression estimation using Polynomial Maximization Method (S=2) - ar_pmm2() - Autoregressive (AR) time series modeling with PMM2 - ma_pmm2() - Moving Average (MA) time series modeling with PMM2 - arma_pmm2() - ARMA time series modeling with PMM2 - arima_pmm2() - ARIMA time series modeling with PMM2 - pmm2_inference() - Bootstrap inference for linear models - ts_pmm2_inference() - Bootstrap inference for time series models - Statistical utilities: pmm_skewness(), pmm_kurtosis(), compute_moments() - Comparison functions: compare_with_ols(), compare_ts_methods(), compare_ar_methods(), compare_ma_solvers(), compare_arma_solvers(), compare_arima_solvers()

S4 Classes: - PMM2fit - Results container for linear regression models - TS2fit - Base class for time series results - ARPMM2, MAPMM2, ARMAPMM2, ARIMAPMM2 - Specialized time series result classes

Methods: - summary() - Model summary statistics - coef() - Extract coefficients - fitted() - Fitted values - predict() - Predictions for new data - residuals() - Model residuals - plot() - Diagnostic plots

Documentation: - Comprehensive Roxygen2 documentation for all exported functions - README with theoretical background and basic usage examples - Demonstration script pmm2_demo_runner.R showing practical applications

Package Architecture

Module Organization: - R/pmm2_main.R - Primary PMM2 fitting functions - R/pmm2_classes.R - S4 class definitions - R/pmm2_utils.R - Utility functions for moment computation and optimization - R/pmm2_ts_design.R - Time series design matrix construction

Dependencies: - Core: methods, stats, graphics, utils - Optional: MASS (for advanced statistical functions, available in Suggests)

Quality Assurance: - Unit tests covering core PMM2 functionality - Edge case handling for numerical stability - Convergence diagnostics and warnings

Known Limitations

Roadmap

1.0.0 (Stable API): - API stabilization and backward compatibility guarantee - Seasonal PMM3 models (sar_pmm3, sarima_pmm3) - Extended performance benchmarks - Specialized applications (econometrics, biostatistics)

Citation

If you use EstemPMM in your research, please cite the relevant publications:

For Linear Regression (lm_pmm2): Zabolotnii S., Warsza Z.L., Tkachenko O. (2018) Polynomial Estimation of Linear Regression Parameters for the Asymmetric PDF of Errors. In: Szewczyk R., Zieliński C., Kaliczyńska M. (eds) Automation 2018. AUTOMATION 2018. Advances in Intelligent Systems and Computing, vol 743. Springer, Cham. https://doi.org/10.1007/978-3-319-77179-3_75

For Autoregressive Models (ar_pmm2): Zabolotnii S., Tkachenko O., Warsza Z.L. (2022) Application of the Polynomial Maximization Method for Estimation Parameters of Autoregressive Models with Asymmetric Innovations. In: Szewczyk R., Zieliński C., Kaliczyńska M. (eds) Automation 2022. AUTOMATION 2022. Advances in Intelligent Systems and Computing, vol 1427. Springer, Cham. https://doi.org/10.1007/978-3-031-03502-9_37

For Moving Average Models (ma_pmm2): Zabolotnii S., Tkachenko O., Warsza Z.L. (2023) Polynomial Maximization Method for Estimation Parameters of Asymmetric Non-gaussian Moving Average Models. In: Szewczyk R., et al. (eds) Automation 2023. AUTOMATION 2023. Lecture Notes in Networks and Systems, vol 630. Springer, Cham.

Technical Notes

Algorithm Stability: - Regularization parameter automatically adjusted for ill-conditioned systems - Step size limiting prevents divergence in optimization - Convergence history tracking for diagnostics

Numerical Considerations: - Moment estimation uses robust methods to handle outliers - Design matrices constructed with numerical stability in mind - NA/Inf values detected and handled appropriately