Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- setwd("C:/Users/gabri/Documents/2017.2/Econometria II/R")
- library(forecast)
- library(sandwich)
- library(ggplot2)
- inflation = read.csv2("Inflation.csv", header = TRUE)
- urate = read.csv2("Urate.csv", header = TRUE)
- infla = ts(inflation$Inflation, start = c(1990), frequency = 13)
- urat = ts(urate$Urate, start = c(1990), frequency = 13)
- plot(infla)
- plot(urat)
- lag.plot(infla, lag = 12, diag = FALSE)
- lag.plot(urat, lag = 12, diag = FALSE)
- acf(infla)
- acf(urat)
- #estimando o modelo estatico pit = ut + et
- estimation = lm(infla ~ urat)
- #o modelo estatico ao nao contemplar a possivel dinamica das variaveis faz com que sobre muita estrutura de
- #autocorrelacao nos residuos, desse modo devemos testa-los.
- acf(estimation$residuals)
- Box.test(estimation$residual, type = c("Ljung-Box"))
- #como vemos ha evidencias para rejeitarmos a hipotese nula de que os residuos sao ruido branco de modo que
- #devemos corrigir os desvios padrao da estimacao, utilizando o estimador de Newey-West
- coeftest(estimation, vcov = NeweyWest(estimation))
- # uma melhor maneira de solucionar esse problema seria e estimaçao por FGLS
- #1 primeiro estimamos o modelo original por OLS
- estimationGLS = lm( infla ~ urat)
- #2 utilizamos os residuos da estimaçaõ acima em uma regressão AR(p)
- residual_estimation = auto.arima(estimationGLS$residuals)
- #3utilizamos o vetor de coeficientes da regressão acima para ajustar o modelo original
- yt = infla
- yt1 = c(0,yt[2:length(infla)])
- coeff = residual_estimation$coef
- infla_modificado = yt - coeff*yt1
- xt = urat
- xt1 = c(0, xt[2:length(urat)])
- urat_modificado = xt - coeff*xt1
- gls_estimation = lm(infla_modificado ~ urat_modificado)
- #comparacao entre os coeficientes ajustados por NW e os estimados por fGLS
- summary(gls_estimation)
- coeftest(estimation, vcov = NeweyWest(estimation))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement