Carregando bibliotecas

# "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.

Carregando informações

m1 <- read_excel("C:/Users/kassy/OneDrive - caen.ufc.br/Consultoria/CNT 2026/convocaopara2provaprocessoseletivoanalistaemeco/Dados painel_CNT.xlsx","Valores_1")

Definição das variáveis

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)

Analise de Correlação

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

  1. 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);

  2. regressão considerando que os coeficientes angulares são constantes e o intercepto varia entre os indivíduos (EFEITOS FIXOS);

  3. 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).

Regressão Polled

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

Modelo Pooled x Modelo de Efeitos Fixos

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.

Modelo de Efeitos Aleatórios

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.

Modelo Pooled x Modelo de Efeitos Aleatórios

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.

Modelo Efeitos Fixos x Modelo de Efeitos Aleatórios

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\]

Alguns testes para o modelo

Testando dependência transversal

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.

Normalidade dos resíduos

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.

Hocedasticidade dos resíduos

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.

Testando correlação serial

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.

Estimativa média da frota e o efeito sobre a arrecadação potencial contralada pelo tamanho da frota e sua composição por categoria de veículo

Nesse exercício o diferencial em relação ao modelo anterior será dado pelo uso da variável controle (categoria de veículo).

Carregando dados

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

Regressão Pooled

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.

Efeitos Fixos

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.

Efeitos Aleatórios

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

poled x ea

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.

ef x ea

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

Análise dos Resultados

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.

Robustez

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.

Cenário 2

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.

Cenário 3

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

Referências

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.