Buscar

Exercício 3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Exercício 3 
Seja o banco de dados “quebra”, utilize a variável B1 para: 
i) fazer o gráfico dos dados; 
ii) realizar teste ADF; 
iii) realizar o teste de Perron para quebra estrutural discutido em sala. 
EXEMPLO: 
# simulate break - stationary model 
set.seed(1) 
y1 <- arima.sim(model = list(order = c(1,0,0), ar = -0.2), n = 50, sd = sqrt(0.2)) 
y2 <- arima.sim(model = list(order = c(1,0,0), ar = 0.2), n = 50, sd = sqrt(0.2)) + 4 
y <- ts(c(y1, y2)); print(y); plot.ts(y) 
# simulate dummy 
d1 <- ifelse(y[1:50],0); d2 <- ifelse(y[51:100],1) 
DL <- ts(c(d1,d2));# create level dummy 
d3 <- ifelse(y[1:49],0); d4 <- ifelse(y[50:50],1); d5 <- ifelse(y[51:100],0) 
Dp <- ts(c(d3,d4,d5)); # create pulse dummy 
T <- ts(1:100, frequency=1); T; #create trend 
dy <- diff(y); # L(dy, k=1:2) dy lagged 
# teste Perron using dynlm (linear regression) 
library(dynlm) 
library(dyn) 
perr1 = dyn$lm(y ~ lag(y, 1) + DL + Dp + T) 
summary(perr1) 
AIC(perr1); BIC(perr1) 
# simulate break - stationary model 
set.seed(5) 
x1 <- vector("numeric",50); u1 <- rnorm(50, sd = 0.5); x1[1] <- 0.5 
for(t in 2:50) { x1[t] <- x1[t-1] + u1[t] } 
x2 <- vector("numeric",50); u2 <- rnorm(50, sd = 0.5); x2[1] <- 10 
for(t in 2:50) { x2[t] <- x2[t-1] + u2[t] } 
x <- ts(c(x1, x2)); print(x); plot.ts(x) 
# 
d1 <- ifelse(x[1:50],0); d2 <- ifelse(x[51:100],1) 
DL <- ts(c(d1,d2));# create level dummy 
d3 <- ifelse(x[1:49],0); d4 <- ifelse(x[50:50],1); d5 <- ifelse(x[51:100],0) 
Dp <- ts(c(d3,d4,d5)); # create pulse dummy 
T <- ts(1:100, frequency=1); T; #create trend 
dx <- diff(x); # L(dy, k=1:2) dy lagged 
dx <- ts(dx) 
# teste Perron using dyn$lm (linear regression) 
perr1 <- dyn$lm(x ~ lag(x,-1) + DL + Dp + T) 
AIC(perr1); BIC(perr1) 
summary(perr1) 
reg1 <- lm(x[3:100] ~ x[2:98]); summary(reg1) 
reg2 <- dyn$lm(x ~ lag(x,-1)); summary(reg2)

Continue navegando