### Examples of Spectra of ARMA models # --- Read code from S&S source("http://www.stat.pitt.edu/stoffer/tsa2/Rcode/itall.R") # --- Key routine for spectra plots is spec.arma (from S&S) spec.arma(ar=c(0.9), var.noise=1) spec.arma(ar=c(-0.9), var.noise=1) spec.arma(ar=c(1.2,-0.8)) r<-polyroot(c(1,-1.2,0.8)) abline(v=Arg(r[1])/(2*pi)) spec.arma(ar=c(1.2,-0.8), ma=c(0.5,0.3,0.7,0.6)) abline(v=Arg(r[1])/(2*pi)) # --- compare to estimates from data (y-axis in plot on log scale) spec.arma(ar=c(1.2,-0.8)) xt.256 <- arima.sim(model=list(ar=c(1.2,-0.8)), n=256, rand.gen=rnorm) pg <- spec.pgram(xt.256, taper=0.1, detrend=FALSE, plot=FALSE) points(pg$freq, pg$spec, col="darkgray") spec.arma(ar=c(1.2,-0.8)) xt.512 <- arima.sim(model=list(ar=c(1.2,-0.8)), n=512, rand.gen=rnorm) pg <- spec.pgram(xt.512, taper=0.1, detrend=FALSE, plot=FALSE) points(pg$freq, pg$spec, col="lightblue") spec.arma(ar=c(1.2,-0.8)) xt <- arima.sim(model=list(ar=c(1.2,-0.8)), n=1024, rand.gen=rnorm) pg <- spec.pgram(xt, taper=0.1, detrend=FALSE, plot=FALSE) points(pg$freq, pg$spec, col="darkgray") # --- origin of smoothing... pg <- spec.pgram(xt.256, taper=0.25, detrend=FALSE, plot=FALSE, kernel("modified.daniell", c(5,7))) points(pg$freq, pg$spec, col="red") # --- AR spectral estimate spec.arma(ar=c(1.2,-0.8)) pg <- spec.pgram(xt.256, taper=0.1, detrend=FALSE, plot=FALSE) points(pg$freq, pg$spec, col="darkgray") ar <- spec.ar(xt.256, n.freq=128, plot=FALSE) points(ar$freq, ar$spec, col="blue")