statsmodels.tsa.arima_process.ArmaProcess¶
-
class
statsmodels.tsa.arima_process.ArmaProcess(ar=None, ma=None, nobs=100)[source]¶ Theoretical properties of an ARMA process for specified lag-polynomials
- Parameters
- ararray_like, 1d, optional
Coefficient for autoregressive lag polynomial, including zero lag. See the notes for some information about the sign.
- maarray_like, 1d, optional
Coefficient for moving-average lag polynomial, including zero lag
- nobsint, optional
Length of simulated time series. Used, for example, if a sample is generated. See example.
Notes
Both the AR and MA components must include the coefficient on the zero-lag. In almost all cases these values should be 1. Further, due to using the lag-polynomial representation, the AR parameters should have the opposite sign of what one would write in the ARMA representation. See the examples below.
The ARMA(p,q) process is described by
\[y_{t}=\phi_{1}y_{t-1}+\ldots+\phi_{p}y_{t-p}+\theta_{1}\epsilon_{t-1} +\ldots+\theta_{q}\epsilon_{t-q}+\epsilon_{t}\]and the parameterization used in this function uses the lag-polynomial representation,
\[\left(1-\phi_{1}L-\ldots-\phi_{p}L^{p}\right)y_{t} = \left(1-\theta_{1}L-\ldots-\theta_{q}L^{q}\right)\]Examples
>>> import numpy as np >>> np.random.seed(12345) >>> arparams = np.array([.75, -.25]) >>> maparams = np.array([.65, .35]) >>> ar = np.r_[1, -arparams] # add zero-lag and negate >>> ma = np.r_[1, maparams] # add zero-lag >>> arma_process = sm.tsa.ArmaProcess(ar, ma) >>> arma_process.isstationary True >>> arma_process.isinvertible True >>> y = arma_process.generate_sample(250) >>> model = sm.tsa.ARMA(y, (2, 2)).fit(trend='nc', disp=0) >>> model.params array([ 0.79044189, -0.23140636, 0.70072904, 0.40608028])
- 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
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
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
pacf([lags])Partial autocorrelation function of an ARMA process
periodogram([nobs])Periodogram for ARMA process given by lag-polynomials ar and ma
