smooth.AutoMSARIMA
- class smooth.AutoMSARIMA(lags=None, ar_order=[3, 3], i_order=[2, 1], ma_order=[3, 3], orders=None, constant=False, initial='backcasting', initial_X=None, ic='AICc', loss='likelihood', h=None, holdout=False, bounds='usual', regressors='use', outliers='ignore', level=0.99, verbose=0, **kwargs)
Automatic Multiple Seasonal ARIMA with order selection.
Wraps
AutoADAMwithmodel="NNN"anddistribution="dnorm"fixed, providing automatic ARIMA order selection for pure ARIMA (and SARIMA) models without ETS components. Mirrors R’sauto.msarima().- Parameters:
lags (Optional[List[int]], default=None) – Seasonal period(s). E.g.
lags=[1, 12]for monthly data. If None, defaults to[1](non-seasonal).ar_order (Union[int, List[int]], default=[3, 3]) – Maximum AR order(s) per lag level for selection. Matches R’s
orders=list(ar=c(3,3)).i_order (Union[int, List[int]], default=[2, 1]) – Maximum integration order(s) per lag level. Matches R’s
orders=list(i=c(2,1)).ma_order (Union[int, List[int]], default=[3, 3]) – Maximum MA order(s) per lag level for selection. Matches R’s
orders=list(ma=c(3,3)).orders (Optional[Dict[str, Any]], default=None) – R-style alternative to scalar max orders. A dict with keys
"ar","i","ma"(each an int or list). When provided,ar_order/i_order/ma_orderare ignored.constant (Union[bool, float], default=False) – Whether to include a constant (drift) term.
initial (Union[str, Dict[str, Any]], default="backcasting") – Initialisation method or dict of fixed initial values. String options:
"backcasting","optimal","complete","two-stage".initial_X (Optional[NDArray], default=None) – Initial values for regressor coefficients (equivalent to R’s
initialX).ic (Literal["AIC", "AICc", "BIC", "BICc"], default="AICc") – Information criterion for model comparison during selection.
loss (LOSS_OPTIONS, default="likelihood") – Loss function for parameter estimation.
h (Optional[int], default=None) – Forecast horizon. Can also be set in
predict().holdout (bool, default=False) – Whether to use a holdout sample.
bounds (Literal["usual", "admissible", "none"], default="usual") – Parameter bounds type.
regressors (Literal["use", "select", "adapt"], default="use") – How to handle external regressors.
outliers (Literal["ignore", "use", "select"], default="ignore") – Outlier handling mode (see
AutoADAM).level (float, default=0.99) – Confidence level for outlier detection.
verbose (int, default=0) – Verbosity level. 0 = silent.
**kwargs – Additional arguments forwarded to
AutoADAM.
Examples
Automatic non-seasonal ARIMA:
>>> from smooth import AutoMSARIMA >>> import numpy as np >>> y = np.cumsum(np.random.randn(100)) + 100.0 >>> model = AutoMSARIMA(lags=[1]) >>> model.fit(y) >>> print(model)
Automatic seasonal ARIMA for monthly data:
>>> model = AutoMSARIMA(lags=[1, 12]) >>> model.fit(y) >>> fc = model.predict(h=24)
References
Svetunkov, I. (2023). Forecasting and Analytics with the Augmented Dynamic Adaptive Model. https://openforecast.org/adam/
Methods
|
Fit the AutoADAM model. |
|
Detect outliers and return a matrix of indicator dummy variables. |
|
Generate forecasts using the fitted ADAM model. |
|
Generate prediction intervals using the fitted ADAM model. |
Return standardised residuals. |
|
|
Return studentised (leave-one-out) residuals. |
Select the best model based on information criteria and update model parameters. |
|
|
Generate a formatted summary of the fitted model. |
Attributes
Return original in-sample data. |
|
Return Akaike Information Criterion. |
|
Return corrected Akaike Information Criterion. |
|
$B). |
|
Return Bayesian Information Criterion. |
|
Return corrected Bayesian Information Criterion. |
|
Return estimated coefficients (parameter vector B). |
|
$constant). |
|
$data). |
|
$distribution). |
|
'A' (additive) or 'M' (multiplicative). |
|
Return in-sample fitted values. |
|
$holdout). |
|
$ICw). |
|
$initialType). |
|
$initial). |
|
Return True if model is a combination of multiple models. |
|
Return the vector of lags used in the model. |
|
Return log-likelihood of the fitted model. |
|
$loss). |
|
$lossValue). |
|
$measurement). |
|
modelName()). |
|
Return ETS model type code (e.g., 'AAN', 'AAA', 'MAdM'). |
|
$models). |
|
$nParam). |
|
Return number of observations used for fitting. |
|
Return number of estimated parameters. |
|
Return ARIMA orders as dict with 'ar', 'i', 'ma' keys. |
|
$persistence). |
|
$phi). |
|
$profile). |
|
Return model residuals (errors from fitting). |
|
$scale). |
|
Return scale/standard error estimate. |
|
$states). |
|
Time taken to fit the model in seconds. |
|
$transition). |