Baixe o app para aproveitar ainda mais
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)
Compartilhar