For a given ARMA model (including seasonal models), reports whether the model is causal, invertible, or (approximately) over-parameterized.
arma.check(ar = 0, ma = 0, sar = NULL, sma = NULL, S = NULL, redtol = 0.1,
plot.it = FALSE, ...)See the details. If the model is causal and invertible and not over-parameterized, a nice message of validation is given. Otherwise, problems are reported but the specific culprits may not be specified.
vector of AR parameters
vector of MA parameters
vector of seasonal AR parameters (only specify for seasonal models)
vector of seasonal MA parameters (only specify for seasonal models)
seasonal period (only specify for seasonal models - default value is 12)
tolerance for reporting parameter redundancy
if TRUE -and- the model is causal and invertible, will plot the inverse roots and display the redundancy tolerance level, but ONLY for the AR and MA parts (seasonal parts are ignored)
additional graphical parameters
D.S. Stoffer
Causality and invertibility are checked first. If either one or both are reported, checking is stopped.
If the model is causal and invertible, a warning for (possible) over-parameterization/redundancy is given if there are (approximate) common zeros.
To evaluate parameter redundancy, the inverse roots of the AR and MA polynomials are examined for closeness with redtol determining closeness; see the note.
For fun, and IF the model is causal and invertible, setting plot.it=TRUE will display the complex plane with the inverse roots of the AR and MA polynomials displayed with colored arrows; the seasonal components are not included because it's too messy. The tolerance level for declaring over-parameterization is also displayed in the graphic.
You can find demonstrations of astsa capabilities at FUN WITH ASTSA.
The most recent version of the package can be found at https://github.com/nickpoison/astsa/.
In addition, the News and ChangeLog files are at https://github.com/nickpoison/astsa/blob/master/NEWS.md.
The webpages for the texts and some help on using R for time series analysis can be found at https://nickpoison.github.io/.
arma.spec, sarima.sim, ARMAtoAR, ARMAtoMA
arma.check(ar=c(1,-.9), sar=-.6, sma=-.4, S=4)
arma.check(ar=.9, ma=c(-.9,-.8), sar=1, S=12)
# hard to tell from parameters alone ...
arma.check(ar=c(1.5,-.75), ma=c(-.6,-.3,.45), plot.it=TRUE, gg=TRUE)
Run the code above in your browser using DataLab