statsmodels.tsa.x13.x13_arima_analysis¶
- statsmodels.tsa.x13.x13_arima_analysis(endog, maxorder=(2, 1), maxdiff=(2, 1), diff=None, exog=None, log=None, outlier=True, trading=False, forecast_periods=None, retspec=False, speconly=False, start=None, freq=None, print_stdout=False, x12path=None, prefer_x13=True)[source]¶
Perform x13-arima analysis for monthly or quarterly data.
- Parameters:
- endogarray_like,
pandas.Series
The series to model. It is best to use a pandas object with a DatetimeIndex or PeriodIndex. However, you can pass an array-like object. If your object does not have a dates index then
start
andfreq
are not optional.- maxorder
tuple
The maximum order of the regular and seasonal ARMA polynomials to examine during the model identification. The order for the regular polynomial must be greater than zero and no larger than 4. The order for the seasonal polynomial may be 1 or 2.
- maxdiff
tuple
The maximum orders for regular and seasonal differencing in the automatic differencing procedure. Acceptable inputs for regular differencing are 1 and 2. The maximum order for seasonal differencing is 1. If
diff
is specified thenmaxdiff
should be None. Otherwise,diff
will be ignored. See alsodiff
.- diff
tuple
Fixes the orders of differencing for the regular and seasonal differencing. Regular differencing may be 0, 1, or 2. Seasonal differencing may be 0 or 1.
maxdiff
must be None, otherwisediff
is ignored.- exogarray_like
Exogenous variables.
- logbool or
None
If None, it is automatically determined whether to log the series or not. If False, logs are not taken. If True, logs are taken.
- outlierbool
Whether or not outliers are tested for and corrected, if detected.
- tradingbool
Whether or not trading day effects are tested for.
- forecast_periods
int
Number of forecasts produced. The default is None.
- retspecbool
Whether to return the created specification file. Can be useful for debugging.
- speconlybool
Whether to create the specification file and then return it without performing the analysis. Can be useful for debugging.
- start
str
,datetime
Must be given if
endog
does not have date information in its index. Anything accepted by pandas.DatetimeIndex for the start value.- freq
str
Must be givein if
endog
does not have date information in its index. Anything accepted by pandas.DatetimeIndex for the freq value.- print_stdoutbool
The stdout from X12/X13 is suppressed. To print it out, set this to True. Default is False.
- x12path
str
orNone
The path to x12 or x13 binary. If None, the program will attempt to find x13as or x12a on the PATH or by looking at X13PATH or X12PATH depending on the value of prefer_x13.
- prefer_x13bool
If True, will look for x13as first and will fallback to the X13PATH environmental variable. If False, will look for x12a first and will fallback to the X12PATH environmental variable. If x12path points to the path for the X12/X13 binary, it does nothing.
- endogarray_like,
- Returns:
Bunch
A bunch object containing the listed attributes.
results : str The full output from the X12/X13 run.
seasadj : pandas.Series The final seasonally adjusted
endog
.trend : pandas.Series The trend-cycle component of
endog
.irregular : pandas.Series The final irregular component of
endog
.stdout : str The captured stdout produced by x12/x13.
spec : str, optional Returned if
retspec
is True. The only thing returned ifspeconly
is True.
Notes
This works by creating a specification file, writing it to a temporary directory, invoking X12/X13 in a subprocess, and reading the output directory, invoking exog12/X13 in a subprocess, and reading the output back in.