statsmodels.tsa.stattools.innovations_algo(acov, nobs=None, rtol=None)[source]

Innovations algorithm to convert autocovariances to MA parameters


Array containing autocovariances including lag 0

nobsint, optional

Number of periods to run the algorithm. If not provided, nobs is equal to the length of acovf

rtolfloat, 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.


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.


The prediction error variance (nobs,).



Brockwell, P.J. and Davis, R.A., 2016. Introduction to time series and forecasting. Springer.


>>> import statsmodels.api as sm
>>> data = sm.datasets.macrodata.load_pandas()
>>> rgdpg =['realgdp'].pct_change().dropna()
>>> acov = sm.tsa.acovf(rgdpg)
>>> nobs = activity.shape[0]
>>> theta, sigma2  = innovations_algo(acov[:4], nobs=nobs)