Abstract
This is an undergrad student level exercise for class use. We analyse 139 municipal cross-section data for the Brazilian State of Mato Grosso on a static growth model.This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
License: CC BY-SA 4.0
Sugestão de citação: FIGUEIREDO, Adriano Marcos Rodrigues. Econometria: exercício crescimento municipal em Mato Grosso entre 2001 e 2010 - seleção. Campo Grande-MS,Brasil: RStudio/Rpubs, 2021. Disponível em http://rpubs.com/amrofi/growth_mt2001_2010_selecao.
Neste exercício, farei uso dos dados do post https://rpubs.com/amrofi/growth_mt2001_2010, (e video em https://youtu.be/JvBRjFeERoE) e adaptarei para a seleção de modelos ao estilo (farei adaptação) do exercício https://rpubs.com/amrofi/Faraway_backward_selection e video (https://youtu.be/eyc2zs__7jo). Ou seja, aplicarei os métodos backward selection e stepwise sobre os dados de crescimento.
Portanto, seja o enunciado como no post inicial (https://rpubs.com/amrofi/growth_mt2001_2010).
Exemplo sobre crescimento municipal adaptado da dissertacao de William Marquezin (2014) na UFMT. Dados de 139 municipios de MT, em que 2001 é o ano base e o crescimento refere-se até 2010. A variável dependente do modelo é a taxa de crescimento da renda per capita municipal (barro) conforme Barro e Sala-i-Martin (1992)=“BARRO”. Outras variáveis são:
# “ordem” = ordenacao dos municipios
# “KEY” = ordem
# “MUNICIPIO” = nome do municipio
# “BARRO” = variavel dependente (acima descrita)
# “DASSOW” = alternativa para a variavel dependente (nao utilizada)
# Variáveis explicativas:
# 1) Renda per capita no ano inicial “LNYI_T_1”
# 2) Composição industrial (Sind): “SIND”
# 3) Composição da agropecuária (Sagro): “SAGRO”
# 4) Composição do setor de serviços (Sserv): “SSERV”
# 5) Composição da administração pública (Spub): “SPUB”
# 6) Capital humano (h): “H”
# 7) Densidade demográfica (dd): “DD”
# 8) Despesas orçamentárias (dorc): “DORC”
# 9) Operações de crédito (cred): “CRED”
# 10) Exportações Municipais (expor): “EXPOR”
# 11) Importações Municipais (impor): “IMPOR”
# 12) Mercado Regional (mreg): “MREG”
# 13) Carga tributária total municipal (t): “T”
# 14) Transferências Intergovernamentais do ICMS (ticms): “TICMS”
# 15) Transferências Intergovernamentais do FPM (tfpm): “TFPM”
# 16) O índice de GINI (gini): “GINI”
# 17) índice de THEIL (theil): “THEIL”
# variavel auxiliar não utilizada: “TMREG”
# variavel auxiliar não utilizada: “CCOM” corrente de comercio
Um data.frame com 139 observations para 24 variáveis.
Para reprodução, pode-se fazer o download prévio dos dados a partir de https://github.com/amrofi/crescimento_mt/blob/master/crescimento.rds, e armazenar no diretório do projeto, ou olhar os dados embeded no code .Rmd.
library(dynlm)
library(car)
library(lmtest)
library(sandwich)
library(tseries)
library(kableExtra)
# o arquivo dados está em formato dput embeded no script, em um chunk oculto
# que o leitor tem acesso ao baixar o Rmd, clicando em code
summary(dados)
ordem KEY MUNICIPIO BARRO
Min. : 1.0 Min. : 1.0 Length:139 Min. :-0.07986
1st Qu.: 35.5 1st Qu.: 35.5 Class :character 1st Qu.: 0.03466
Median : 70.0 Median : 70.0 Mode :character Median : 0.04971
Mean : 70.0 Mean : 70.0 Mean : 0.05413
DASSOW LNYI_T_1 SIND SAGRO
Min. :-0.05696 Min. : 8.219 Min. :-0.14688 Min. :-0.37391
1st Qu.: 0.04068 1st Qu.: 8.840 1st Qu.: 0.02745 1st Qu.: 0.09529
Median : 0.06269 Median : 9.077 Median : 0.05442 Median : 0.22181
Mean : 0.08061 Mean : 9.222 Mean : 0.06737 Mean : 0.22179
SSERV SPUB H DD
Min. :-0.56295 Min. :0.006014 Min. : 2.662 Min. : 0.2792
1st Qu.: 0.07236 1st Qu.:0.077798 1st Qu.:12.590 1st Qu.: 1.1508
Median : 0.12822 Median :0.108222 Median :15.828 Median : 2.2449
Mean : 0.14414 Mean :0.127134 Mean :17.684 Mean : 7.2235
DORC CRED EXPOR IMPOR
Min. : 532.4 Min. : 0.0 Min. : 0.00 Min. : 0.00
1st Qu.:1348.8 1st Qu.: 0.0 1st Qu.: 0.00 1st Qu.: 0.00
Median :1606.9 Median : 757.6 Median : 39.21 Median : 0.00
Mean :1800.4 Mean :1589.0 Mean : 2128.94 Mean : 205.89
CCOM MREG T TFPM
Min. : 0.00 Min. : 5863 Min. :0.03508 Min. : 60.68
1st Qu.: 0.00 1st Qu.:11363 1st Qu.:0.04787 1st Qu.: 300.37
Median : 92.58 Median :13452 Median :0.05877 Median : 535.94
Mean : 2334.82 Mean :16629 Mean :0.06865 Mean : 973.11
TICMS TMREG GINI THEIL
Min. : 87.68 Min. :0.00849 Min. :0.3600 Min. :0.1900
1st Qu.: 243.31 1st Qu.:0.03445 1st Qu.:0.5300 1st Qu.:0.4750
Median : 382.59 Median :0.04830 Median :0.5800 Median :0.5500
Mean : 445.03 Mean :0.04925 Mean :0.5755 Mean :0.5809
[ reached getOption("max.print") -- omitted 2 rows ]
attach(dados)
class(dados)
[1] "tbl_df" "tbl" "data.frame"
# algumas variaveis vou dividir por 1000000 para nivelar expor_6 impor_6 mreg_6
# tfpm_6 ticms_6 cred_6
Estimando o modelo linear de regressão múltipla fazendo conforme a expressão do enunciado.
Fazendo as regressoes. Algumas variáveis foram construídas com uso de logaritmos e portanto, deve-se olhar a especificação destas.
# regressao multipla de BARRO~LNYI_T_1+SIND+SAGRO+SSERV+SPUB+H+DD+DORC
# +I(CRED*10^-6)+I(EXPOR*10^-6)+I(IMPOR*10^-6)+I(MREG*10^-6)+I(TFPM*10^-6)
# +I(TICMS*10^-6)+GINI variaveis transformadas
attach(dados)
Exporta <- I(EXPOR * 10^-6)
Importa <- I(IMPOR * 10^-6)
Mregio <- (MREG * 10^-6)
FPM <- I(TFPM * 10^-6)
TICMSm <- I(TICMS * 10^-6)
credito <- I(CRED * 10^-6)
mod1 <- lm(BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DD + DORC + T + Exporta +
Importa + Mregio + FPM + TICMSm + credito, data = dados)
Vamos utilizar o pacote stargazer posteriormente para organizar as saídas de resultados. Se a saída fosse apenas pelo comando summary, sairia da forma:
summary(mod1)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + DD + DORC + T + Exporta + Importa + Mregio + FPM + TICMSm +
credito, data = dados)
Residuals:
Min 1Q Median 3Q Max
-0.039810 -0.008103 0.000716 0.006618 0.031697
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.663e-01 3.869e-02 12.050 < 2e-16 ***
LNYI_T_1 -5.058e-02 4.582e-03 -11.037 < 2e-16 ***
SIND 1.284e-01 1.911e-02 6.721 6.00e-10 ***
SAGRO 1.075e-01 8.151e-03 13.187 < 2e-16 ***
SSERV 5.461e-02 1.970e-02 2.772 0.00644 **
SPUB -1.438e-01 2.029e-02 -7.090 9.22e-11 ***
H 2.522e-04 2.098e-04 1.202 0.23177
DD 4.799e-05 5.502e-05 0.872 0.38478
DORC 4.773e-06 2.981e-06 1.601 0.11195
T 2.015e-02 9.462e-02 0.213 0.83172
Exporta -2.968e-01 3.898e-01 -0.761 0.44784
Importa 4.759e+00 1.377e+00 3.457 0.00075 ***
Mregio -1.942e-01 1.898e-01 -1.023 0.30838
FPM -1.464e+00 8.606e-01 -1.701 0.09155 .
TICMSm 4.507e+01 9.618e+00 4.686 7.27e-06 ***
credito 1.029e+00 9.060e-01 1.135 0.25843
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01302 on 123 degrees of freedom
Multiple R-squared: 0.8901, Adjusted R-squared: 0.8767
F-statistic: 66.39 on 15 and 123 DF, p-value: < 2.2e-16
Agora, com a geração de AIC e BIC:
(mod1$AIC <- AIC(mod1))
[1] -795.4259
(mod1$BIC <- BIC(mod1))
[1] -745.5398
library(corrplot)
corel <- cor(dados[, 6:24]) # somente var. explicativas
corrplot(corel, method = "number", type = "lower", number.digits = 2)
Vou separar o dataset com apenas as variáveis utilizadas em Mod1.
dados2 <- cbind(dados[, c(4, 6:13, 19)], Exporta, Importa, Mregio, FPM, TICMSm, credito)
# MODELO COMPLETO
mod2 <- lm(BARRO ~ ., dados2)
summary(mod2)
Call:
lm(formula = BARRO ~ ., data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.039810 -0.008103 0.000716 0.006618 0.031697
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.663e-01 3.869e-02 12.050 < 2e-16 ***
LNYI_T_1 -5.058e-02 4.582e-03 -11.037 < 2e-16 ***
SIND 1.284e-01 1.911e-02 6.721 6.00e-10 ***
SAGRO 1.075e-01 8.151e-03 13.187 < 2e-16 ***
SSERV 5.461e-02 1.970e-02 2.772 0.00644 **
SPUB -1.438e-01 2.029e-02 -7.090 9.22e-11 ***
H 2.522e-04 2.098e-04 1.202 0.23177
DD 4.799e-05 5.502e-05 0.872 0.38478
DORC 4.773e-06 2.981e-06 1.601 0.11195
T 2.015e-02 9.462e-02 0.213 0.83172
Exporta -2.968e-01 3.898e-01 -0.761 0.44784
Importa 4.759e+00 1.377e+00 3.457 0.00075 ***
Mregio -1.942e-01 1.898e-01 -1.023 0.30838
FPM -1.464e+00 8.606e-01 -1.701 0.09155 .
TICMSm 4.507e+01 9.618e+00 4.686 7.27e-06 ***
credito 1.029e+00 9.060e-01 1.135 0.25843
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01302 on 123 degrees of freedom
Multiple R-squared: 0.8901, Adjusted R-squared: 0.8767
F-statistic: 66.39 on 15 and 123 DF, p-value: < 2.2e-16
AIC(mod2)
[1] -795.4259
BIC(mod2)
[1] -745.5398
Vou retirar as variáveis uma a uma.
Retirando T
Retiro o T e o modelo melhora.
mod2 <- update(mod2, . ~ . - T)
summary(mod2)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + DD + DORC + Exporta + Importa + Mregio + FPM + TICMSm +
credito, data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.039609 -0.008059 0.000518 0.006724 0.031386
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.639e-01 3.686e-02 12.586 < 2e-16 ***
LNYI_T_1 -5.019e-02 4.201e-03 -11.947 < 2e-16 ***
SIND 1.280e-01 1.893e-02 6.761 4.79e-10 ***
SAGRO 1.070e-01 7.856e-03 13.627 < 2e-16 ***
SSERV 5.703e-02 1.602e-02 3.561 0.000525 ***
SPUB -1.437e-01 2.020e-02 -7.114 7.92e-11 ***
H 2.668e-04 1.976e-04 1.350 0.179464
DD 5.156e-05 5.219e-05 0.988 0.325081
DORC 4.618e-06 2.880e-06 1.603 0.111395
Exporta -3.028e-01 3.873e-01 -0.782 0.435739
Importa 4.723e+00 1.361e+00 3.471 0.000715 ***
Mregio -1.983e-01 1.881e-01 -1.054 0.293842
FPM -1.446e+00 8.533e-01 -1.694 0.092688 .
TICMSm 4.521e+01 9.558e+00 4.730 6.00e-06 ***
credito 1.052e+00 8.957e-01 1.175 0.242322
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01297 on 124 degrees of freedom
Multiple R-squared: 0.89, Adjusted R-squared: 0.8776
F-statistic: 71.68 on 14 and 124 DF, p-value: < 2.2e-16
AIC(mod2)
[1] -797.3746
BIC(mod2)
[1] -750.423
Retirarei Exporta.
Veja que atualizo sobre o último mod2. Melhora mais um pouco.
mod2 <- update(mod2, . ~ . - Exporta)
summary(mod2)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + DD + DORC + Importa + Mregio + FPM + TICMSm + credito,
data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.039812 -0.007997 0.001034 0.006485 0.030941
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.715e-01 3.549e-02 13.286 < 2e-16 ***
LNYI_T_1 -5.101e-02 4.065e-03 -12.549 < 2e-16 ***
SIND 1.261e-01 1.875e-02 6.727 5.57e-10 ***
SAGRO 1.080e-01 7.748e-03 13.941 < 2e-16 ***
SSERV 5.448e-02 1.566e-02 3.480 0.000691 ***
SPUB -1.434e-01 2.016e-02 -7.113 7.74e-11 ***
H 2.677e-04 1.973e-04 1.357 0.177242
DD 5.371e-05 5.203e-05 1.032 0.303974
DORC 4.904e-06 2.853e-06 1.719 0.088075 .
Importa 4.284e+00 1.238e+00 3.461 0.000737 ***
Mregio -1.980e-01 1.878e-01 -1.054 0.293695
FPM -1.419e+00 8.513e-01 -1.667 0.098024 .
TICMSm 4.284e+01 9.051e+00 4.733 5.88e-06 ***
credito 1.074e+00 8.939e-01 1.201 0.231969
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01295 on 125 degrees of freedom
Multiple R-squared: 0.8895, Adjusted R-squared: 0.878
F-statistic: 77.39 on 13 and 125 DF, p-value: < 2.2e-16
AIC(mod2)
[1] -798.6909
BIC(mod2)
[1] -754.6738
Retirarei DD
Veja que atualizo sobre o último mod2. Melhora mais um pouco.
mod2 <- update(mod2, . ~ . - DD)
summary(mod2)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + DORC + Importa + Mregio + FPM + TICMSm + credito, data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.039352 -0.008188 0.000604 0.006660 0.031126
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.719e-01 3.549e-02 13.297 < 2e-16 ***
LNYI_T_1 -5.109e-02 4.065e-03 -12.568 < 2e-16 ***
SIND 1.248e-01 1.871e-02 6.672 7.17e-10 ***
SAGRO 1.072e-01 7.711e-03 13.903 < 2e-16 ***
SSERV 5.712e-02 1.545e-02 3.697 0.000324 ***
SPUB -1.433e-01 2.017e-02 -7.104 7.93e-11 ***
H 3.152e-04 1.919e-04 1.643 0.102951
DORC 4.534e-06 2.831e-06 1.602 0.111732
Importa 4.147e+00 1.231e+00 3.369 0.001003 **
Mregio -1.742e-01 1.864e-01 -0.934 0.352012
FPM -9.286e-01 7.065e-01 -1.314 0.191118
TICMSm 4.249e+01 9.047e+00 4.696 6.81e-06 ***
credito 8.804e-01 8.743e-01 1.007 0.315849
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01295 on 126 degrees of freedom
Multiple R-squared: 0.8885, Adjusted R-squared: 0.8779
F-statistic: 83.7 on 12 and 126 DF, p-value: < 2.2e-16
AIC(mod2)
[1] -799.5112
BIC(mod2)
[1] -758.4285
Retirarei Mregio
Veja que atualizo sobre o último mod2. Melhora mais um pouco.
mod2 <- update(mod2, . ~ . - Mregio)
summary(mod2)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + DORC + Importa + FPM + TICMSm + credito, data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.038785 -0.008216 0.000828 0.006975 0.031357
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.762e-01 3.518e-02 13.536 < 2e-16 ***
LNYI_T_1 -5.183e-02 3.984e-03 -13.010 < 2e-16 ***
SIND 1.248e-01 1.870e-02 6.674 6.95e-10 ***
SAGRO 1.082e-01 7.636e-03 14.168 < 2e-16 ***
SSERV 5.482e-02 1.524e-02 3.596 0.000461 ***
SPUB -1.429e-01 2.015e-02 -7.090 8.29e-11 ***
H 3.135e-04 1.918e-04 1.635 0.104588
DORC 4.675e-06 2.825e-06 1.655 0.100441
Importa 3.961e+00 1.214e+00 3.262 0.001419 **
FPM -9.323e-01 7.062e-01 -1.320 0.189128
TICMSm 4.162e+01 8.995e+00 4.627 9.01e-06 ***
credito 8.604e-01 8.736e-01 0.985 0.326550
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01295 on 127 degrees of freedom
Multiple R-squared: 0.8878, Adjusted R-squared: 0.878
F-statistic: 91.32 on 11 and 127 DF, p-value: < 2.2e-16
AIC(mod2)
[1] -800.5518
BIC(mod2)
[1] -762.4037
Retirarei credito
Veja que atualizo sobre o último mod2. Melhora mais um pouco.
mod2 <- update(mod2, . ~ . - credito)
summary(mod2)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + DORC + Importa + FPM + TICMSm, data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.039267 -0.007461 0.000338 0.007006 0.031563
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.667e-01 3.381e-02 13.802 < 2e-16 ***
LNYI_T_1 -5.069e-02 3.811e-03 -13.300 < 2e-16 ***
SIND 1.240e-01 1.868e-02 6.637 8.19e-10 ***
SAGRO 1.066e-01 7.453e-03 14.297 < 2e-16 ***
SSERV 6.198e-02 1.339e-02 4.627 8.95e-06 ***
SPUB -1.427e-01 2.015e-02 -7.082 8.42e-11 ***
H 3.643e-04 1.847e-04 1.972 0.05072 .
DORC 4.414e-06 2.812e-06 1.569 0.11903
Importa 3.866e+00 1.210e+00 3.194 0.00177 **
FPM -8.200e-01 6.968e-01 -1.177 0.24149
TICMSm 3.994e+01 8.830e+00 4.523 1.37e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01294 on 128 degrees of freedom
Multiple R-squared: 0.8869, Adjusted R-squared: 0.8781
F-statistic: 100.4 on 10 and 128 DF, p-value: < 2.2e-16
AIC(mod2)
[1] -801.4942
BIC(mod2)
[1] -766.2805
Retirarei FPM
Veja que atualizo sobre o último mod2. Melhora mais um pouco.
mod2 <- update(mod2, . ~ . - FPM)
summary(mod2)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + DORC + Importa + TICMSm, data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.038940 -0.007222 0.000099 0.006958 0.032152
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.639e-01 3.378e-02 13.733 < 2e-16 ***
LNYI_T_1 -5.038e-02 3.808e-03 -13.230 < 2e-16 ***
SIND 1.223e-01 1.865e-02 6.557 1.20e-09 ***
SAGRO 1.079e-01 7.377e-03 14.627 < 2e-16 ***
SSERV 5.937e-02 1.323e-02 4.488 1.58e-05 ***
SPUB -1.423e-01 2.018e-02 -7.054 9.51e-11 ***
H 3.158e-04 1.803e-04 1.752 0.08223 .
DORC 4.341e-06 2.816e-06 1.542 0.12564
Importa 4.014e+00 1.206e+00 3.329 0.00114 **
TICMSm 4.038e+01 8.835e+00 4.570 1.13e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01296 on 129 degrees of freedom
Multiple R-squared: 0.8857, Adjusted R-squared: 0.8777
F-statistic: 111.1 on 9 and 129 DF, p-value: < 2.2e-16
AIC(mod2)
[1] -801.9986
BIC(mod2)
[1] -769.7194
Retirarei DORC
Veja que atualizo sobre o último mod2. Melhora mais um pouco pelo BIC mas não pelo AIC nem pelo \(R^2\) ajustado. Vou optar por manter o DORC no modelo.
mod2 <- update(mod2, . ~ . - DORC)
summary(mod2)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + Importa + TICMSm, data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.038231 -0.007231 -0.000428 0.006942 0.036033
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.4758882 0.0330407 14.403 < 2e-16 ***
LNYI_T_1 -0.0515334 0.0037531 -13.731 < 2e-16 ***
SIND 0.1257862 0.0186154 6.757 4.27e-10 ***
SAGRO 0.1093928 0.0073513 14.881 < 2e-16 ***
SSERV 0.0496722 0.0116988 4.246 4.11e-05 ***
SPUB -0.1362400 0.0198922 -6.849 2.67e-10 ***
H 0.0004369 0.0001632 2.677 0.00839 **
Importa 3.8473462 1.2070479 3.187 0.00180 **
TICMSm 50.2771919 6.0990409 8.243 1.58e-13 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01303 on 130 degrees of freedom
Multiple R-squared: 0.8836, Adjusted R-squared: 0.8764
F-statistic: 123.3 on 8 and 130 DF, p-value: < 2.2e-16
AIC(mod2)
[1] -801.4614
BIC(mod2)
[1] -772.1167
Portanto, a estimação final foi:
final <- lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DORC +
Importa + TICMSm, data = dados2)
summary(final)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + DORC + Importa + TICMSm, data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.038940 -0.007222 0.000099 0.006958 0.032152
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.639e-01 3.378e-02 13.733 < 2e-16 ***
LNYI_T_1 -5.038e-02 3.808e-03 -13.230 < 2e-16 ***
SIND 1.223e-01 1.865e-02 6.557 1.20e-09 ***
SAGRO 1.079e-01 7.377e-03 14.627 < 2e-16 ***
SSERV 5.937e-02 1.323e-02 4.488 1.58e-05 ***
SPUB -1.423e-01 2.018e-02 -7.054 9.51e-11 ***
H 3.158e-04 1.803e-04 1.752 0.08223 .
DORC 4.341e-06 2.816e-06 1.542 0.12564
Importa 4.014e+00 1.206e+00 3.329 0.00114 **
TICMSm 4.038e+01 8.835e+00 4.570 1.13e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01296 on 129 degrees of freedom
Multiple R-squared: 0.8857, Adjusted R-squared: 0.8777
F-statistic: 111.1 on 9 and 129 DF, p-value: < 2.2e-16
final$AIC <- AIC(final)
final$BIC <- BIC(final)
A função leaps::regsubsets
faz a seleção dos modelos por busca exaustiva para frente e para trás, stepwise, ou reposição sequencial. Observe que nos plots de AIC para cada modelo, deseja-se um modelo de menor AIC. O slot com as informações de quais variáveis estão em cada modelo tem nome which
dentro do summary
do objeto de regsubsets
, neste caso chamado de “b” (o objeto resultante do summary
foi chamado de rs
e dentro dele estará também o resultado do BIC de cada modelo).
require(leaps)
b <- regsubsets(BARRO ~ ., data = dados2, method = c("exhaustive"))
rs <- summary(b)
rs$which
(Intercept) LNYI_T_1 SIND SAGRO SSERV SPUB H DD DORC T Exporta
1 TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
2 TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
3 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
4 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
5 TRUE TRUE TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
6 TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
Importa Mregio FPM TICMSm credito
1 FALSE FALSE FALSE FALSE FALSE
2 FALSE FALSE FALSE FALSE FALSE
3 FALSE FALSE FALSE FALSE FALSE
4 TRUE FALSE FALSE FALSE FALSE
5 FALSE FALSE FALSE TRUE FALSE
6 FALSE FALSE FALSE TRUE FALSE
[ reached getOption("max.print") -- omitted 2 rows ]
# a escolha é com o BIC
rs$bic
[1] -89.91415 -126.76529 -175.14756 -198.33254 -226.75252 -243.01860 -251.99235
[8] -254.51611
# plot do BIC
NA
[1] NA
NA
[1] NA
which.max(rs$adjr2)
[1] 8
NA
[1] NA
# abline(0,1)
O melhor resultado inclui: LNYI_T_1,SIND,SAGRO,SSERV,SPUB,H,Importa,TICMSm. Ou seja,
final2 <- lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + Importa +
TICMSm, data = dados2)
summary(final2)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + Importa + TICMSm, data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.038231 -0.007231 -0.000428 0.006942 0.036033
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.4758882 0.0330407 14.403 < 2e-16 ***
LNYI_T_1 -0.0515334 0.0037531 -13.731 < 2e-16 ***
SIND 0.1257862 0.0186154 6.757 4.27e-10 ***
SAGRO 0.1093928 0.0073513 14.881 < 2e-16 ***
SSERV 0.0496722 0.0116988 4.246 4.11e-05 ***
SPUB -0.1362400 0.0198922 -6.849 2.67e-10 ***
H 0.0004369 0.0001632 2.677 0.00839 **
Importa 3.8473462 1.2070479 3.187 0.00180 **
TICMSm 50.2771919 6.0990409 8.243 1.58e-13 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01303 on 130 degrees of freedom
Multiple R-squared: 0.8836, Adjusted R-squared: 0.8764
F-statistic: 123.3 on 8 and 130 DF, p-value: < 2.2e-16
final2$AIC <- AIC(final2)
final2$BIC <- BIC(final2)
O Stepwise Regression é uma combinação de eliminação backward (para trás) e seleção forward (para frente - inclusão). É a situação em que variáveis são adicionadas e removidas no processo e a cada estágio existem variações diversas de como proceder. O usual é minimizar AIC ou BIC. A função será step
de um modelo de regressão, dentro do pacote stats
que já vem no R básico. A função step retornará os vários modelos estimados e respectivos AIC até otimizar.
lmod <- lm(BARRO ~ ., data = dados2)
step(lmod)
Start: AIC=-1191.89
BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DD + DORC +
T + Exporta + Importa + Mregio + FPM + TICMSm + credito
Df Sum of Sq RSS AIC
- T 1 0.0000077 0.020856 -1193.8
- Exporta 1 0.0000983 0.020946 -1193.2
- DD 1 0.0001290 0.020977 -1193.0
- Mregio 1 0.0001773 0.021025 -1192.7
- credito 1 0.0002185 0.021067 -1192.4
- H 1 0.0002448 0.021093 -1192.3
<none> 0.020848 -1191.9
- DORC 1 0.0004344 0.021282 -1191.0
- FPM 1 0.0004902 0.021338 -1190.7
- SSERV 1 0.0013021 0.022150 -1185.5
- Importa 1 0.0020261 0.022874 -1181.0
- TICMSm 1 0.0037216 0.024570 -1171.1
- SIND 1 0.0076562 0.028504 -1150.4
- SPUB 1 0.0085203 0.029368 -1146.3
- LNYI_T_1 1 0.0206475 0.041496 -1098.2
- SAGRO 1 0.0294758 0.050324 -1071.4
Step: AIC=-1193.84
BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DD + DORC +
Exporta + Importa + Mregio + FPM + TICMSm + credito
Df Sum of Sq RSS AIC
- Exporta 1 0.0001028 0.020959 -1195.2
- DD 1 0.0001642 0.021020 -1194.8
- Mregio 1 0.0001869 0.021043 -1194.6
- credito 1 0.0002321 0.021088 -1194.3
<none> 0.020856 -1193.8
- H 1 0.0003065 0.021162 -1193.8
- DORC 1 0.0004324 0.021288 -1193.0
- FPM 1 0.0004829 0.021339 -1192.7
- Importa 1 0.0020259 0.022882 -1183.0
- SSERV 1 0.0021327 0.022988 -1182.3
- TICMSm 1 0.0037631 0.024619 -1172.8
- SIND 1 0.0076883 0.028544 -1152.2
- SPUB 1 0.0085127 0.029368 -1148.3
- LNYI_T_1 1 0.0240074 0.044863 -1089.4
- SAGRO 1 0.0312306 0.052086 -1068.6
Step: AIC=-1195.16
BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DD + DORC +
Importa + Mregio + FPM + TICMSm + credito
Df Sum of Sq RSS AIC
- DD 1 0.000179 0.021137 -1196.0
- Mregio 1 0.000186 0.021145 -1195.9
- credito 1 0.000242 0.021200 -1195.6
<none> 0.020959 -1195.2
- H 1 0.000309 0.021267 -1195.1
- FPM 1 0.000466 0.021424 -1194.1
- DORC 1 0.000495 0.021454 -1193.9
- Importa 1 0.002009 0.022967 -1184.4
- SSERV 1 0.002030 0.022989 -1184.3
- TICMSm 1 0.003757 0.024715 -1174.2
- SIND 1 0.007587 0.028545 -1154.2
- SPUB 1 0.008484 0.029443 -1149.9
- LNYI_T_1 1 0.026403 0.047362 -1083.8
- SAGRO 1 0.032585 0.053544 -1066.8
Step: AIC=-1195.98
BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DORC + Importa +
Mregio + FPM + TICMSm + credito
Df Sum of Sq RSS AIC
- Mregio 1 0.000146 0.021284 -1197.0
- credito 1 0.000170 0.021307 -1196.9
- FPM 1 0.000290 0.021427 -1196.1
<none> 0.021137 -1196.0
- DORC 1 0.000430 0.021568 -1195.2
- H 1 0.000453 0.021590 -1195.0
- Importa 1 0.001904 0.023041 -1186.0
- SSERV 1 0.002293 0.023430 -1183.7
- TICMSm 1 0.003700 0.024837 -1175.5
- SIND 1 0.007468 0.028605 -1155.9
- SPUB 1 0.008465 0.029602 -1151.2
- LNYI_T_1 1 0.026498 0.047636 -1085.0
- SAGRO 1 0.032428 0.053565 -1068.7
Step: AIC=-1197.02
BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DORC + Importa +
FPM + TICMSm + credito
Df Sum of Sq RSS AIC
- credito 1 0.000163 0.021446 -1198.0
- FPM 1 0.000292 0.021576 -1197.1
<none> 0.021284 -1197.0
- H 1 0.000448 0.021731 -1196.1
- DORC 1 0.000459 0.021742 -1196.0
- Importa 1 0.001784 0.023067 -1187.8
- SSERV 1 0.002167 0.023450 -1185.5
- TICMSm 1 0.003589 0.024872 -1177.4
- SIND 1 0.007465 0.028748 -1157.2
- SPUB 1 0.008424 0.029707 -1152.7
- LNYI_T_1 1 0.028365 0.049648 -1081.3
- SAGRO 1 0.033641 0.054924 -1067.2
Step: AIC=-1197.96
BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DORC + Importa +
FPM + TICMSm
Df Sum of Sq RSS AIC
- FPM 1 0.000232 0.021678 -1198.5
<none> 0.021446 -1198.0
- DORC 1 0.000413 0.021859 -1197.3
- H 1 0.000652 0.022098 -1195.8
- Importa 1 0.001710 0.023156 -1189.3
- TICMSm 1 0.003428 0.024874 -1179.3
- SSERV 1 0.003588 0.025034 -1178.5
- SIND 1 0.007381 0.028827 -1158.8
- SPUB 1 0.008403 0.029849 -1154.0
- LNYI_T_1 1 0.029637 0.051083 -1079.3
- SAGRO 1 0.034246 0.055692 -1067.3
Step: AIC=-1198.46
BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DORC + Importa +
TICMSm
Df Sum of Sq RSS AIC
<none> 0.021678 -1198.5
- DORC 1 0.000399 0.022077 -1197.9
- H 1 0.000516 0.022194 -1197.2
- Importa 1 0.001863 0.023541 -1189.0
- SSERV 1 0.003385 0.025063 -1180.3
- TICMSm 1 0.003510 0.025188 -1179.6
- SIND 1 0.007225 0.028903 -1160.5
- SPUB 1 0.008361 0.030039 -1155.1
- LNYI_T_1 1 0.029415 0.051093 -1081.3
- SAGRO 1 0.035952 0.057631 -1064.6
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + DORC + Importa + TICMSm, data = dados2)
Coefficients:
(Intercept) LNYI_T_1 SIND SAGRO SSERV SPUB
4.639e-01 -5.038e-02 1.223e-01 1.079e-01 5.937e-02 -1.423e-01
H DORC Importa TICMSm
3.158e-04 4.341e-06 4.014e+00 4.038e+01
O melhor modelo foi
final3 <- lm(BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DORC + Importa +
TICMSm, data = dados2)
summary(final3)
Call:
lm(formula = BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB +
H + DORC + Importa + TICMSm, data = dados2)
Residuals:
Min 1Q Median 3Q Max
-0.038940 -0.007222 0.000099 0.006958 0.032152
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.639e-01 3.378e-02 13.733 < 2e-16 ***
LNYI_T_1 -5.038e-02 3.808e-03 -13.230 < 2e-16 ***
SIND 1.223e-01 1.865e-02 6.557 1.20e-09 ***
SAGRO 1.079e-01 7.377e-03 14.627 < 2e-16 ***
SSERV 5.937e-02 1.323e-02 4.488 1.58e-05 ***
SPUB -1.423e-01 2.018e-02 -7.054 9.51e-11 ***
H 3.158e-04 1.803e-04 1.752 0.08223 .
DORC 4.341e-06 2.816e-06 1.542 0.12564
Importa 4.014e+00 1.206e+00 3.329 0.00114 **
TICMSm 4.038e+01 8.835e+00 4.570 1.13e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01296 on 129 degrees of freedom
Multiple R-squared: 0.8857, Adjusted R-squared: 0.8777
F-statistic: 111.1 on 9 and 129 DF, p-value: < 2.2e-16
final3$AIC <- AIC(final3)
final3$BIC <- BIC(final3)
Pelo AIC, este foi melhor, mas não pelo BIC.
Colocarei todos lado a lado com o stargazer.
library(stargazer)
stargazer(final, final2, final3, title = "Título: Resultados da Seleção", align = TRUE,
type = "text", style = "all", keep.stat = c("AIC", "BIC", "rsq", "adj.rsq", "n"))
Título: Resultados da Seleção
=======================================================
Dependent variable:
-----------------------------------
BARRO
(1) (2) (3)
-------------------------------------------------------
LNYI_T_1 -0.050*** -0.052*** -0.050***
(0.004) (0.004) (0.004)
t = -13.230 t = -13.731 t = -13.230
p = 0.000 p = 0.000 p = 0.000
SIND 0.122*** 0.126*** 0.122***
(0.019) (0.019) (0.019)
t = 6.557 t = 6.757 t = 6.557
p = 0.000 p = 0.000 p = 0.000
SAGRO 0.108*** 0.109*** 0.108***
(0.007) (0.007) (0.007)
t = 14.627 t = 14.881 t = 14.627
p = 0.000 p = 0.000 p = 0.000
SSERV 0.059*** 0.050*** 0.059***
(0.013) (0.012) (0.013)
t = 4.488 t = 4.246 t = 4.488
p = 0.00002 p = 0.00005 p = 0.00002
SPUB -0.142*** -0.136*** -0.142***
(0.020) (0.020) (0.020)
t = -7.054 t = -6.849 t = -7.054
p = 0.000 p = 0.000 p = 0.000
H 0.0003* 0.0004*** 0.0003*
(0.0002) (0.0002) (0.0002)
t = 1.752 t = 2.677 t = 1.752
p = 0.083 p = 0.009 p = 0.083
DORC 0.00000 0.00000
(0.00000) (0.00000)
t = 1.542 t = 1.542
p = 0.126 p = 0.126
Importa 4.014*** 3.847*** 4.014***
(1.206) (1.207) (1.206)
t = 3.329 t = 3.187 t = 3.329
p = 0.002 p = 0.002 p = 0.002
TICMSm 40.377*** 50.277*** 40.377***
(8.835) (6.099) (8.835)
t = 4.570 t = 8.243 t = 4.570
p = 0.00002 p = 0.000 p = 0.00002
Constant 0.464*** 0.476*** 0.464***
(0.034) (0.033) (0.034)
t = 13.733 t = 14.403 t = 13.733
p = 0.000 p = 0.000 p = 0.000
-------------------------------------------------------
Observations 139 139 139
R2 0.886 0.884 0.886
Adjusted R2 0.878 0.876 0.878
Akaike Inf. Crit. -801.999 -801.461 -801.999
Bayesian Inf. Crit. -769.719 -772.117 -769.719
=======================================================
Note: *p<0.1; **p<0.05; ***p<0.01
Olhando a tabela, o resultado do AIC indica pelos modelos final e final3. Pelo BIC, seria o final2, mas que teve R2 menor que os demais.
Farei o teste no modelo final3, saído do stepwise. Não temos multicolinearidade preocupante.
library(car)
reg1.vif <- vif(final3)
reg1.vif
LNYI_T_1 SIND SAGRO SSERV SPUB H DORC Importa
4.650939 1.691263 1.544229 2.164569 2.627808 2.034318 3.631505 1.527390
TICMSm
5.964815
# final3: BARRO ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DORC + Importa +
# TICMSm, data=dados2) teste de White para heterocedasticidade, sem termos
# cruzados por causa do grau de liberdade do modelo (n=78obs)
m <- final3
data <- dados
# rotina do teste com base em m e data
u2 <- m$residuals^2
reg.auxiliar <- lm(u2 ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DORC + Importa +
TICMSm + I(LNYI_T_1^2) + I(SIND^2) + I(SAGRO^2) + I(SSERV^2) + I(SPUB^2) + I(H^2) +
I(DORC^2) + Importa^2 + TICMSm^2, data = dados2)
summary(reg.auxiliar)
Call:
lm(formula = u2 ~ LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H +
DORC + Importa + TICMSm + I(LNYI_T_1^2) + I(SIND^2) + I(SAGRO^2) +
I(SSERV^2) + I(SPUB^2) + I(H^2) + I(DORC^2) + Importa^2 +
TICMSm^2, data = dados2)
Residuals:
Min 1Q Median 3Q Max
-4.288e-04 -1.232e-04 -4.039e-05 4.828e-05 1.341e-03
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.736e-03 4.402e-03 -0.849 0.3977
LNYI_T_1 6.510e-04 9.113e-04 0.714 0.4764
SIND -1.852e-04 5.467e-04 -0.339 0.7354
SAGRO -2.422e-04 2.397e-04 -1.010 0.3144
SSERV -2.362e-04 4.144e-04 -0.570 0.5698
SPUB 1.023e-03 9.575e-04 1.069 0.2873
H 3.689e-06 9.408e-06 0.392 0.6956
DORC 2.619e-07 1.552e-07 1.687 0.0941 .
Importa 2.260e-03 2.909e-02 0.078 0.9382
TICMSm 1.189e-01 1.906e-01 0.624 0.5338
I(LNYI_T_1^2) -3.009e-05 4.729e-05 -0.636 0.5258
I(SIND^2) 7.275e-04 2.001e-03 0.364 0.7168
I(SAGRO^2) 5.888e-04 4.193e-04 1.404 0.1628
I(SSERV^2) -9.168e-05 8.229e-04 -0.111 0.9115
I(SPUB^2) -1.788e-04 1.450e-03 -0.123 0.9021
I(H^2) -7.436e-08 1.785e-07 -0.417 0.6777
I(DORC^2) -4.778e-11 3.158e-11 -1.513 0.1328
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.0002493 on 122 degrees of freedom
Multiple R-squared: 0.1718, Adjusted R-squared: 0.06318
F-statistic: 1.582 on 16 and 122 DF, p-value: 0.08358
Ru2 <- summary(reg.auxiliar)$r.squared
LM <- nrow(data) * Ru2
# obtendo o numero de regressores menos o intercepto
k <- length(coefficients(reg.auxiliar)) - 1
k
[1] 16
p.value <- 1 - pchisq(LM, k) # O TESTE TEM k TERMOS REGRESSORES EM reg.auxiliar
# c('LM','p.value')
#'Resultado do teste de White sem termos cruzados
c(LM = LM, p.value = p.value)
LM p.value
23.87930247 0.09217401
Ou pelo bptest
:
bptest(final3, ~LNYI_T_1 + SIND + SAGRO + SSERV + SPUB + H + DORC + Importa + TICMSm +
I(LNYI_T_1^2) + I(SIND^2) + I(SAGRO^2) + I(SSERV^2) + I(SPUB^2) + I(H^2) + I(DORC^2) +
Importa^2 + TICMSm^2, data = dados2)
studentized Breusch-Pagan test
data: final3
BP = 23.879, df = 16, p-value = 0.09217
Precisa corrigir para presenca de heteroscedasticidade.
# library(car) possibilidades:
# hccm(regressao1,type=c('hc0','hc1','hc2','hc3','hc4'))
vcov.white0 <- hccm(final3, type = c("hc1"))
#
coeftest(final3, vcov.white0)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.6387e-01 3.2707e-02 14.1826 < 2.2e-16 ***
LNYI_T_1 -5.0378e-02 3.8373e-03 -13.1285 < 2.2e-16 ***
SIND 1.2231e-01 1.8662e-02 6.5542 1.219e-09 ***
SAGRO 1.0790e-01 9.1380e-03 11.8075 < 2.2e-16 ***
SSERV 5.9370e-02 1.1784e-02 5.0383 1.550e-06 ***
SPUB -1.4232e-01 2.8151e-02 -5.0556 1.437e-06 ***
H 3.1584e-04 1.8541e-04 1.7035 0.0908908 .
DORC 4.3408e-06 3.2549e-06 1.3336 0.1846715
Importa 4.0136e+00 1.2014e+00 3.3406 0.0010935 **
TICMSm 4.0377e+01 1.0138e+01 3.9826 0.0001132 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cov <- vcov.white0
robust.se <- sqrt(diag(cov))
stargazer(final3, final3, se = list(NULL, robust.se), column.labels = c("MQO-final3",
"robusto"), title = "Título: Resultado da Regressão", align = TRUE, type = "text",
style = "all", keep.stat = c("aic", "bic", "rsq", "adj.rsq", "n"))
Título: Resultado da Regressão
================================================
Dependent variable:
----------------------------
BARRO
MQO-final3 robusto
(1) (2)
------------------------------------------------
LNYI_T_1 -0.050*** -0.050***
(0.004) (0.004)
t = -13.230 t = -13.129
p = 0.000 p = 0.000
SIND 0.122*** 0.122***
(0.019) (0.019)
t = 6.557 t = 6.554
p = 0.000 p = 0.000
SAGRO 0.108*** 0.108***
(0.007) (0.009)
t = 14.627 t = 11.808
p = 0.000 p = 0.000
SSERV 0.059*** 0.059***
(0.013) (0.012)
t = 4.488 t = 5.038
p = 0.00002 p = 0.00000
SPUB -0.142*** -0.142***
(0.020) (0.028)
t = -7.054 t = -5.056
p = 0.000 p = 0.00000
H 0.0003* 0.0003*
(0.0002) (0.0002)
t = 1.752 t = 1.703
p = 0.083 p = 0.089
DORC 0.00000 0.00000
(0.00000) (0.00000)
t = 1.542 t = 1.334
p = 0.126 p = 0.183
Importa 4.014*** 4.014***
(1.206) (1.201)
t = 3.329 t = 3.341
p = 0.002 p = 0.001
TICMSm 40.377*** 40.377***
(8.835) (10.138)
t = 4.570 t = 3.983
p = 0.00002 p = 0.0001
Constant 0.464*** 0.464***
(0.034) (0.033)
t = 13.733 t = 14.183
p = 0.000 p = 0.000
------------------------------------------------
Observations 139 139
R2 0.886 0.886
Adjusted R2 0.878 0.878
Akaike Inf. Crit. -801.999 -801.999
Bayesian Inf. Crit. -769.719 -769.719
================================================
Note: *p<0.1; **p<0.05; ***p<0.01
library(car)
library(lmtest)
library(sandwich)
dw.mod2 <- dwtest(final3)
dw.mod2
Durbin-Watson test
data: final3
DW = 2.0866, p-value = 0.709
alternative hypothesis: true autocorrelation is greater than 0
Fiz uma rotina para rodar vários BGtest até ordem 12.
# padrao do teste de BG, com distribuição qui-quadrado
bgorder = 1:12 # definindo até a máxima ordem do bgtest
d = NULL
for (p in bgorder) {
bgtest.chi <- bgtest(final3, order = p, type = c("Chisq"), data = dados)
print(bgtest.chi)
d = rbind(d, data.frame(bgtest.chi$statistic, bgtest.chi$p.value))
}
Breusch-Godfrey test for serial correlation of order up to 1
data: final3
LM test = 0.28808, df = 1, p-value = 0.5915
Breusch-Godfrey test for serial correlation of order up to 2
data: final3
LM test = 1.4421, df = 2, p-value = 0.4862
Breusch-Godfrey test for serial correlation of order up to 3
data: final3
LM test = 1.4646, df = 3, p-value = 0.6905
Breusch-Godfrey test for serial correlation of order up to 4
data: final3
LM test = 2.4191, df = 4, p-value = 0.6592
Breusch-Godfrey test for serial correlation of order up to 5
data: final3
LM test = 4.57, df = 5, p-value = 0.4706
Breusch-Godfrey test for serial correlation of order up to 6
data: final3
LM test = 4.6906, df = 6, p-value = 0.5841
Breusch-Godfrey test for serial correlation of order up to 7
data: final3
LM test = 5.1586, df = 7, p-value = 0.6406
Breusch-Godfrey test for serial correlation of order up to 8
data: final3
LM test = 6.7512, df = 8, p-value = 0.5637
Breusch-Godfrey test for serial correlation of order up to 9
data: final3
LM test = 8.7766, df = 9, p-value = 0.4581
Breusch-Godfrey test for serial correlation of order up to 10
data: final3
LM test = 12.956, df = 10, p-value = 0.2262
Breusch-Godfrey test for serial correlation of order up to 11
data: final3
LM test = 13.226, df = 11, p-value = 0.2788
Breusch-Godfrey test for serial correlation of order up to 12
data: final3
LM test = 13.29, df = 12, p-value = 0.3483
d
Não concluiu por autocorrelação residual!
u.hat <- resid(final3)
library(tseries)
JB.mod2 <- jarque.bera.test(u.hat)
JB.mod2
Jarque Bera Test
data: u.hat
X-squared = 2.9947, df = 2, p-value = 0.2237
TesteRESET.power <- lmtest::resettest(final3, power = 2:3)
TesteRESET.power
RESET test
data: final3
RESET = 6.4532, df1 = 2, df2 = 127, p-value = 0.002142
outlierTest(final3)
No Studentized residuals with Bonferroni p < 0.05
Largest |rstudent|:
rstudent unadjusted p-value Bonferroni p
58 -3.209014 0.0016835 0.23401
qqPlot(final3)
[1] 58 121
vif(final3)
LNYI_T_1 SIND SAGRO SSERV SPUB H DORC Importa
4.650939 1.691263 1.544229 2.164569 2.627808 2.034318 3.631505 1.527390
TICMSm
5.964815
O outlier 58 é o município de Juruena.
MARQUEZIN, William Ricardo. O Fundo de Participação dos Municípios e sua contribuição para a redução da desigualdade econômica em Mato Grosso. Universidade Federal de Mato Grosso, Faculdade de Economia, Programa de Pós-Graduação em Agronegócio e Desenvolvimento Regional. UFMT: Cuiabá-MT, 2014. Dissertação (Mestrado). Disponível em: https://www.ufmt.br/adr/arquivos/6b93f9815cfad275fb05f3502deffda6.pdf.