statsmodels.tsa.stattools.innovations_algo¶
-
statsmodels.tsa.stattools.
innovations_algo
(acov, nobs=None, rtol=None)¶ Innovations algorithm to convert autocovariances to MA parameters.
Parameters: acov : array_like
Array containing autocovariances including lag 0.
nobs : int, optional
Number of periods to run the algorithm. If not provided, nobs is equal to the length of acovf.
rtol : float, optional
Tolerance used to check for convergence. Default value is 0 which will never prematurely end the algorithm. Checks after 10 iterations and stops if sigma2[i] - sigma2[i - 10] < rtol * sigma2[0]. When the stopping condition is met, the remaining values in theta and sigma2 are forward filled using the value of the final iteration.
Returns: theta : ndarray
Innovation coefficients of MA representation. Array is (nobs, q) where q is the largest index of a non-zero autocovariance. theta corresponds to the first q columns of the coefficient matrix in the common description of the innovation algorithm.
sigma2 : ndarray
The prediction error variance (nobs,).
See also
innovations_filter
- Filter a series using the innovations algorithm.
References
[*] Brockwell, P.J. and Davis, R.A., 2016. Introduction to time series and forecasting. Springer. Examples
>>> import statsmodels.api as sm >>> data = sm.datasets.macrodata.load_pandas() >>> rgdpg = data.data['realgdp'].pct_change().dropna() >>> acov = sm.tsa.acovf(rgdpg) >>> nobs = activity.shape[0] >>> theta, sigma2 = innovations_algo(acov[:4], nobs=nobs)