Analisi dei dati
Generazione dei dati AR(2)
ar2 <- arima.sim(list(order = c(2,0,0), ar = c(0.5,0.3)), n = 300) # Genero 200 osservazioni da un AR(2)
plot.ts(ar2)
par(mfrow=c(2,1))
acf(ar2, lag.max=50)
pacf(ar2, lag.max=50)
polyroot(c(1,-0.5,-0.3)) # Stabilisce se le radici del polinomio caratteristico stanno dentro o fuori il cerchio di raggio unitario
Mod(polyroot(c(1,-0.5,-0.3))) # Calcola il modulo delle radici del polinomio
Dati USAccDeaths
data(USAccDeaths)
inc <- USAccDeaths
plot(inc)
par(mfrow=c(2,1))
acf(acc)
pacf(acc)
dacc <- diff(inc)
par(mfrow=c(2,1))
acf(dacc)
pacf(dacc)
d12dacc = diff(dacc, lag=12)
plot(d12dacc)
par(mfrow=c(2,1))
acf(d12dacc)
pacf(d12dacc)
Modellazione e diagnosi
library(tseries)
fitar1 = arima(d12dacc, order=c(1,0,0))
fitar1tsdiag(fitar1)
fittar1 = arma(d12dacc, order=c(1,0))
summary(fittar1)
fitma1 = arima(d12dacc, order=c(0,0,1))
fitma1tsdiag(fitma1)
fittma1 = arma(d12dacc, order=c(0,1))
summary(fittma1)
fitarma <- arima(d12dacc, order=c(1,0,1))
fitarmatsdiag(fit12)
fittarma = arma(d12dacc, order=c(1,1))
summary(fittarma)
Analisi differenziata
dd12 <- diff(diff(inc), lag=12)
plot(dd12)
fitdd12 <- arima(dd12, order=c(1,0,1))
Dati GDP
gdp <- read.table("http://3w.eco.serverxy.it/giannirossi/ts/RGDP.txt")
pil <- gdp[,3]
pil <- ts(pil, start=1947, frequency=4) # Frequency = Numero osserv. x unità di tempo
plot(pil)
par(mfrow=c(2,1))
acf(pil, lag.max=100)
pacf(pil, lag.max=100)
ar(dati)
library(tseries)
fit <- arma(pil, order=c(1,0)) # Stima un modello AR(1)
summary(fit) # Produce l'output
lpil <- log(pil)
dpil <- diff(lpil)
par(mfrow=c(3,1))