arimasel 0.2.0
DESCRIPTION and roxygen documentation now consistently
write function names with (),
e.g. auto.arima().
- Functions that previously wrote directly to the console with
unconditional
cat()/print() calls –
cp_sets(), stationarity_test(),
compare_arima(), arima_diagnose(), and
ts_eda() – now return proper S3 objects
(cartProduct, stationarityTest,
compareArima, arimaDiagnose,
tsEda respectively) with dedicated print
methods, so output only appears via explicit or automatic top-level
printing and is suppressed by ordinary assignment.
smart_arima()’s informational notes now use
message() (suppressible via
suppressMessages()) instead of cat().
- The vignette’s multi-panel plotting chunk now saves and restores the
user’s
par() settings with
oldpar <- par(...); ...; par(oldpar) instead of a
partial manual reset.
Bug fixes
fitted.cartARIMA() (and
plot(type = "fitted")) previously returned a non-numeric
result because stats::arima() fits have no
fitted.Arima method for stats::fitted() to
dispatch to. Fitted values are now computed correctly as observed minus
one-step-ahead residuals.
arima_forecast() prediction intervals were inverted
(lower > upper) because the two-sided normal critical
value was computed from the wrong tail
(qnorm((100 - level) / 200), which is negative). Fixed to
use qnorm((100 + level) / 200).
- Fixed an ORCID/CITATION inconsistency between
DESCRIPTION and inst/CITATION.
New features
cart_arima() gains a seasonal argument
(list(P, D, Q, period)) for exhaustive seasonal ARIMA
search over every combination.
cart_arima() and arima_forecast() gain
xreg / newxreg support for regression with
ARIMA errors.
cart_arima() gains a parallel /
n_cores option for multi-core candidate model fitting (via
parallel::mclapply, with an automatic serial fallback on
Windows).
- New
arima_cv() for rolling-origin (expanding-window)
cross-validation (“backtesting”) of the selected model order, with
print.arimaCV, summary.arimaCV, and
plot.arimaCV methods.
- New
seasonal_strength() (STL-based trend/seasonal
strength, Wang, Smith & Hyndman 2006) and suggest_D()
(seasonal differencing recommendation).
plot.cartARIMA() gains a type = "seasonal"
STL decomposition panel.
cp_sets() and compare_arima() are now
seasonal-aware.
- New
ts_features(): a compact, scale-free feature
summary of a time series (trend/seasonal strength, spectral entropy,
ACF(1), lumpiness, stability, ADF statistic) in the spirit of Hyndman,
Wang and Laptev (2015).
- New
ts_eda(): a one-call exploratory data analysis
routine producing a multi-panel plot (time plot, distribution, ACF/PACF,
and, for seasonal series, seasonal subseries and seasonal lag plots)
plus a console summary of ts_features(),
stationarity_test(), and recommended differencing
orders.
- New
smart_arima(): a feature-guided wrapper around
cart_arima() that uses
ts_features()/suggest_d()/suggest_D()
to automatically narrow the differencing (and, where relevant, seasonal)
search space before running the exhaustive Cartesian-product search – a
lightweight, transparent alternative to black-box automatic model
selection.
Other changes
- Package version bumped to 0.2.0.
- Maintainer email and DESCRIPTION/CITATION corrected/aligned.
- Expanded test suite covering the new seasonal,
xreg,
cross-validation, and EDA/feature-based functionality, plus regression
tests for both fixed bugs.
- Vignette extended with exploratory data analysis, seasonal search,
exogenous regressor, cross-validation, and feature-guided search
examples.
arimasel 0.1.0