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
Methods
acf([nobs]) | theoretical autocorrelation function of an ARMA process |
acf2spdfreq(acovf[, nfreq, w]) | not really a method |
acovf([nobs]) | theoretical autocovariance function of ARMA process |
arma2ar([nobs]) | |
arma2ma([nobs]) | |
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 instance from coefficients of the lag-polynomials |
from_estimation(model_results[, nobs]) | Create ArmaProcess instance from ARMA estimation results |
generate_sample([nsample, scale, distrvs, ...]) | generate ARMA samples |
impulse_response([nobs]) | get 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([nobs]) | 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 |
periodogram([nobs]) | periodogram for ARMA process given by lag-polynomials ar and ma |
plot4([fig, nobs, nacf, nfreq]) | |
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 |
spdroots_(arroots, maroots, w) | spectral density for frequency using polynomial roots |
spdshift(n) | power spectral density using fftshift |
Methods
acf([nobs]) | theoretical autocorrelation function of an ARMA process |
acf2spdfreq(acovf[, nfreq, w]) | not really a method |
acovf([nobs]) | theoretical autocovariance function of ARMA process |
arma2ar([nobs]) | |
arma2ma([nobs]) | |
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 instance from coefficients of the lag-polynomials |
from_estimation(model_results[, nobs]) | Create ArmaProcess instance from ARMA estimation results |
generate_sample([nsample, scale, distrvs, ...]) | generate ARMA samples |
impulse_response([nobs]) | get 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([nobs]) | 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 |
periodogram([nobs]) | periodogram for ARMA process given by lag-polynomials ar and ma |
plot4([fig, nobs, nacf, nfreq]) | |
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 |
spdroots_(arroots, maroots, w) | spectral density for frequency using polynomial roots |
spdshift(n) | power spectral density using fftshift |
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 |