# "limpar" ambiente
rm(list = ls())
# Carregar bibliotecas
library(readxl)
library(readr)
library(lmtest)
library(ggplot2)
library(glm2)
library(corrplot)
library(psych)
library(factoextra)
library(FactoMineR)
library(stats)
library(plm)
library(car)
library(lmtest)
library(tseries)
library(cli)
library(skimr)
Os dados de população residente foram obtidos junto ao Instituto Brasileiro de Geografia e Estatística (IBGE), sendo utilizadas informações provenientes do Censo Demográfico de 2010 (Tabela 136), do Censo Demográfico de 2022 (Tabela 4709), da Pesquisa Nacional por Amostra de Domicílios Contínua – PNAD Contínua de 2023 (Tabela 7436), das Estimativas Populacionais para os anos de 2001 a 2006, 2008, 2009, 2011 a 2021 e 2024 a 2025 (Tabela 6579), bem como da Contagem da População de 2007 (Tabela 793).
A idade média da frota foi calculada para cada unidade da federação e ano de referência por meio de uma média ponderada das idades dos veículos, utilizando-se como ponderadores as quantidades de veículos por ano de fabricação disponibilizadas pela SENATRAN.
Inicialmente, a idade de cada veículo foi obtida pela diferença entre o ano de referência da base e o respectivo ano de fabricação. As séries históricas de frota anteriores a 2016 apresentam uma limitação de informação, uma vez que os veículos mais antigos são agrupados em categorias censuradas (“<1989”, “<1995”, “<2002”, entre outras), impedindo a identificação exata do ano de fabricação de parte da frota para cada ano de referência.
Para contornar essa restrição, utilizou-se a distribuição etária completa observada na base de 2025 que possui informações completas sobre o ano de fabricação da frota de veículos, a informação que se perde é o valor de referência para cada ano em que possui a frota em anos anteriores por UF, que poderia refletir a sucateamento de veículos e transferências estaduais, assim, a estratégia constitui uma aproximação sujeita a erro de mensuração. Os resultados associados à variável idade média da frota devem ser interpretados como aproximações condicionadas às restrições de informação das bases históricas disponíveis.
m1 <- read_excel("C:/Users/kassy/OneDrive - caen.ufc.br/Consultoria/CNT 2026/convocaopara2provaprocessoseletivoanalistaemeco/Dados painel_CNT.xlsx","Valores_1")
m1=pdata.frame(m1, index = c("ESTADO","ANO"))
head(m1)
## UF ESTADO ANO AnoUF Arrecadação.Baseline ln_arreca_base
## AC-2001 Acre AC 2001 2001AC 36909562 17.42398
## AC-2002 Acre AC 2002 2002AC 40845685 17.52531
## AC-2003 Acre AC 2003 2003AC 44467580 17.61027
## AC-2004 Acre AC 2004 2004AC 48065850 17.68808
## AC-2005 Acre AC 2005 2005AC 51912412 17.76507
## AC-2006 Acre AC 2006 2006AC 56992714 17.85843
## Arrecadação.Cenário.2...Isenta.até.5.anos
## AC-2001 26689821
## AC-2002 29536087
## AC-2003 32155130
## AC-2004 34757089
## AC-2005 37538592
## AC-2006 41212229
## Arrecadação.Cenário.3...Isenta.até.10.anos Variação.Cen.2.vs.Baseline
## AC-2001 16619533 -10219741
## AC-2002 18391880 -11309598
## AC-2003 20022736 -12312450
## AC-2004 21642955 -13308761
## AC-2005 23374974 -14373820
## AC-2006 25662518 -15780484
## Variação.Cen.3.vs.Baseline Idade.Média.da.frota Frota.Agregada ln_frota
## AC-2001 -20290029 7.060154 46992 10.75773
## AC-2002 -22453805 7.236211 52784 10.87396
## AC-2003 -24444843 7.473099 58952 10.98448
## AC-2004 -26422895 7.605009 65614 11.09154
## AC-2005 -28537438 7.762295 73101 11.19960
## AC-2006 -31330196 7.776587 82599 11.32175
## População
## AC-2001 574355
## AC-2002 586942
## AC-2003 600595
## AC-2004 630328
## AC-2005 669736
## AC-2006 686652
arre_baseline=m1$Arrecadação.Baseline
arre_cenario2=m1$Arrecadação.Cenário.2...Isenta.até.5.anos
arre_cenario3=m1$Arrecadação.Cenário.3...Isenta.até.10.anos
idade_frota=m1$Idade.Média.da.frota
pop=m1$População
frota=m1$Frota.Agregada
ln_baseline=m1$ln_arreca_base
ln_frota=m1$ln_frota
#baseln=log(arre_baseline)
data1=data.frame(arre_baseline, idade_frota, pop, frota, ln_frota)
matcor <- cor(data1)
print(matcor, digits = 2)
## arre_baseline idade_frota pop frota ln_frota
## arre_baseline 1.00 0.50 0.92 0.99 0.66
## idade_frota 0.50 1.00 0.43 0.56 0.73
## pop 0.92 0.43 1.00 0.92 0.75
## frota 0.99 0.56 0.92 1.00 0.72
## ln_frota 0.66 0.73 0.75 0.72 1.00
corrplot(matcor, method = "circle")
## Modelos de dados em painel
regressão considerando que o intercepto do modelo e seus coeficientes angulares são constantes ao longo do tempo e no espaço, sendo que o termo de erro capta a diferença no tempo e entre os indivíduos (POOLED);
regressão considerando que os coeficientes angulares são constantes e o intercepto varia entre os indivíduos (EFEITOS FIXOS);
regressão considerando que o intercepto assume um valor médio comum entre os indivíduos e os coeficientes angulares variam ao longo do tempo e também entre indivíduos (EFEITOS ALEATÓRIOS).
Este modelo trata de “empilhar” todas as observações da base de dados, ignorando a estrutura de dados em painel. Desta forma, todas as observações são tratadas como não correlacionadas para os indivíduos, com erros homoscedásticos para com os indivíduos. Trata-se, portanto, da forma mais simplista e ingênua pois desconsidera as dimensões de tempo e espaço combinados, ao mesmo tempo que estima a regressão pelo método dos Mínimos Quadrados Ordinários (MQO) (Gujarati e Porter 2011). Desta forma:
\[ Y_{it} = \beta_1+\beta_2X_{2it} + \beta_3X_{3it} +u_{it}\\ i=1,2,3,4,...,27\\ t=2001,2014,\dots,2025 \] em que \(i\) corresponde à \(i\)-nésima unidade de corte transversal e \(t\) o \(t\)-nésimo período de tempo.
reg.pooled=plm(ln_baseline ~ ln_frota + pop + idade_frota,
data=m1, model="pooling")
summary(reg.pooled)
## Pooling Model
##
## Call:
## plm(formula = ln_baseline ~ ln_frota + pop + idade_frota, data = m1,
## model = "pooling")
##
## Balanced Panel: n = 27, T = 25, N = 675
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -0.622958 -0.177136 -0.022522 0.176428 0.910326
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) 6.8725e+00 1.7926e-01 38.3374 < 2.2e-16 ***
## ln_frota 9.7982e-01 1.6178e-02 60.5644 < 2.2e-16 ***
## pop 1.2310e-08 1.8972e-09 6.4886 1.683e-10 ***
## idade_frota 2.3738e-02 5.7968e-03 4.0950 4.736e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 1430.8
## Residual Sum of Squares: 48.696
## R-Squared: 0.96596
## Adj. R-Squared: 0.96581
## F-statistic: 6347.99 on 3 and 671 DF, p-value: < 2.22e-16
Conforme Wooldridge (2015), a forma funcional que considera um modelo de regressão onde a variável dependente e variável explicativa são estimadas a partir dos seus valores em logaritmo, o chamado modelo log-log ou duplo log. A interpretação do coeficiente desse modelo estimado é \(\%\Delta y= \beta_1 \%\Delta x\), ou seja, o coeficiente de elasticidade, indicando assim, a variação percentual de \(y\) para cada 1% de variação em \(x\).
De acordo com o valor do coeficiente estimado \(\beta ln_{frota=0,979}\) então, um aumento de 1% na frota aumenta a arrecadação potencial em aproximadamente 0,979%, com siginificância estatística a 1%.
No modelo pooled não se faz diferenciação entre a influência/diferença das UF’s na variável arrecadação potencial (baseline) e nem se a resposta da despesa às variáveis explicativas é a mesma ao longo do tempo. Isto faz com que não se saiba se existe heterogeneidade entre as Uf’s. A comparação do modelo pooled com as regressões de efeitos fixos e efeitos aleatórios, que serão estimados na sequência, servirá mostrar qual é o melhor modelo dentre eles.
Mas antes apresentamos o teste de multicolinearidade pelo fator de inflação da variância (VIF), que é o método mais comum para determinar o grau de multicolinearidade.
vif_values <- vif(reg.pooled)
print(vif_values)
## ln_frota pop idade_frota
## 4.305075 2.459059 2.303481
Os resultados dos valores VIF obtidos sugerem que a multicolinearidade não é uma grande preocupação no modelo, pois todos os valores estão abaixo de 5, o que geralmente é considerado um limiar para multicolinearidade problemática.
O modelo de regressão com efeitos fixos considera, que os valores dos interceptos para cada regressão (\(\alpha_i\)) variam de acordo com o efeito de cada indivíduo (“Uf’s”) e que os coeficientes de declividade (das variáveis independentes “frota”, “idade da frota”, “população”) para cada equação são os mesmos para cada UF, conforme equação abaixo:
\[ ln(Arrecadação Potencial_{it})= β_1 ln(frota) + β_2 idade da frota + β_3 população\]
Desta forma, o intercepto da equação é diferente para cada Uf, mas o efeito das variáveis independentes é o mesmo sobre a variável independente. Isto indica que existe características especiais em cada Uf influenciando a despesa.
reg.ef=plm(ln_baseline ~ ln_frota + idade_frota + pop,
data=m1, model="within")
summary(reg.ef)
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = ln_baseline ~ ln_frota + idade_frota + pop, data = m1,
## model = "within")
##
## Balanced Panel: n = 27, T = 25, N = 675
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -0.10279738 -0.01826317 0.00088301 0.02006897 0.10121588
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## ln_frota 8.2471e-01 3.5369e-03 233.1771 < 2e-16 ***
## idade_frota 2.2115e-02 9.4162e-04 23.4860 < 2e-16 ***
## pop -5.2072e-09 2.1594e-09 -2.4115 0.01617 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 159.72
## Residual Sum of Squares: 0.64585
## R-Squared: 0.99596
## Adj. R-Squared: 0.99577
## F-statistic: 52956.3 on 3 and 645 DF, p-value: < 2.22e-16
Assim, como no modelo Polled, o efeito da elasticidade estimada da frota foi significativo, contudo no modelo de efeito fixo, a variação em 1% da frota aumenta em 0.8247% a arrecadação potencial no baseline, possuindo um efeito menor em relação ao modelo Polled, indicando que o modelo anterior estava superestimando esse efeito por não controlar as diferenças fixas entre os estados.
Considerando um dos controles adotados “População”, no modelo Pooling, o efeito da população era positivo. No modelo de Efeitos Fixos, ele se tornou negativo. Controlando pelo tamanho do estado e pela frota, o sinal anterior no modelo Polled capturava o fato de que estados maiores que possuem um valor de arrecadação maior, ao isolarmos o efeito e observar o efeito apenas do crescimento populacional dentro de cada estado ao longo dos anos o efeito líquido passa a ser negativo.
A regressão de efeitos fixos, possui significância estatística em todas as variáveis.
Em um modelo de efeitos fixos, se apenas uma única reta estimada (um único coeficiente angular para cada variável explicativa) que é compartilhada por todos os estados.Onde o modelo de efeitos fixos ajusta o nível de início dessa reta para cada estado, o que significa que cada estado tem o seu próprio intercepto. No entanto, ainda resta definir o efeito dos interceptos de cada Uf, como segue:
summary(fixef(reg.ef))
## Estimate Std. Error t-value Pr(>|t|)
## AC 8.345504 0.037642 221.70 < 2.2e-16 ***
## AL 9.138162 0.039781 229.71 < 2.2e-16 ***
## AM 8.612903 0.039682 217.05 < 2.2e-16 ***
## AP 8.813359 0.036998 238.21 < 2.2e-16 ***
## BA 9.373051 0.046071 203.45 < 2.2e-16 ***
## CE 9.285641 0.042877 216.57 < 2.2e-16 ***
## DF 9.341650 0.042479 219.91 < 2.2e-16 ***
## ES 9.008142 0.041791 215.55 < 2.2e-16 ***
## GO 9.634629 0.042968 224.23 < 2.2e-16 ***
## MA 8.928249 0.041730 213.95 < 2.2e-16 ***
## MG 9.852398 0.051912 189.79 < 2.2e-16 ***
## MS 9.861874 0.041251 239.07 < 2.2e-16 ***
## MT 9.438268 0.042628 221.41 < 2.2e-16 ***
## PA 8.935048 0.042076 212.36 < 2.2e-16 ***
## PB 8.887134 0.040714 218.28 < 2.2e-16 ***
## PE 9.117908 0.042615 213.96 < 2.2e-16 ***
## PI 8.829336 0.040877 216.00 < 2.2e-16 ***
## PR 9.304728 0.044592 208.66 < 2.2e-16 ***
## RJ 9.812378 0.047113 208.27 < 2.2e-16 ***
## RN 9.045928 0.041038 220.43 < 2.2e-16 ***
## RO 8.880514 0.041346 214.78 < 2.2e-16 ***
## RR 8.607664 0.036770 234.09 < 2.2e-16 ***
## RS 9.576193 0.043995 217.66 < 2.2e-16 ***
## SC 9.196944 0.043875 209.62 < 2.2e-16 ***
## SE 9.004480 0.039732 226.63 < 2.2e-16 ***
## SP 10.259711 0.087455 117.31 < 2.2e-16 ***
## TO 9.153811 0.040170 227.88 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Inicialmente compara-se o modelo Pooled com a regressão de Efeitos Fixos. Para isto utiliza-se o Teste F ou teste F de Chow. A hipótese nula é de que há igualdade nos interceptos e nas inclinações para todos os indivíduos, caracterizando o modelo de dados agrupados (pooled). Assim, se o p-valor for menor que 0,05, rejeita-se o Pooling e o modelo de Efeitos Fixos é considerado superior.
pooltest(reg.pooled, reg.ef)
##
## F statistic
##
## data: ln_baseline ~ ln_frota + pop + idade_frota
## F = 1845.7, df1 = 26, df2 = 645, p-value < 2.2e-16
## alternative hypothesis: unstability
Como o valor p é inferior a 0,05, o modelo de Efeitos Fixos é melhor do que o modelo Pooled.
No modelo de regressão com efeitos aleatórios, os efeitos individuais das Ufs são considerados variáveis aleatórias, ao contrário do modelo visto anteriormente. Desta forma:
\[ Y_{1i}=\beta_{1i}+\beta_2X_{2it}+\beta_3X_{3it}+u_{it} \] onde $_{1i} $ é variável aleatória com valor médio \(\beta_1\), e o intercepto para a empresa individual é dado por (Gujarati e Porter 2011):
\[ \beta_{1i} = \beta_{1}+\varepsilon_{i} \quad i=1,2,\dots,N \]
em que \(\epsilon_i\) é um termo de erro de média zero e variânvia \(\sigma_{ε}^2\).Assim, as Ufs possuem um valor médio para o intercepto (\(=β_1\) ), sendo que as diferenças refletem o termo de erro \(ε_i\). Obtêm-se: \[ \beta_{1i} = \beta_{1}+\varepsilon_{i} \quad i=1,2,\dots,N \]
O erro composto \(w_{it}\) é formado por \(\epsilon_i\)- elemento de corte transversal dos indivíduos e \(u_{it}\), que é o elemento da série temporal e do corte transversal (Gujarati e Porter 2011). Desta forma, assume-se que os erros individuais não estão correlacionados entre si e também não estão correlacionados entre aquelas unidades de corte transversal e das séries temporais.
O modelo estimado a seguir:
reg.ea=plm(ln_baseline ~ ln_frota + idade_frota + pop,
data=m1, model="random",
random.method = "walhus")
summary(reg.ea)
## Oneway (individual) effect Random Effect Model
## (Wallace-Hussain's transformation)
##
## Call:
## plm(formula = ln_baseline ~ ln_frota + idade_frota + pop, data = m1,
## model = "random", random.method = "walhus")
##
## Balanced Panel: n = 27, T = 25, N = 675
##
## Effects:
## var std.dev share
## idiosyncratic 0.01049 0.10243 0.145
## individual 0.06165 0.24829 0.855
## theta: 0.9178
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -0.1338049 -0.0248231 -0.0017011 0.0268311 0.1326144
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 9.0846e+00 5.8139e-02 156.2563 < 2.2e-16 ***
## ln_frota 8.2430e-01 4.7519e-03 173.4656 < 2.2e-16 ***
## idade_frota 1.8790e-02 1.2419e-03 15.1298 < 2.2e-16 ***
## pop 1.5607e-08 1.9328e-09 8.0746 6.767e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 168.32
## Residual Sum of Squares: 1.2485
## R-Squared: 0.99258
## Adj. R-Squared: 0.99255
## Chisq: 89786.8 on 3 DF, p-value: < 2.22e-16
O modelo de Efeitos Aleatórios assume que as diferenças não observadas entre os estados são aleatórias e não correlacionadas com as variáveis explicativas (ln_frota, idade_frota, pop).
O valor estimado da elasticidade possui um efeito muito próximo do valor estimado no modelo de efeitos fixos, com uma variação de 1% na frota produzindo um aumento de 0,8243% na arrecadação potencial.
A estimativa da frota aparece consistente em todos os modelos estimados, com valores próximos nos três modelos estimados, e significativos em todos, mas o que chama atenção em o efeito da população, que nos efeitos fixos produziu um resultado negativo, mas no modelo pooled e efeitos aleatórios foram positivos.
O teste desenvolvido por Breusch e Pagan (1980) compara as estimativas entre os modelos, verificando se \(\sigma_\alpha^2=0\) , sendo que:
\[ H_0: \sigma_\alpha^2=0\] \[ H_1: \sigma_\alpha^2\neq0 \]
Desta forma, a aceitação da hipótese nula implica que o modelo de dados agrupados (pooled) é preferível.
plmtest(reg.pooled, type="bp")
##
## Lagrange Multiplier Test - (Breusch-Pagan)
##
## data: ln_baseline ~ ln_frota + pop + idade_frota
## chisq = 5915.4, df = 1, p-value < 2.2e-16
## alternative hypothesis: significant effects
Como o p valor foi inferior a 0,05 o modelo de Efeitos Aleatórios é superior ao Pooled.
O teste de Hausmann (Hausman 1978) efetua a especificação dos modelos de Efeito Fixo e de Efeitos Aleatórios, sendo que se o teste rejeitar a hipótese nula, o modelo de Efeitos Fixos é o mais adequado.
\[ H_0: \alpha_i \ \textrm{não são correlacionados com}X_{it} \] \[ H_1: \alpha_i \ \textrm{são correlacionados com}X_{it} \] Na hipótese alternativa, o modelo de Efeitos Aleatórios é inconsistente (enviesado) devido à correlação entre os efeitos fixos dos estados e as variáveis independentes. O modelo de Efeitos Fixos é o correto.
phtest(reg.ef,reg.ea)
##
## Hausman Test
##
## data: ln_baseline ~ ln_frota + idade_frota + pop
## chisq = 445.09, df = 3, p-value < 2.2e-16
## alternative hypothesis: one model is inconsistent
Como o valor-p é inferior a 0,05, onde se rejeita a hipótese nula, onde existe evidência de que existe correlação entre as características não observadas dos estados e suas populações/frotas, portanto, o modelo de Efeitos Fixos foi considerado superior ao modelo de Efeitos Aleatórios.
%%%%%%%%%%%%%%% \[EF>Pooled\\ EA>Pooled\\ EF>EA\]
A dependência cross-sectional se apresenta em panieis com longas séries de tempo. A hipótese nula é de que os resíduos através dos indivíduos não estão correlacionados. Em termos de nossa amostra, significa que um choque inesperado na arrecadação de IPVA do Ceará não possui correlação com um choque ocorrido em São Paulo ou em Minas Gerais.
Como resultado, nossa regressão rejeita a hipótese nula do teste de Pesaran (2015):
pcdtest(reg.ef, test="cd")
##
## Pesaran CD test for cross-sectional dependence in panels
##
## data: ln_baseline ~ ln_frota + idade_frota + pop
## z = 19.284, p-value < 2.2e-16
## alternative hypothesis: cross-sectional dependence
A rejeição da hipotese nula mostra ques os resíduos do modelo sofrem de dependência espacial, isso provavelmente ocorre pela falta de heterogeneidade entre as UFs, devido a escala de depreciação e participação etária da frota ter sido construida sobre uma escala comum para todos os estados nesse exercício empiríco. Onde a única metrica que varia entre os estados é a aliquota da frota e o próprio quantitativo da frota.
A presença de dependência transversal não invalida os coeficientes encontrados no modelo de Efeitos Fixos (eles continuam não enviesados), mas ela invalida os erros-padrão tradicionais. Os erros-padrão usuais do tendem a ficar subestimados, o que inflaciona artificialmente as estatísticas \(t\) e faz com que as variáveis pareçam mais significativas do que realmente são.
shapiro.test(reg.ef$residuals)
##
## Shapiro-Wilk normality test
##
## data: reg.ef$residuals
## W = 0.99557, p-value = 0.05155
O teste de normalidade de Shapiro-Wilk aplicado ao modelo de efeitos fixos tem como hipótese nula que os resíduos possuem distribuição normal, portanto, com o valor-p do teste em 0,0515 não rejeitamos a hipótese nula, assim, os resíduos seguem uma distribuição normal.
A normalidade dos resíduos garante que os testes de hipótese (\(t\) e \(F\)) e os intervalos de confiança calculados para os coeficientes são perfeitamente válidos para inferência nos resultados estimados.As propriedades assintóticas do estimador são preservadas, confirmando que o modelo não sofre de distorções causadas por outliers extremos ou assimetria na variabilidade não explicada da arrecadação potencial de IPVA, que baliza o resultado do teste de Pesaran.
Abaixo o teste para homocedasticidade (variância constante) dos resíduos de Breusch-Pagan (1979):
bptest(reg.ef)
##
## studentized Breusch-Pagan test
##
## data: reg.ef
## BP = 42.461, df = 3, p-value = 3.203e-09
O valor p associado ao teste é muito inferior a um valor de referência padrão (0,05), o que sugere que há evidência estatisticamente significativa para rejeitar a hipótese nula de homocedasticidade dos resíduos. Portanto, os resíduos do modelo de efeitos fixos sofrem de heterocedasticidade, o que implica que a variabilidade não explicada da arrecadação potencial de IPVA não é uniforme. Isso levanta uma curiosidade sobre a falta de heterogeneidade que foi comentado no teste de Pesaran, o que nos leva a supor que a varibilidade da frota e população tende a apresentar uma volatilidade maior em termos absolutos em estados como Minas Gerais e São Paulo e uma dispersão menor em termos absolutos em estados como o Acre ou Amapá.
Assim como a dependência transversal detectada com o teste de Pesaran, a heterocedasticidade não enviesa os coeficientes (as estimativas de impacto continuam corretas), mas ela invalida os erros-padrão tradicionais, tornando os testes \(t\) e os intervalos de confiança pouco confiáveis (geralmente gerando falsos positivos de significância, por exemplo).
Para corrigir tais distorções e garantir a validade das inferências, os erros-padrão foram corrigidos utilizando a matriz de covariância robusta de Arellano (1987).
coeftest(reg.ef, vcovHC(reg.ef, method = "arellano", cluster = "group"))
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## ln_frota 8.2471e-01 1.0452e-02 78.9072 <2e-16 ***
## idade_frota 2.2115e-02 2.2313e-03 9.9110 <2e-16 ***
## pop -5.2072e-09 4.8093e-09 -1.0827 0.2793
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Os resultados robustos finais apontam que o tamanho da frota (ln_frota) e a idade média da frota (idade_frota) são os determinantes estatisticamente significativos da arrecadação potencial, com impactos positivos de \(0,82\%\) (elasticidade) e \(2,24\%\) por ano de envelhecimento, respectivamente.
A interpretação do valor estimado para idade da frota decorre de uma transformação matemática necessária quando interpretamos um modelo onde a variável dependente está em logaritmo (\(\ln(Y)\)) e a variável independente está em seu nível normal (\(X\)). A forma exata para encontrar a variação percentual é \(\text{Variação Percentual} = (e^{\beta} - 1) \times 100\), substituindo o coeficiente (\(\beta = 0,022115\)), temos, \(\text{Variação Percentual} = (e^{0,022115} - 1) \times 100\approx \mathbf{2,24\%}\).
Essa relação pode parecer contraintuitiva (aumentar a idade da frota vai aumentar a arrecadação potencial, sendo que a frota é isenta a partir de 20 anos). Isso apresenta a diferença entre as bases de dados, a arrecadação potencial foi construida em cima de um valor de depreciação, distribuição etária e valor de mercado fixos para UFs (ou seja, assume-se que \(17\%\) da frota sempre terá mais de 21 anos e gerará isenção, e que as frotas mais novas sempre arrecadarão faixas fixas) e anos e a comparação com a idade média real da frota feita a partir dos dados do Senatran. Assim, o que possivelmente está acontecendo é que como as bases de dados não se conectam, mas possuem uma forte tendência de crescimento ao longo de 25 anos. A arrecadação potencial cresce ano a ano porque o volume absoluto da frota nacional expandiu nas últimas duas décadas e a idade média da frota real brasileira também apresentou uma tendência histórica de crescimento e envelhecimento gradual ao longo das últimas décadas (especialmente após períodos de crise econômica).
Mesmo no modelo de Efeitos Fixos (que remove as diferenças fixas entre estados), o coeficiente positivo da idade_frota pode estar funcionando como uma medida de tendência temporal. Portanto, o sinal positivo evidencia que os períodos de incremento na idade média real observada coincidem cronologicamente com as trajetórias de expansão da escala absoluta das frotas estaduais, capturando a tendência de crescimento de longo prazo da base tributável agregada que não foi totalmente absorvida pelas demais variáveis do modelo.
A população do estado, quando corrigida por choques transversais e heterocedasticidade, não apresentou efeito estatisticamente relevante (\(p = 0,2793\)), o que resolve o problema interpretativo de que o aumento na população reduz a arrecadação potencial.
A hipótese nula do teste de correlação serial do teste Breusch-Godfrey/Wooldridge (Breusch 1978) é a de que não se encontra esta característica na série.
Abaixo o resultado do teste, sendo que rejeitou a hipótese nula, ou seja, há problemas de correlação serial nos dados, pois o p-value é inferior a 0,05.
pbgtest(reg.ef)
##
## Breusch-Godfrey/Wooldridge test for serial correlation in panel models
##
## data: ln_baseline ~ ln_frota + idade_frota + pop
## chisq = 518.75, df = 25, p-value < 2.2e-16
## alternative hypothesis: serial correlation in idiosyncratic errors
A autocorrelação no painel é causado por inércia ou efeito memoória, possivelmente pela interpretação que fizemos da relação entre o crescimento ao longo do tempo da idade média da frota e da arrecadação potencial.
A consequência econométrica da autocorrelação serial faz com que os erros-padrão tradicionais fiquem severamente subestimados (falsos positivos de significância) e invalida testes \(t\) convencionais. Portanto, a solução dada pela matriz de covariância de Arellano corrigi simultaneamente os problemas de eterocedasticidade, autocorrelação serial e dependência transversal nos resíduos, garantindo a robustez e a validade estatística das inferências finais.
Nesse exercício o diferencial em relação ao modelo anterior será dado pelo uso da variável controle (categoria de veículo).
rm(list = ls())
m1 <- read_excel("C:/Users/kassy/OneDrive - caen.ufc.br/Consultoria/CNT 2026/convocaopara2provaprocessoseletivoanalistaemeco/Dados painel_CNT.xlsx","Valores_2")
m1=pdata.frame(m1, index = c("ESTADO","ANO"))
## Warning in pdata.frame(m1, index = c("ESTADO", "ANO")): duplicate couples (id-time) in resulting pdata.frame
## to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
head(m1)
## UF ESTADO ANO AnoUF Categoria Chave
## AC-2001 Acre AC 2001 2001AC Automóvel AC2001Automóvel
## AC-2001.1 Acre AC 2001 2001AC Caminhão AC2001Caminhão
## AC-2001.2 Acre AC 2001 2001AC Moto AC2001Moto
## AC-2001.3 Acre AC 2001 2001AC Ônibus AC2001Ônibus
## AC-2002 Acre AC 2002 2002AC Automóvel AC2002Automóvel
## AC-2002.1 Acre AC 2002 2002AC Caminhão AC2002Caminhão
## Arrecadação.Baseline Arrecadação.Cenário.2...Isenta.até.5.anos
## AC-2001 22613710 16352290.1
## AC-2001.1 12050563 8713930.9
## AC-2001.2 1187294 858549.2
## AC-2001.3 1057995 765051.0
## AC-2002 24709784 17867991.1
## AC-2002.1 13602289 9836005.7
## Arrecadação.Cenário.3...Isenta.até.10.anos Variação.Cen.2.vs.Baseline
## AC-2001 10182437.3 -6261419.5
## AC-2001.1 5426093.5 -3336632.2
## AC-2001.2 534611.6 -328745.2
## AC-2001.3 476391.0 -292944.0
## AC-2002 11126251.9 -6841793.3
## AC-2002.1 6124800.3 -3766283.4
## Variação.Cen.3.vs.Baseline Idade.Média.da.frota Frota pop
## AC-2001 -12431272.3 7.060154 27252 574355
## AC-2001.1 -6624469.6 7.060154 3417 574355
## AC-2001.2 -652682.9 7.060154 15898 574355
## AC-2001.3 -581604.0 7.060154 425 574355
## AC-2002 -13583532.5 7.236211 29778 586942
## AC-2002.1 -7477488.8 7.236211 3857 586942
arre_baseline=m1$Arrecadação.Baseline
arre_cenario2=m1$Arrecadação.Cenário.2...Isenta.até.5.anos
arre_cenario3=m1$Arrecadação.Cenário.3...Isenta.até.10.anos
idade_frota=m1$Idade.Média.da.frota
pop=m1$pop
frota=m1$Frota
tipo_vei=m1$Categoria
tipo_vei <- as.factor(tipo_vei)
is.factor(tipo_vei)
## [1] TRUE
reg.pooled=plm(arre_baseline ~ frota + pop + idade_frota + tipo_vei,
data=m1, model="pooling")
summary(reg.pooled)
## Pooling Model
##
## Call:
## plm(formula = arre_baseline ~ frota + pop + idade_frota + tipo_vei,
## data = m1, model = "pooling")
##
## Balanced Panel: n = 27, T = 25, N = 2700
##
## Residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -9.16e+09 -2.67e+08 1.10e+07 0.00e+00 3.09e+08 6.63e+09
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) 2.0623e+08 8.3542e+07 2.4686 0.01362 *
## frota 1.5429e+03 1.2221e+01 126.2495 < 2.2e-16 ***
## pop 6.8257e+00 2.7481e+00 2.4837 0.01306 *
## idade_frota -4.6612e+07 7.4813e+06 -6.2305 5.379e-10 ***
## tipo_veiCaminhão 7.3330e+08 5.5647e+07 13.1777 < 2.2e-16 ***
## tipo_veiMoto -7.7626e+08 5.3405e+07 -14.5355 < 2.2e-16 ***
## tipo_veiÔnibus 2.9634e+08 5.6378e+07 5.2563 1.585e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 2.782e+22
## Residual Sum of Squares: 2.4023e+21
## R-Squared: 0.91365
## Adj. R-Squared: 0.91345
## F-statistic: 4748.84 on 6 and 2693 DF, p-value: < 2.22e-16
vif_values <- vif(reg.pooled)
print(vif_values)
## GVIF Df GVIF^(1/(2*Df))
## frota 1.829605 1 1.352629
## pop 1.678993 1 1.295760
## idade_frota 1.248522 1 1.117373
## tipo_vei 1.250325 3 1.037936
Não há multicolinearidade.
reg.ef=plm(arre_baseline ~ frota + pop + idade_frota + tipo_vei,
data=m1, model="within")
summary(reg.ef)
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = arre_baseline ~ frota + pop + idade_frota + tipo_vei,
## data = m1, model = "within")
##
## Balanced Panel: n = 27, T = 25, N = 2700
##
## Residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -9.33e+09 -2.65e+08 1.10e+07 0.00e+00 3.12e+08 6.44e+09
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## frota 1.5392e+03 1.2354e+01 124.5871 < 2.2e-16 ***
## pop -7.5963e+01 3.0909e+01 -2.4576 0.014051 *
## idade_frota -2.7728e+07 1.0541e+07 -2.6306 0.008574 **
## tipo_veiCaminhão 7.2683e+08 5.4553e+07 13.3234 < 2.2e-16 ***
## tipo_veiMoto -7.8065e+08 5.2212e+07 -14.9514 < 2.2e-16 ***
## tipo_veiÔnibus 2.8931e+08 5.5315e+07 5.2303 1.824e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 1.937e+22
## Residual Sum of Squares: 2.2617e+21
## R-Squared: 0.88324
## Adj. R-Squared: 0.88184
## F-statistic: 3362.43 on 6 and 2667 DF, p-value: < 2.22e-16
summary(fixef(reg.ef))
## Estimate Std. Error t-value Pr(>|t|)
## AC 200047209 128442388 1.5575 0.1194738
## AL 383683819 134857765 2.8451 0.0044736 **
## AM 353579131 141837052 2.4929 0.0127323 *
## AP 200486805 123534841 1.6229 0.1047253
## BA 910612489 404427377 2.2516 0.0244280 *
## CE 573731308 241949748 2.3713 0.0177971 *
## DF 339791635 138685786 2.4501 0.0143462 *
## ES 292350586 147487887 1.9822 0.0475593 *
## GO 694657975 188132699 3.6924 0.0002266 ***
## MA 434436159 194996395 2.2279 0.0259690 *
## MG 1578482931 559357277 2.8220 0.0048085 **
## MS 669767571 145919442 4.5900 4.638e-06 ***
## MT 381358976 137556680 2.7724 0.0056035 **
## PA 480743977 223479235 2.1512 0.0315516 *
## PB 341479627 143219318 2.3843 0.0171806 *
## PE 543235387 250564162 2.1680 0.0302431 *
## PI 278787542 133213424 2.0928 0.0364623 *
## PR 222468017 293876300 0.7570 0.4491093
## RJ 1499188871 444176269 3.3752 0.0007481 ***
## RN 331560256 136936220 2.4213 0.0155325 *
## RO 201109047 127432611 1.5782 0.1146475
## RR 224196062 136816238 1.6387 0.1014009
## RS 767474385 296044665 2.5924 0.0095822 **
## SC 134442026 193923838 0.6933 0.4881990
## SE 315795906 133148866 2.3718 0.0177747 *
## SP 3872593402 1237521861 3.1293 0.0017711 **
## TO 268939139 128637647 2.0907 0.0366519 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
pooltest(reg.pooled, reg.ef)
##
## F statistic
##
## data: arre_baseline ~ frota + pop + idade_frota + tipo_vei
## F = 6.3789, df1 = 26, df2 = 2667, p-value < 2.2e-16
## alternative hypothesis: unstability
p-valor menor que 0,05, rejeita-se o Pooling e o modelo de Efeitos Fixos é considerado superior.
reg.ea=plm(arre_baseline ~ frota + pop + idade_frota + tipo_vei,
data=m1, model="random",
random.method = "walhus")
summary(reg.ea)
## Oneway (individual) effect Random Effect Model
## (Wallace-Hussain's transformation)
##
## Call:
## plm(formula = arre_baseline ~ frota + pop + idade_frota + tipo_vei,
## data = m1, model = "random", random.method = "walhus")
##
## Balanced Panel: n = 27, T = 25, N = 2700
##
## Effects:
## var std.dev share
## idiosyncratic 8.487e+17 9.212e+08 0.838
## individual 1.643e+17 4.053e+08 0.162
## theta: 0.5862
##
## Residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -9.33e+09 -2.57e+08 1.71e+07 0.00e+00 3.00e+08 6.42e+09
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 1.9269e+08 1.0440e+08 1.8458 0.06493 .
## frota 1.5350e+03 1.2135e+01 126.4934 < 2.2e-16 ***
## pop 5.5666e+00 5.3908e+00 1.0326 0.30178
## idade_frota -4.3151e+07 8.6852e+06 -4.9683 6.754e-07 ***
## tipo_veiCaminhão 7.1962e+08 5.4476e+07 13.2098 < 2.2e-16 ***
## tipo_veiMoto -7.8555e+08 5.2216e+07 -15.0441 < 2.2e-16 ***
## tipo_veiÔnibus 2.8147e+08 5.5212e+07 5.0980 3.432e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 2.0817e+22
## Residual Sum of Squares: 2.2909e+21
## R-Squared: 0.88995
## Adj. R-Squared: 0.88971
## Chisq: 21778.3 on 6 DF, p-value: < 2.22e-16
plmtest(reg.pooled, type="bp")
##
## Lagrange Multiplier Test - (Breusch-Pagan)
##
## data: arre_baseline ~ frota + pop + idade_frota + tipo_vei
## chisq = 284.7, df = 1, p-value < 2.2e-16
## alternative hypothesis: significant effects
Como o p valor foi inferior a 0,05 o modelo de Efeitos Aleatórios é superior ao Pooled.
phtest(reg.ef,reg.ea)
##
## Hausman Test
##
## data: arre_baseline ~ frota + pop + idade_frota + tipo_vei
## chisq = 12.594, df = 6, p-value = 0.04996
## alternative hypothesis: one model is inconsistent
Como o valor-p é inferior a 0,05, onde se rejeita a hipótese nula, portanto, Efeitos Fixos superior ao Efeitos Aleatórios**.
suppressWarnings(pcdtest(reg.ef, test="cd"))
##
## Pesaran CD test for cross-sectional dependence in panels
##
## data: arre_baseline ~ frota + pop + idade_frota + tipo_vei
## z = 41.098, p-value < 2.2e-16
## alternative hypothesis: cross-sectional dependence
#pcdtest(reg.ef, test="cd")
shapiro.test(reg.ef$residuals)
##
## Shapiro-Wilk normality test
##
## data: reg.ef$residuals
## W = 0.68036, p-value < 2.2e-16
bptest(reg.ef)
##
## studentized Breusch-Pagan test
##
## data: reg.ef
## BP = 785.42, df = 6, p-value < 2.2e-16
pbgtest(reg.ef)
##
## Breusch-Godfrey/Wooldridge test for serial correlation in panel models
##
## data: arre_baseline ~ frota + pop + idade_frota + tipo_vei
## chisq = 2454.9, df = 100, p-value < 2.2e-16
## alternative hypothesis: serial correlation in idiosyncratic errors
Para corrigir as distorções causadas pela correlação serial e heterocedasticade e garantir a validade das inferências, os erros-padrão foram corrigidos utilizando a matriz de covariância robusta de Arellano (1987).
Contudo, a matriz de Arellano não corrige o problema dos erros não seguirem uma distribuição normal, contudo, considerando que nossa amostra é alta (2700 observações) o Teorema do Limite Central garante que em amostras grandes a violação da normalidade não invalida a estimação dos coeficientes. Possivelmente a não normalidade dessa estimação se deve a estarmos usando os dados em nível (valor potencial da arrecadação do IPVA) ao invés da escala logarítmica usada no modelo estimado que não havia categorias de veiculos. O uso dos valores em termos monetários leva a grandes assimetrias de valores, em particular, quando comparamos estados do norte do país com estados do sudeste, em termos de arrecadação.
coeftest(reg.ef, vcovHC(reg.ef, method = "arellano", cluster = "group"))
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## frota 1.5392e+03 6.4143e+01 23.9961 < 2.2e-16 ***
## pop -7.5963e+01 1.6829e+01 -4.5138 6.643e-06 ***
## idade_frota -2.7728e+07 8.2982e+06 -3.3415 0.0008448 ***
## tipo_veiCaminhão 7.2683e+08 2.1661e+08 3.3555 0.0008032 ***
## tipo_veiMoto -7.8065e+08 2.5598e+08 -3.0497 0.0023133 **
## tipo_veiÔnibus 2.8931e+08 1.0605e+08 2.7280 0.0064145 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Como foi determinado que o modelo de Efeitos Fixos é superior ao Polled e de Efeitos Aleatórios, vamos analisa-lo levando em conta que temos uma nova variável (categoria de veiculo) e que agora o efeito da idade da frota foi negativo, como deveria ser esperado.
Analisando os resultados da matriz de Arellano, controlando pelo tamanho da frota, população e tipo de veiculo, cada ano a mais na idade média produz uma redução significativa na arrecadação potencial do estado, na ordem de R$ 27 milhões.
A categoria automóvel foi considerada como baseline nos resultados. Veiculos do tipo Caminhão e ônibus que possuem a mesma alíquota de IPVA, ambos possuem efeito postivo sobre arrecadação, isso pode refletir sobre seu alto valor venal para o cálculo do IPVA.
A categoria moto foi fortemente negativo, ou seja, a categoria arrecada 780,65 milhões a menos do que a de automóveis. Justifica-se pelo valor venal de mercado significativamente menor das motos.
Assim, como no modelo anterior houve efeito positivo do aumento da frota na arrecadação em potencial do IPVA.
Aqui, novamente temos o efeito negativo da população sobre a arrecadação potencial, a explicação para isso seria a ausência de um controle de renda, como PIB per capita, pois, pela especificação adotada se mantivermos a frota constante e mudarmos a demografia, aumentamos a população sem aumentar a proporção de veiculos disponíveis, atuando como uma medida de densidade da frota em relação à população. A limitação sobre não existir a variável PIB per capita se deve a ausência de informações para o período da série adotada, dado que a informação disponível no IBGE é até 2023.
A falta de significância estatística para os interceptos de algumas UFs, indica que a dinâmica da arrecadação nesses estados são explicadas simplesmente pelas variáveis do modelo especificado.
Vamos estimar o modelo para os valores de IPVA arrecadados potencial para os cenários 2 e 3, para verificar as reformas propostas em relação as insenções da frota.
reg.ef2=plm(arre_cenario2 ~ frota + pop + idade_frota + tipo_vei,
data=m1, model="within")
summary(reg.ef2)
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = arre_cenario2 ~ frota + pop + idade_frota + tipo_vei,
## data = m1, model = "within")
##
## Balanced Panel: n = 27, T = 25, N = 2700
##
## Residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -6.75e+09 -1.91e+08 7.97e+06 0.00e+00 2.25e+08 4.66e+09
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## frota 1.1130e+03 8.9335e+00 124.5871 < 2.2e-16 ***
## pop -5.4930e+01 2.2351e+01 -2.4576 0.014051 *
## idade_frota -2.0051e+07 7.6222e+06 -2.6306 0.008574 **
## tipo_veiCaminhão 5.2558e+08 3.9448e+07 13.3234 < 2.2e-16 ***
## tipo_veiMoto -5.6450e+08 3.7756e+07 -14.9514 < 2.2e-16 ***
## tipo_veiÔnibus 2.0921e+08 3.9999e+07 5.2303 1.824e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 1.0128e+22
## Residual Sum of Squares: 1.1826e+21
## R-Squared: 0.88324
## Adj. R-Squared: 0.88184
## F-statistic: 3362.43 on 6 and 2667 DF, p-value: < 2.22e-16
summary(fixef(reg.ef2))
## Estimate Std. Error t-value Pr(>|t|)
## AC 144656938 92878489 1.5575 0.1194738
## AL 277447142 97517538 2.8451 0.0044736 **
## AM 255678021 102564358 2.4929 0.0127323 *
## AP 144974816 89329774 1.6229 0.1047253
## BA 658476643 292447100 2.2516 0.0244280 *
## CE 414873143 174957251 2.3713 0.0177971 *
## DF 245708090 100285634 2.4501 0.0143462 *
## ES 211402802 106650557 1.9822 0.0475593 *
## GO 502316909 136041389 3.6924 0.0002266 ***
## MA 314146870 141004624 2.2279 0.0259690 *
## MG 1141423112 404479080 2.8220 0.0048085 **
## MS 484318310 105516392 4.5900 4.638e-06 ***
## MT 275766016 99469162 2.7724 0.0056035 **
## PA 347632702 161600964 2.1512 0.0315516 *
## PB 246928700 103563894 2.3843 0.0171806 *
## PE 392821115 181186454 2.1680 0.0302431 *
## PI 201595175 96328492 2.0928 0.0364623 *
## PR 160869738 212506068 0.7570 0.4491093
## RJ 1084084466 321190080 3.3752 0.0007481 ***
## RN 239755864 99020498 2.4213 0.0155325 *
## RO 145424768 92148305 1.5782 0.1146475
## RR 162119312 98933738 1.6387 0.1014009
## RS 554971475 214074043 2.5924 0.0095822 **
## SC 97216912 140229043 0.6933 0.4881990
## SE 228356442 96281809 2.3718 0.0177747 *
## SP 2800326518 894869387 3.1293 0.0017711 **
## TO 194473657 93019684 2.0907 0.0366519 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Já foi estimado a Matriz de Aurellano antecipando os problemas que tivemos com as outras estimações.
coeftest(reg.ef2, vcovHC(reg.ef, method = "arellano", cluster = "group"))
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## frota 1.1130e+03 6.4143e+01 17.3519 < 2.2e-16 ***
## pop -5.4930e+01 1.6829e+01 -3.2640 0.001112 **
## idade_frota -2.0051e+07 8.2982e+06 -2.4163 0.015747 *
## tipo_veiCaminhão 5.2558e+08 2.1661e+08 2.4264 0.015314 *
## tipo_veiMoto -5.6450e+08 2.5598e+08 -2.2053 0.027520 *
## tipo_veiÔnibus 2.0921e+08 1.0605e+08 1.9726 0.048641 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Para o cenário 2 onde a isenção é para veiculos com até 5 anos, a idade da frota continuo possuindo o mesmo efeito negativo, mudando a ordem da intensidade, isso pode indicar o efeito da depreciação no valor venal e a redução na arrecadação decorrente disso. Considerando as outras variáveis, todas mantiveram a mesma direção de choque.
Deve ser destacado novamente, uma limitação da nossa análise. Devido a ausência de heterogeneidade na depreciação, participação etária e valor de mercado entre as UFs e anos para a construção do IPVA potencial arrecadado, é produzido uma variação de arrecadação percentual constante para todos os estados e anos em relação aos cenário 2 e 3e isso se apresenta também na análise de regressão.
A grande diferença que o cenário 3 vai atestar é a ausencia de significância estatística na matriz de Aurellano, contudo todos os efeitos possuem o mesmo direcionameto.
reg.ef3=plm(arre_cenario3 ~ frota + pop + idade_frota + tipo_vei,
data=m1, model="within")
summary(reg.ef3)
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = arre_cenario3 ~ frota + pop + idade_frota + tipo_vei,
## data = m1, model = "within")
##
## Balanced Panel: n = 27, T = 25, N = 2700
##
## Residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -4.20e+09 -1.19e+08 4.96e+06 0.00e+00 1.40e+08 2.90e+09
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## frota 6.9306e+02 5.5628e+00 124.5871 < 2.2e-16 ***
## pop -3.4204e+01 1.3918e+01 -2.4576 0.014051 *
## idade_frota -1.2485e+07 4.7463e+06 -2.6306 0.008574 **
## tipo_veiCaminhão 3.2728e+08 2.4564e+07 13.3234 < 2.2e-16 ***
## tipo_veiMoto -3.5151e+08 2.3510e+07 -14.9514 < 2.2e-16 ***
## tipo_veiÔnibus 1.3027e+08 2.4907e+07 5.2303 1.824e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 3.9273e+21
## Residual Sum of Squares: 4.5855e+20
## R-Squared: 0.88324
## Adj. R-Squared: 0.88184
## F-statistic: 3362.43 on 6 and 2667 DF, p-value: < 2.22e-16
summary(fixef(reg.ef3))
## Estimate Std. Error t-value Pr(>|t|)
## AC 90076692 57834675 1.5575 0.1194738
## AL 172764066 60723374 2.8451 0.0044736 **
## AM 159208612 63865987 2.4929 0.0127323 *
## AP 90274632 55624919 1.6229 0.1047253
## BA 410028019 182104417 2.2516 0.0244280 *
## CE 258338113 108944449 2.3713 0.0177971 *
## DF 153000418 62447044 2.4501 0.0143462 *
## ES 131638796 66410429 1.9822 0.0475593 *
## GO 312788631 84711860 3.6924 0.0002266 ***
## MA 195616687 87802426 2.2279 0.0259690 *
## MG 710754835 251865815 2.8220 0.0048085 **
## MS 301581050 65704194 4.5900 4.638e-06 ***
## MT 171717242 61938634 2.7724 0.0056035 **
## PA 216468040 100627599 2.1512 0.0315516 *
## PB 153760482 64488390 2.3843 0.0171806 *
## PE 244606495 112823323 2.1680 0.0302431 *
## PI 125531667 59982964 2.0928 0.0364623 *
## PR 100172270 132325790 0.7570 0.4491093
## RJ 675050530 200002436 3.3752 0.0007481 ***
## RN 149294015 61659254 2.4213 0.0155325 *
## RO 90554814 57379996 1.5782 0.1146475
## RR 100950370 61605229 1.6387 0.1014009
## RS 345576198 133302155 2.5924 0.0095822 **
## SC 60536176 87319478 0.6933 0.4881990
## SE 142195688 59953895 2.3718 0.0177747 *
## SP 1743740418 557227848 3.1293 0.0017711 **
## TO 121097156 57922596 2.0907 0.0366519 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
coeftest(reg.ef3, vcovHC(reg.ef, method = "arellano", cluster = "group"))
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## frota 6.9306e+02 6.4143e+01 10.8049 <2e-16 ***
## pop -3.4204e+01 1.6829e+01 -2.0325 0.0422 *
## idade_frota -1.2485e+07 8.2982e+06 -1.5046 0.1325
## tipo_veiCaminhão 3.2728e+08 2.1661e+08 1.5109 0.1309
## tipo_veiMoto -3.5151e+08 2.5598e+08 -1.3732 0.1698
## tipo_veiÔnibus 1.3027e+08 1.0605e+08 1.2283 0.2194
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ARELLANO, M. Computing robust standard errors for within-groups estimators. Oxford Bulletin of Economics and Statistics. v.49, pp. 431-434, 1987.
BRASIL. Ministério dos Transportes. Secretaria Nacional de Trânsito (SENATRAN). Estatísticas – Frota de Veículos – SENATRAN. Brasília, DF. Atualizado em 13 fev. 2026. Disponível em: https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-Senatran/estatisticas-frota-de-veiculos-senatran.
Breusch, Trevor S. 1978. «Testing for autocorrelation in dynamic linear models». Australian Economic Papers 17 (31): 334–55.
Breusch, Trevor S, e Adrian R Pagan. 1979. «A simple test for heteroscedasticity and random coefficient variation». Econometrica: Journal of the Econometric Society, 1287–94.
Breusch, Trevor Stanley, e Adrian Rodney Pagan. 1980. «The Lagrange multiplier test and its applications to model specification in econometrics». The Review of Economic Studies 47 (1): 239–53.
Gujarati, Damodar N., e Down C Porter. 2011. Econometria básica. 5a ed. New York: Mc Graw Hill. https://doi.org/10.1126/science.1186874.
INSTITUTO BRASILEIRO DE GEOGRAFIA E ESTATÍSTICA (IBGE). Sistema IBGE de Recuperação Automática – SIDRA. Dados de população residente obtidos nas tabelas nº 136 (Censo Demográfico 2010), nº 4709 (Censo Demográfico 2022), nº 7436 (PNAD Contínua 2023), nº 6579 (Estimativas Populacionais de 2001-2006, 2008, 2009, 2011-2021 e 2024-2025) e nº 793 (Contagem da População de 2007). Rio de Janeiro: IBGE, [s.d.]. Disponível em: https://sidra.ibge.gov.br.
Hausman, Jerry A. 1978. «Specification tests in econometrics». Econometrica: Journal of the econometric society, 1251–71.
Pesaran, M Hashem. 2015. «Testing weak cross-sectional dependence in large panels». Econometric Reviews 34 (6-10): 1089–1117.
Wooldridge, Jeffrey M. 2010. Econometric analysis of cross section and panel data. MIT Press.