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.