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 do not 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:¶
arrootsRoots of autoregressive lag-polynomial
isinvertibleArma process is invertible if MA roots are outside unit circle.
isstationaryArma process is stationary if AR roots are outside unit circle.
marootsRoots 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 autocovariances of stationary ARMA processes
arma2ar([lags])A finite-lag AR approximation of an ARMA process.
arma2ma([lags])A finite-lag approximate 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
fftma(n)Fourier transform of MA polynomial, zero-padded at end to n
filter(x)filter a timeseries with the ARMA filter
filter2(x[, pad])filter a time series using fftconvolve3 with ARMA filter
from_coeffs([arcoefs, macoefs, nobs])Create ArmaProcess from an ARMA representation.
from_estimation(model_results[, nobs])Create an ArmaProcess from the results of an ARIMA estimation.
from_roots([maroots, arroots, nobs])Create ArmaProcess from AR and MA polynomial roots.
generate_sample([nsample, scale, distrvs, ...])Simulate data from an ARMA.
impulse_response([leads])Compute the impulse response function (MA representation) for ARMA process.
invertroots([retnew])Make MA polynomial invertible by inverting roots inside unit circle.
invpowerspd(n)autocovariance from spectral density
pacf([lags])Theoretical 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
spddirect(n)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
spdroots(w)spectral density for frequency using polynomial roots
spdshift(n)power spectral density using fftshift
Properties
Roots of autoregressive lag-polynomial
Arma process is invertible if MA roots are outside unit circle.
Arma process is stationary if AR roots are outside unit circle.
Roots of moving average lag-polynomial