Advertisement
Guest User

Untitled

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