Lista de Autocorrelação

Autor

Paulo Manoel da Silva Junior

Lista de Exercícios de Econometria I - Autocorrelação

Questão 6 - Resoluções de questões do livro do Gujarati

Questão 12.3

  • Ao estudar as mudanças na participação dos trabalhadores no valor adicionado (lucro participativo), Gujarati considerou os seguintes modelos:

\[Modelo \hspace{0.2cm} A: \hspace{1.5cm} Y_t = \beta_0+\beta_1t+u_t\]

\[Modelo \hspace{0.2cm} B: \hspace{1.5cm} Y_t = \alpha_0+\alpha_1t+u_t\alpha_2t^2+u_t\]

em que Y = participação dos trabalhadores e t = tempo. Com base em dados anuais relativos ao período 1949-1964, foram obtidos os seguintes resultados para a indústria de mineração:

\[Modelo \hspace{0.2cm} A: \hspace{1.5cm} \widehat{Y}_t = 0.4579-0.0041t \hspace{1.5cm} R^2 = 0.5284 \hspace{1.5cm} d= 0.8252 \\ (-3.9608)\]

\[Modelo \hspace{0.2cm} B: \hspace{1.5cm} \widehat{Y}_t = 0.4786-0.0127t + 0.0005t^2 \hspace{1.5cm} R^2 = 0.6629 \hspace{1.5cm} d= 1.82 \\ (-3.2724) \hspace{0.3cm} (2.7777)\]

em que os números entre parênteses são as razões t.

    1. Existe correlação serial no modelo A? E no modelo B?

Sim, existe grande evidências de que os dois modelos existe correlação serial, como podemos observar pelo \(R^2\) que acabou sendo um pouco superestimada nos dois modelos.

    1. O que explica a correlação serial?
    1. Como poderíamos distinguir uma autocorrelação “pura” do viés de especificação?

Questão 12.6

  • Estimativa de Theil-Nagar para \(\rho\) com base na estatística d. Theil e Nagar sugeriram que, em pequenas amostras, em vez de estimar \(\rho\) como (1– d / 2), ele deve ser estimado como:

\[\widehat{\rho} = \frac{n^2(1-d/2)+k^2}{n^2-k^2}\]

em que n = número total de observações, d = d de Durbin-Watson e k = número dos coeficientes (incluindo o intercepto) a serem estimados.

Mostre que, em grandes amostras, a estimativa de \(\rho\) é igual àquela obtida pela fórmula mais simples (1-d / 2).

Questão 12.15

  • Em um estudo para determinação dos preços do produto final a custos de produção no Reino Unido, foram obtidos os seguintes resultados de uma regressão com base em dados anuais relativos ao período 1951-1969:

\[\widehat{PF}_t = 2.033 + 0.273W_t-0.521X_t + 0.256M_t+0.028M_{t-1}+0.121PF_{t-1} \\ ep= (0.992)\hspace{0.6cm} (0.127) \hspace{0.6cm} (0.099) \hspace{0.6cm} (0.024) \hspace{0.6cm}(0.039) \hspace{0.6cm} (0.119) \hspace{0.6cm}\]

em que PF = preços do produto final a custos de produção; W = salários e ordenados por pessoa empregada; X = produto interno bruto por pessoa empregada; M = preços das importações; \(M_{t-1}\) = preços das importações com defasagem de um ano; e \(PF_{t-1}\) = preços do produto final a custo de produção no ano anterior.

“Com 18 observações e 5 variáveis explanatórias, os valores de d inferior e superior foram de 0, 71 e de 2,06, no nível de 5%, o valor d estimado de 2,54 indica que não se registra autocorrelação positiva”. Comente.

A afirmação está correta, pois provavelmente existe grande evideências de uma autocorrelação negativa, sendo maior do que o limite superior.

Questão 12.25

  • Os resíduos da regressão dos salários contra a produtividade apresentados na Equação (12.5.2) foram gerados usando uma regressão contra resíduos defasados em seis períodos (AR[6]), obtendo-se os seguintes resultados:

    1. Com base no resultado anterior, o que se pode dizer sobre a natureza da autocorrelação nos dados de salários e produtividade?

Que os dados são altamente correlacionados, depois do primeiro lag, sendo assim podemos observar que a natureza da correlação é com os períodos posteriores ao primeiro.

    1. Se considerarmos que um processo AR(1) caracteriza a autocorrelação nos dados, deveríamos usar uma transformação de primeiras diferenças para eliminá-las? Justifique sua resposta.

Não, não seria necessário tomar uma transformação nas primeiras diferenças.

Questão 12.26

  • Passemos aos dados sobre a indústria do cobre da Tabela 12.7.
  1. Estime com esses dados o seguinte modelo de regressão:

\[ln \hspace{0.2cm} C_t = \beta_1 + \beta_2 ln \hspace{0.2cm} I_t + \beta_3 ln \hspace{0.2cm} L_t+ \beta_4 ln \hspace{0.2cm} H_t + \beta_5 ln \hspace{0.2cm} A_t + u_t\]

Interprete os resultados:

Código
library(dplyr)
banco <- gujarati::Table12_7
banco[] <- sapply(banco, function(x) as.numeric(as.character(x)))
names(banco)[c(3,6)] <- c("PNB", "P")
banco %>%
  knitr::kable(caption = "Banco de dados para realizar a questão")
Banco de dados para realizar a questão
YEAR C PNB I L P A
1951 21.89 330.2 45.1 220.4 1491.0 19.00
1952 22.29 347.2 50.9 259.5 1504.0 19.41
1953 19.63 366.1 53.3 256.3 1438.0 20.93
1954 22.85 366.3 53.6 249.3 1551.0 21.78
1955 33.77 399.3 54.6 352.3 1646.0 23.68
1956 39.18 420.7 61.1 329.1 1349.0 26.01
1957 30.58 442.0 61.9 219.6 1224.0 27.52
1958 26.30 447.0 57.9 234.8 1382.0 26.89
1959 30.70 483.0 64.8 237.4 1553.7 26.85
1960 32.10 506.0 66.2 245.8 1296.1 27.23
1961 30.00 523.3 66.7 229.2 1365.0 25.46
1962 30.80 563.8 72.2 233.9 1492.5 23.88
1963 30.80 594.7 76.5 234.2 1634.9 22.62
1964 32.60 635.7 81.7 347.0 1561.0 23.72
1965 35.40 688.1 89.8 468.1 1509.7 24.50
1966 36.60 753.0 97.8 555.0 1195.8 24.50
1967 38.60 796.3 100.0 418.0 1321.9 24.98
1968 42.20 868.5 106.3 525.2 1545.4 25.58
1969 47.90 935.5 111.1 620.7 1499.5 27.18
1970 58.20 982.4 107.8 588.6 1469.0 28.72
1971 52.00 1063.4 109.6 444.4 2084.5 29.00
1972 51.20 1171.1 119.7 427.8 2378.5 26.67
1973 59.50 1306.6 129.8 727.1 2057.5 25.33
1974 77.30 1412.9 129.3 877.6 1352.5 34.06
1975 64.20 1528.8 117.8 556.6 1171.4 39.79
1976 69.60 1700.1 129.8 780.6 1547.6 44.49
1977 66.80 1887.2 137.1 750.7 1989.8 51.23
1978 66.50 2127.6 145.2 709.8 2023.3 54.42
1979 98.30 2628.8 152.5 935.7 1749.2 61.01
1980 101.40 2633.1 147.1 940.9 1298.5 70.87
Código
fit <- lm(log(C) ~ log(I)+log(L)+log(P), data = banco)
summary(fit)

Call:
lm(formula = log(C) ~ log(I) + log(L) + log(P), data = banco)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.33067 -0.08141  0.02609  0.09419  0.26012 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  -0.7281     1.2553  -0.580  0.56691   
log(I)        0.6917     0.1999   3.461  0.00187 **
log(L)        0.3533     0.1444   2.447  0.02146 * 
log(P)       -0.1049     0.1795  -0.585  0.56374   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1551 on 26 degrees of freedom
Multiple R-squared:  0.8922,    Adjusted R-squared:  0.8797 
F-statistic: 71.71 on 3 and 26 DF,  p-value: 1.057e-12

Interpretação: Podemos observar que o modelo de regressão ajustado consegue explicar cerca de 87.97 % da variabilidade total dos dados, e que obtivemos estimativas pequenas para os erros padrões das variáveis regressoras, e que todas as variáveis regressoras, exceto a variável P foram significativas para o modelo ajustado.

  1. Obtenha os resíduos e os resíduos padronizados da regressão e faça um gráfico. O que poderíamos dizer sobre a presença de autocorrelação nesses resíduos?
Código
residuos <- residuals(fit)
residuos_padronizados <- rstandard(fit)

Visualização gráfica dos valores ajustados vs Resíduos

Código
new_df <- data.frame(fitted(fit), residuos, residuos_padronizados)

resvsajus <- ggplot2::ggplot(new_df, ggplot2::aes(x = new_df[,1], y = new_df[,2]))+
  ggplot2::geom_point()+
  ggplot2::labs(x = "Valores Ajustados", y = "Resíduos")+
  ggplot2::ggtitle("Gráfico de dispersão dos resíduos VS Valores Ajustados")

respdvsajus <- ggplot2::ggplot(new_df, ggplot2::aes(x = new_df[,1], y = new_df[,3]))+
  ggplot2::geom_point()+
  ggplot2::labs(x = "Valores Ajustados", y = "Resíduos Padronizados")+
  ggplot2::ggtitle("Gráfico de dispersão dos resíduos Padronizados VS Valores Ajustados")
gridExtra::grid.arrange(respdvsajus, resvsajus, nrow = 1, ncol =2)

Resposta: De acordo com a visualização gráfica, parece haver indicíos de autocorrelação nos resíduos.

  1. Calcule a estatística d de Durbin-Watson e comente a natureza da autocorrelação presente nos dados.
Código
lmtest::dwtest(fit)

    Durbin-Watson test

data:  fit
DW = 0.64542, p-value = 8.959e-07
alternative hypothesis: true autocorrelation is greater than 0

Resposta: De acordo com o resultado da estatística de Durbin-Watson, podemos analisar que o valor estimado de \(d\) foi de 0.64542, e que existe autocorrelação positiva nos resíduos, ao nível de significância de 5%.

  1. Faça o teste das carreiras e verifique se sua resposta difere daquela dada em c.

Não sei qual teste é esse.

  1. Como poderíamos verificar se um processo AR(p) descreve melhor a autocorrelação do que o processo AR(1)?

Um procedimento seria olhar o gráfico do ACF

Código
acf(residuos_padronizados, main = "Gráfico de Autocorrelação Parcial")

Comentário: Neste exemplo, podemos observar que o ajuste é de um AR(1) mesmo, e não de outra ordem como pode ser sugerido.

Questão 12.29

  • Consulte o Exemplo 7.4. Omita as variáveis \(X^2\) e \(X^3\), faça a regressão e examine os resíduos em busca de correlação “serial”. Se for encontrada a correlação serial, como você a explicaria? Quais medidas corretivas você sugere?

Questão 12.34

  • Utilizando os dados da Tabela 12.9, estime o modelo

\[Y_t = \beta_1 + \beta_2X_t + u_t\] em que Y = estoque e X = vendas, ambos medidos em billhões de dólares

Código
banco2 <- gujarati::Table12_9
banco2[] <- sapply(banco2, function(x) as.numeric(as.character(x)))
names(banco2) <- c("Ano", "Vendas", "Estoque", "Razão")
banco2 %>%
  knitr::kable(caption = "Banco de dados")
Banco de dados
Ano Vendas Estoque Razão
1950 46486 84646 1.820892
1951 50229 90560 1.802942
1952 53501 98145 1.834452
1953 52805 101599 1.924041
1954 55906 102567 1.834633
1955 63027 108121 1.715471
1956 72931 124499 1.707079
1957 84790 157625 1.859005
1958 86589 159708 1.844437
1959 98797 174636 1.767624
1960 113201 188378 1.664102
1961 126905 211691 1.668106
1962 143936 242157 1.682394
1963 154391 265215 1.717814
1964 168129 283413 1.685688
1965 163351 311852 1.909091
1966 172547 312379 1.810399
1967 190682 339516 1.780535
1968 194538 334749 1.720738
1969 194657 322654 1.657552
1970 206326 338109 1.638713
1971 224619 369374 1.644447
1972 236698 391212 1.652790
1973 242686 405073 1.669124
1974 239847 390950 1.629997
1975 250394 382510 1.527632
1976 242002 378762 1.565119
1977 251708 379706 1.508518
1978 269843 399970 1.482232
1979 289973 424843 1.465112
1980 299766 430518 1.436180
1981 319558 443622 1.388236
1982 324984 449083 1.381862
1983 335991 463563 1.379689
1984 350715 481633 1.373289
1985 330875 428108 1.293866
1986 326227 423082 1.296895
1987 334616 408226 1.219984
1988 359081 439821 1.224852
1989 394615 479106 1.214110
1990 411663 509902 1.238639
  1. Calcule a regressão anterior.
Código
fit2 <- lm(Estoque~Vendas, data = banco2)
summary(fit2)

Call:
lm(formula = Estoque ~ Vendas, data = banco2)

Residuals:
   Min     1Q Median     3Q    Max 
-54733 -29795   -873  25538  51798 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 6.667e+04  1.090e+04   6.119 3.54e-07 ***
Vendas      1.184e+00  4.662e-02  25.396  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 31800 on 39 degrees of freedom
Multiple R-squared:  0.943, Adjusted R-squared:  0.9415 
F-statistic:   645 on 1 and 39 DF,  p-value: < 2.2e-16

Resposta: Conforme podemos analisar, o resultado do modelo ajustado, temos um \(R^2\) de 94.15%, um ótimo valor que explica a variabilidade total dos dados, temos que o modelo foi bem ajustado, como podemos analisar pelo teste t, que a variável regressora foi significativa para o modelo ajustado.

    1. Verifique se os resíduos estimados apresentam autocorrelação positiva aplicando (i) o teste de Durbin-Watson e (ii) o teste de normalidade para grandes amostras da Equação (12.6.13).

Aplicando o teste de Durbin-Watson para verificar se existe correlação nos resíduos

Código
res_padron <- rstandard(fit2)
lmtest::dwtest(fit2)

    Durbin-Watson test

data:  fit2
DW = 0.12555, p-value < 2.2e-16
alternative hypothesis: true autocorrelation is greater than 0

Resposta: Ao nível de significância de 5% rejeitamos \(H_0\), ou seja, existe evidências estatísticas de que os resíduos são correlacionados.

Aplicando o teste de normalidade nos resíduos padronizados

Código
shapiro.test(res_padron)

    Shapiro-Wilk normality test

data:  res_padron
W = 0.95726, p-value = 0.126

Resposta: Ao nível de significância de 5% não rejeitamos \(H_0\), ou seja, não existe evidências estatísticas de que os resíduos não estão distribuídos normalmente.

  1. Se \(\rho\) for positivo, aplique o teste Berenblutt-Webb para testar a hipótese de que \(\rho = 1\).

Não encontrei tal teste para aplicar

  1. Se desconfiar que a estrutura autorregressiva do erro é de ordem p, utilize o teste de Breusch-Godfrey para verificar isso. Como você escolheria a ordem de p?

Vamos observar o gráfico de autocorrelação amostral, mais conhecido como ACF

Código
acf(res_padron, main = "Gráfico de Autocorrelação Amostral")

Resposta: Podemos observar que o gráfico sugere um processo de ordem (5), sendo assim vamos realizar o teste com esse valor.

Código
lmtest::bgtest(fit2, order = 5, type = "F")

    Breusch-Godfrey test for serial correlation of order up to 5

data:  fit2
LM test = 39.612, df1 = 5, df2 = 34, p-value = 3.098e-13

Resposta Ao nível de significância de 5%, rejeitamos \(H_0\), ou seja, existe evidências estatísticas de que os resíduos são correlacionados.

  1. Com base nos resultados desse teste, como transformaria os dados para eliminar autocorrelação? Mostre todos os cálculos.

Tentaria realizar uma ponderação por uma variável, como ele sugere, no caso pela variável regressora.

  1. Repita as etapas anteriores usando o seguinte modelo:

\[ln \hspace{0.1cm}Y_t = \beta_1 + \beta_2\hspace{0.1cm}ln\hspace{0.1cm}X_t + u_t\]

Código
fit3 <- lm(log(Estoque)~log(Vendas), data = banco2)
summary(fit3)

Call:
lm(formula = log(Estoque) ~ log(Vendas), data = banco2)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.15361 -0.05333  0.00500  0.05881  0.17385 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  2.48698    0.23390   10.63 4.38e-13 ***
log(Vendas)  0.83220    0.01935   43.00  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.0804 on 39 degrees of freedom
Multiple R-squared:  0.9793,    Adjusted R-squared:  0.9788 
F-statistic:  1849 on 1 and 39 DF,  p-value: < 2.2e-16

Resposta: Conforme podemos analisar, o resultado do modelo ajustado, temos um \(R^2\) de 97.88%, um ótimo valor que explica a variabilidade total dos dados, temos que o modelo foi bem ajustado, como podemos analisar pelo teste t, que a variável regressora foi significativa para o modelo ajustado.

Aplicando o teste de Durbin-Watson para verificar se existe correlação nos resíduos

Código
res_padron2 <- rstandard(fit3)
lmtest::dwtest(fit3)

    Durbin-Watson test

data:  fit3
DW = 0.22927, p-value < 2.2e-16
alternative hypothesis: true autocorrelation is greater than 0

Resposta: Ao nível de significância de 5% rejeitamos \(H_0\), ou seja, existe evidências estatísticas de que os resíduos são correlacionados.

Aplicando o teste de normalidade nos resíduos padronizados

Código
shapiro.test(res_padron2)

    Shapiro-Wilk normality test

data:  res_padron2
W = 0.98584, p-value = 0.8817

Resposta: Ao nível de significância de 5% não rejeitamos \(H_0\), ou seja, não existe evidências estatísticas de que os resíduos não estão distribuídos normalmente.

Vamos observar o gráfico de autocorrelação amostral, mais conhecido como ACF

Código
acf(res_padron2, main = "Gráfico de Autocorrelação Amostral")

Comentário: O gráfico de autocorrelação sugere que a ordem do processo é de ordem 6.

Código
lmtest::bgtest(fit3, order = 6, type = "F")

    Breusch-Godfrey test for serial correlation of order up to 6

data:  fit3
LM test = 19.199, df1 = 6, df2 = 33, p-value = 1.743e-09

Resposta Ao nível de significância de 5%, rejeitamos \(H_0\), ou seja, existe evidências estatísticas de que os resíduos são correlacionados.

  1. Como decidir entre as especificações linear e log-linear? Mostre explicitamente o(s) teste(s) aplicado(s).

Comentário: Devido aos melhores resultados que foram encontrados com o modelo de elasticidade é preferível a utilização do mesmo, como podemos analisar, trazendo inclusive resultados mais interpretativos para o modelo em questão.