statsmodels.tsa.arima_process.ar2arma(ar_des, p, q, n=20, mse='ar', start=None)[source]

find arma approximation to ar process

This finds the ARMA(p,q) coefficients that minimize the integrated squared difference between the impulse_response functions (MA representation) of the AR and the ARMA process. This does currently not check whether the MA lagpolynomial of the ARMA process is invertible, neither does it check the roots of the AR lagpolynomial.


ar_des : array_like

coefficients of original AR lag polynomial, including lag zero

p, q : int

length of desired ARMA lag polynomials

n : int

number of terms of the impuls_response function to include in the objective function for the approximation

mse : string, ‘ar’

not used yet,


ar_app, ma_app : arrays

coefficients of the AR and MA lag polynomials of the approximation

res : tuple

result of optimize.leastsq


Extension is possible if we want to match autocovariance instead of impulse response function.

TODO: convert MA lag polynomial, ma_app, to be invertible, by mirroring roots outside the unit intervall to ones that are inside. How do we do this?