1
Modelos Sazonais Estocásticos
2
Supervisora: Profª Clélia Maria de
Castro Toloi
Programa de
Aperfeiçoamento de
Ensino
Série IPI
(Morettin e Toloi, 2004), janeiro de 1985 a julho de 2000.
Disponíveis em http://www.ime.usp.br/ pam/IPI.xls
Leitura dos dados - R:
ipi = scan() # Colar os dados ipi = ts(ipi,freq=12,start=c(1985,1)) plot(ipi,main='IPI - Aliment') I PI - Al i ment Ti me ip i 1985 1990 1995 2 000 8 0 10 0 1 20 14 0Verificação da necessidade do
uso de alguma transformação
z<-ipi n<- length(z) j<-12 # dados mensais # abcissa<- NULL ordenada<- NULL for (i in 1: (n-j)){ abcissa[i]<-mean(z[i:(i+j)]) ordenada[i]<-sd(z[i:(i+j)]) }
plot(x=abcissa,y=ordenada, xlab='Médias dos subconjuntos', ylab= 'Desvios-padrão(ões) dos subconjuntos', main='Uso de alguma transformação?') 90 95 100 105 110 115 120 125 1 2 1 4 1 6 1 8
Uso de alguma transformação?
Médias dos subconjuntos
D e s vi o s-p a d rã o (õ e s ) d o s s u b c o n ju n to s
Identificação de d e D
par(mfrow=c(2,2))acf(ipi, lag.max = 36, main='d=0 e D=0'); acf(diff(ipi), lag.max = 36, main='d=1 e D=0'); acf(diff(ipi,lag=12), lag.max = 36, main='d=0 e
D=1'); acf(diff(diff(ipi),lag=12), lag.max = 36, main='d=1 e D=1'); 0 510 15 20 25 30 35 -0 .2 0 .2 0 .6 1 .0 Lag A C F d=0 e D=0 0 510 15 20 25 30 35 -0 .5 0 .0 0 .5 1 .0 Lag A C F d=1 e D=0 0 510 15 20 25 30 35 -0 .2 0 .2 0 .6 1 .0 Lag A C F d=0 e D=1 0 510 15 20 25 30 35 -0 .2 0 .2 0 .6 1 .0 Lag A C F d=1 e D=1
Modelo preliminar d = 0 e D = 1
par(mfrow=c(1,2))acf(diff(ipi,lag=12), lag.max = 36, main='d=0 e D=1'); pacf(diff(ipi,lag=12), lag.max = 36, main='d=0 e D=1');
0 5 1 5 2 5 3 5 -0 .2 0 .0 0 .2 0 .4 0.6 0.8 1.0 L a g A C F d=0 e D=1 0 5 1 5 2 5 3 5 -0 .2 0 .0 0 .2 0 .4 L ag P a rt ia l A C F d= 0 e D= 1
Ajuste de um modelo
SARIMA(0,0,1)×(0,1,1)
12com θ
θ
θ
θ
0 theta0<-seq(1,length(ipi),1) m1<- arima(ipi,order=c(0,0,1),seasonal = list(order = c(0, 1, 1), period = 12), xreg = theta0 )par(mfrow=c(1,2));
acf(m1$resid, main='auto-correlações', ylab=' ');
pacf(m1$resid, main='auto-correlações parciais', ylab=' ')
Auto-correlações dos resíduos
0 5 1 0 1 5 2 0 0 .0 0 .2 0 .4 0 .6 0 .8 1 .0 L a g a u t o - c o r r e l a ç õ e s 5 1 0 1 5 2 0 -0 .1 0 .0 0 .1 0 .2 L a g a u t o - c o r r e l a ç õ e s p a r c i a i s
Auto-correlações dos resíduos
auto1<- acf(m1$resid)auto1$acf
auto.par1<- pacf(m1$resid) auto.par1$acf
Previsões
h<-seq(181,187,1)
prev<-predict(m1, n.ahead =7, newxreg = h) todo.ipi<-scan() todo.ipi = ts(todo.ipi,freq=12,start=c(1985,1)) plot(todo.ipi,xlim =c(1985,2001)) lines(prev$pred, type = 'p') lines(prev$pred, lty = 8) Time to d o .ip i 1985 1990 1995 2000 8 0 1 0 0 1 2 0 1 4 0
Modelo preliminar d = 1 e D = 1
par(mfrow=c(1,2))acf(diff(diff(ipi),lag=12), lag.max = 36, main='d=1 e D=1'); pacf(diff(diff(ipi),lag=12), lag.max = 36, main='d=1 e D=1');
0 5 1 5 2 5 3 5 -0 .2 0 .0 0 .2 0 .4 0 .6 0 .8 1 .0 L a g A C F d = 1 e D = 1 0 5 1 5 2 5 3 5 -0 .3 -0 .2 -0 .1 0 .0 0.1 L a g P a rt ia l A C F d = 1 e D = 1
Ajuste de um modelo
SARIMA(0,0,1)×(0,1,1)
12com θ
θ
θ
θ
0 theta0<-seq(1,length(ipi),1) m2<- arima(ipi,order=c(0,0,1),seasonal = list(order = c(0, 1, 1), period = 12), xreg = theta0 )par(mfrow=c(1,2));
acf(m2$resid, main='auto-correlações', ylab=' ');
pacf(m2$resid, main='auto-correlações parciais', ylab=' ')
Auto-correlações dos resíduos
0 5 1 0 1 5 2 0 0 .0 0 .2 0 .4 0 .6 0 .8 1 .0 L a g a u t o - c o r r e l a ç õ e s 5 1 0 1 5 2 0 -0 .1 0 .0 0 .1 0 .2 L a g a u t o - c o r r e l a ç õ e s p a r c i a i s
Auto-correlações dos resíduos
auto2<- acf(m2$resid)auto2$acf
auto.par2<- pacf(m2$resid) auto.par2$acf
Previsões
h<-seq(181,187,1)
prev2<-predict(m2, n.ahead =7, newxreg = h) todo.ipi<-scan() todo.ipi = ts(todo.ipi,freq=12,start=c(1985,1)) plot(todo.ipi,xlim =c(1985,2001)) lines(prev2$pred, type = 'p') lines(prev2$pred, lty = 8) Time to d o .ip i 1985 1990 1995 2000 8 0 1 0 0 1 2 0 1 4 0
Série LAVRAS
(Morettin e Toloi, 2004), janeiro de 1966 a dezembro de 1997.
Disponíveis em
http://www.ime.usp.br/ pam/LAVRAS.xls
Leitura dos dados - R:
lavras = scan() # Colar os dados lavras = ts(lavras,freq=12,start=c(1966,1)) plot(lavras,main='Lavras') L a v r a s T i m e la vra s 1 9 6 5 1 9 7 0 1 9 7 5 1 9 8 0 1 9 8 5 1 9 9 0 1 9 9 5 0 1 00 200 30 0 4 00 50 0 6 00 70 0Identificação de d e D
par(mfrow=c(2,2))acf(lavras, lag.max = 36, main='d=0 e D=0'); acf(diff(lavras), lag.max = 36, main='d=1 e
D=0'); acf(diff(lavras,lag=12), lag.max = 36, main='d=0 e D=1'); acf(diff(diff(lavras),lag=12), lag.max = 36, main='d=1 e D=1'); 0 510 15 20 25 30 35 -0 .5 0 .0 0 .5 1 .0 Lag A C F d=0 e D=0 0 510 15 20 25 30 35 -0 .2 0 .2 0 .6 1 .0 Lag A C F d=1 e D=0 0 510 15 20 25 30 35 -0 .5 0 .0 0 .5 1 .0 Lag A C F d=0 e D=1 0 510 15 20 25 30 35 -0 .5 0 .0 0 .5 1 .0 Lag A C F d=1 e D=1
Identificamos d = 0 e D = 1
par(mfrow=c(1,2))acf(diff(lavras,lag=12), lag.max = 36, main='d=0 e D=1'); pacf(diff(lavras,lag=12), lag.max = 36, main='d=0 e D=1');
0 5 1 5 2 5 3 5 -0 .5 0 .0 0.5 1 .0 L a g A C F d= 0 e D= 1 0 5 1 5 2 5 3 5 -0 .5 -0 .4 -0 .3 -0 .2 -0 .1 0 .0 0.1 L a g P a rtia l A C F d= 0 e D= 1
Ajuste de um modelo sazonal de médias
móveis puro – SMA(1)
12theta0<-seq(1,length(lavras),1)
m1<- arima(lavras,seasonal = list(order = c(0, 1, 1), period = 12), xreg = theta0 )
par(mfrow=c(1,2)); acf(m1$resid); pacf(m1$resid) NO S-PLUS
m1 <- arima.mle(lavras,model=list(list(order=c(0,1,1), max.iter = 60, period=12)), xreg=seq(1,372,1))
Auto-correlações dos resíduos
0 5 10 15 20 25 0 .0 0 .2 0 .4 0 .6 0 .8 1 .0 Lag A C F Series m1$resid 5 1015 2025 -0 .1 0 -0 .0 5 0 .0 0 0 .0 5 0 .1 0 Lag P a rt ia l A C F Series m1$resid
Previsões
h<-seq(373,384,1)prev<-predict(m1, n.ahead =12, newxreg = h) toda.lavras<-scan() toda.lavras = ts(toda.lavras,freq=12,start=c(1966,1)) plot(toda.lavras,xlim =c(1966,1998)) lines(prev$pred, type = 'p') lines(prev$pred, lty = 8) T i m e to d a .l a v ra s 1 9 6 5 1 9 7 0 1 9 7 5 1 9 8 0 1 9 8 5 1 9 9 0 1 9 9 5 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0
Observações
Para modelos ARMA existem diferentes definições quanto aos sinais dos coeficientes das partes auto-regressivas e de médias móveis. No R a definição é:
zt= φ1zt-1 + ... + φpzt-p+ atθ + θ1at-1 + ... + θpat-p
e, portanto diferente dos sinais do S-PLUS e da notação da aula e do Minitab.