# statsmodels.sandbox.tsa.fftarma.ArmaFft¶

class statsmodels.sandbox.tsa.fftarma.ArmaFft(ar, ma, n)[source]

fft tools for arma processes

This class contains several methods that are providing the same or similar returns to try out and test different implementations.

Notes

TODO: check whether we don’t want to fix maxlags, and create new instance if maxlag changes. usage for different lengths of timeseries ? or fix frequency and length for fft

check default frequencies w, terminology norw n_or_w

some ffts are currently done without padding with zeros

returns for spectral density methods needs checking, is it always the power spectrum hw*hw.conj()

normalization of the power spectrum, spectral density: not checked yet, for example no variance of underlying process is used

Attributes
arroots

Roots of autoregressive lag-polynomial

isinvertible

Arma process is invertible if MA roots are outside unit circle

isstationary

Arma process is stationary if AR roots are outside unit circle

maroots

Roots of moving average lag-polynomial

Methods

 acf([lags]) Theoretical autocorrelation function of an ARMA process acf2spdfreq(acovf[, nfreq, w]) not really a method just for comparison, not efficient for large n or long acf acovf([nobs]) Theoretical autocovariance function of ARMA process arma2ar([lags]) Get the AR representation of an ARMA process arma2ma([lags]) Get the MA representation of an ARMA process fftar([n]) Fourier transform of AR polynomial, zero-padded at end to n fftarma([n]) Fourier transform of ARMA polynomial, zero-padded at end to n Fourier transform of MA polynomial, zero-padded at end to n filter a timeseries with the ARMA filter filter2(x[, pad]) filter a time series using fftconvolve3 with ARMA filter from_coeffs([arcoefs, macoefs, nobs]) Convenience function to create ArmaProcess from ARMA representation from_estimation(model_results[, nobs]) Convenience function to create an ArmaProcess from the results of an ARMA estimation generate_sample([nsample, scale, distrvs, …]) Simulate an ARMA impulse_response([leads]) Get the impulse response function (MA representation) for ARMA process invertroots([retnew]) Make MA polynomial invertible by inverting roots inside unit circle autocovariance from spectral density pacf([lags]) Partial autocorrelation function of an ARMA process pad(maxlag) construct AR and MA polynomials that are zero-padded to a common length padarr(arr, maxlag[, atend]) pad 1d array with zeros at end to have length maxlag function that is a method, no self used periodogram([nobs]) Periodogram for ARMA process given by lag-polynomials ar and ma plot4([fig, nobs, nacf, nfreq]) Plot results spd(npos) raw spectral density, returns Fourier transform power spectral density using padding to length n done by fft spdmapoly(w[, twosided]) ma only, need division for ar, use LagPolynomial spdpoly(w[, nma]) spectral density from MA polynomial representation for ARMA process spectral density for frequency using polynomial roots power spectral density using fftshift