library(tidyverse)
library(ggplot2)
library(caret)
library(leaps)
options(scipen = 4)
dados <- read.csv("../dados/eleicoes2014.csv", encoding = "latin1")
Para análisar se um modelo de regressão múltipla com todas as variáveis é plausível, estimei a proporção de quanto da variação da variável alvo número de votos o modelo consegue explicar (R²), também considerei o p-valor associado aos atributos. Caso o p-valor seja menor que 0,05, rejeita-se H0 com um nível de confiança de 95%, assim conclui-se que a variável explicativa tem correlação com a variável resposta.
#gerando modelo de regressão múltipla
reg_linear = lm(votos ~ sequencial_candidato + numero_cadidato + UF + partido
+ setor_economico_receita + quantidade_doacoes+ quantidade_doadores + total_receita + media_receita
+ recursos_de_outros_candidatos.comites + recursos_de_partidos + recursos_de_pessoas_físicas
+ recursos_de_pessoas_juridicas + recursos_proprios + quantidade_despesas
+ quantidade_fornecedores + total_despesa + media_despesa + setor_economico_despesa
+ idade + sexo + grau + estado_civil, data = dados)
summary(reg_linear)
Call:
lm(formula = votos ~ sequencial_candidato + numero_cadidato +
UF + partido + setor_economico_receita + quantidade_doacoes +
quantidade_doadores + total_receita + media_receita + recursos_de_outros_candidatos.comites +
recursos_de_partidos + recursos_de_pessoas_físicas + recursos_de_pessoas_juridicas +
recursos_proprios + quantidade_despesas + quantidade_fornecedores +
total_despesa + media_despesa + setor_economico_despesa +
idade + sexo + grau + estado_civil, data = dados)
Residuals:
Min 1Q Median 3Q Max
-244160 -22636 -19 25046 880867
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value
(Intercept) 6.295e+05 4.675e+05 1.347
sequencial_candidato -5.336e-08 2.601e-07 -0.205
numero_cadidato -1.925e+02 1.765e+02 -1.090
UFAL 4.332e+04 7.001e+04 0.619
UFAM 8.290e+03 5.936e+04 0.140
UFAP 1.707e+04 9.790e+04 0.174
UFBA 4.130e+04 5.213e+04 0.792
UFCE 3.116e+02 5.819e+04 0.005
UFDF 1.001e+03 5.283e+04 0.019
UFES 2.672e+04 4.902e+04 0.545
UFGO 1.977e+04 4.752e+04 0.416
UFMA 3.495e+04 5.369e+04 0.651
UFMG 3.890e+04 3.670e+04 1.060
UFMS -1.385e+04 4.556e+04 -0.304
UFMT 2.712e+04 5.567e+04 0.487
UFPA 4.579e+04 4.223e+04 1.084
UFPB 1.181e+04 4.470e+04 0.264
UFPE 1.293e+05 6.430e+04 2.011
UFPI 5.857e+04 4.493e+04 1.303
UFPR 3.084e+04 3.569e+04 0.864
UFRJ -6.537e+03 3.511e+04 -0.186
UFRN 6.870e+03 5.241e+04 0.131
UFRO 8.092e+03 4.574e+04 0.177
UFRR -5.039e+04 6.544e+04 -0.770
UFRS 3.317e+04 3.595e+04 0.923
UFSC 2.855e+04 4.565e+04 0.625
UFSE 2.656e+04 5.373e+04 0.494
UFSP 5.853e+04 3.639e+04 1.608
UFTO NA NA NA
partidoPC do B 7.503e+05 7.096e+05 1.057
partidoPDT -2.769e+05 2.323e+05 -1.192
partidoPHS 6.689e+04 1.120e+05 0.597
partidoPMDB -2.268e+05 1.788e+05 -1.268
partidoPMN 9.399e+04 1.541e+05 0.610
partidoPP -2.938e+05 2.495e+05 -1.178
partidoPPL 4.494e+05 5.199e+05 0.864
partidoPPS -3.825e+04 5.040e+04 -0.759
partidoPR -6.532e+04 6.013e+04 -1.086
partidoPRB -1.875e+05 2.710e+05 -0.692
partidoPROS 1.233e+06 1.153e+06 1.069
partidoPRP 3.254e+05 3.428e+05 0.949
partidoPSB 2.780e+05 2.680e+05 1.037
partidoPSC -1.135e+05 9.885e+04 -1.149
partidoPSD 5.796e+05 5.325e+05 1.088
partidoPSDB 3.798e+05 3.555e+05 1.068
partidoPSDC -2.410e+04 9.713e+04 -0.248
partidoPSL -2.133e+05 1.514e+05 -1.408
partidoPSOL 4.901e+05 4.432e+05 1.106
partidoPT -2.532e+05 2.138e+05 -1.184
partidoPTB -2.231e+05 1.993e+05 -1.119
partidoPTC 1.917e+05 2.010e+05 0.954
partidoPT do B 7.980e+05 7.967e+05 1.002
partidoPTN -1.279e+05 1.175e+05 -1.089
partidoPV 3.096e+05 3.199e+05 0.968
partidoSD 1.004e+06 9.244e+05 1.086
setor_economico_receitaEdição integrada à impressão de cadastros, listas e outros produtos gráficos 7.194e+04 6.059e+04 1.187
setor_economico_receitaFabricação de águas envasadas -1.535e+05 9.746e+04 -1.575
setor_economico_receitaFabricação de azulejos e pisos 2.181e+02 8.043e+04 0.003
setor_economico_receitaImpressão de material para outros usos 4.240e+04 8.809e+04 0.481
setor_economico_receita#NULO 6.251e+03 1.104e+04 0.566
quantidade_doacoes -2.092e+02 1.383e+02 -1.513
quantidade_doadores 3.692e+02 1.929e+02 1.914
total_receita 1.263e+00 8.374e-01 1.509
media_receita 1.635e-01 3.870e-01 0.422
recursos_de_outros_candidatos.comites -1.069e+00 8.359e-01 -1.279
recursos_de_partidos -1.270e+00 8.409e-01 -1.511
recursos_de_pessoas_físicas -1.294e+00 8.423e-01 -1.536
recursos_de_pessoas_juridicas -1.272e+00 8.410e-01 -1.512
recursos_proprios -1.282e+00 8.386e-01 -1.528
quantidade_despesas 7.908e+01 1.604e+01 4.931
quantidade_fornecedores -5.044e+01 2.138e+01 -2.359
total_despesa -7.031e-03 2.208e-02 -0.318
media_despesa 1.028e+01 4.545e+00 2.262
setor_economico_despesaAtividades de organizações políticas -1.402e+05 9.787e+04 -1.432
setor_economico_despesaAtividades de franqueadas e permissionárias do Correio Nacional -2.117e+05 1.255e+05 -1.687
setor_economico_despesaAtividades do Correio Nacional -1.854e+05 1.259e+05 -1.472
setor_economico_despesaComércio varejista de artigos de papelaria -1.841e+05 1.347e+05 -1.366
setor_economico_despesaComércio varejista de combustíveis para veículos automotores -1.705e+05 9.968e+04 -1.710
setor_economico_despesaComércio varejista de cosméticos, produtos de perfumaria e de higiene pessoal -1.935e+05 1.248e+05 -1.550
setor_economico_despesaComércio varejista de mercadorias em geral, com predominância de produtos alimentícios - supermercados -2.186e+05 1.089e+05 -2.007
setor_economico_despesaConcessionárias de rodovias, pontes, túneis e serviços relacionados -7.507e+04 1.282e+05 -0.585
setor_economico_despesaFabricação de letras, letreiros e placas de qualquer material, exceto luminosos -1.781e+05 1.359e+05 -1.311
setor_economico_despesaFabricação de produtos de limpeza e polimento -1.749e+05 1.267e+05 -1.380
setor_economico_despesaImpressão de livros, revistas e outras publicações periódicas -1.942e+05 1.041e+05 -1.865
setor_economico_despesaImpressão de material para outros usos -1.921e+05 1.009e+05 -1.903
setor_economico_despesaImpressão de material para uso publicitário -1.654e+05 1.020e+05 -1.622
setor_economico_despesaInstalação de painéis publicitários -1.965e+05 1.279e+05 -1.537
setor_economico_despesa#NULO -1.668e+05 9.508e+04 -1.754
idade 2.432e+02 4.116e+02 0.591
sexoMASCULINO 1.239e+04 1.359e+04 0.911
grauENSINO FUNDAMENTAL INCOMPLETO -7.778e+03 4.998e+04 -0.156
grauENSINO MÉDIO COMPLETO 1.025e+04 3.351e+04 0.306
grauSUPERIOR COMPLETO 1.163e+04 3.046e+04 0.382
grauSUPERIOR INCOMPLETO -1.863e+04 3.356e+04 -0.555
estado_civilDIVORCIADO(A) -6.107e+03 1.480e+04 -0.413
estado_civilSEPARADO(A) JUDICIALMENTE -1.535e+04 3.623e+04 -0.424
estado_civilSOLTEIRO(A) -2.488e+04 1.270e+04 -1.959
estado_civilVIÚVO(A) -5.010e+04 3.605e+04 -1.390
Pr(>|t|)
(Intercept) 0.1791
sequencial_candidato 0.8376
numero_cadidato 0.2764
UFAL 0.5365
UFAM 0.8890
UFAP 0.8617
UFBA 0.4288
UFCE 0.9957
UFDF 0.9849
UFES 0.5860
UFGO 0.6776
UFMA 0.5155
UFMG 0.2900
UFMS 0.7613
UFMT 0.6265
UFPA 0.2791
UFPB 0.7917
UFPE 0.0452 *
UFPI 0.1934
UFPR 0.3882
UFRJ 0.8524
UFRN 0.8958
UFRO 0.8597
UFRR 0.4419
UFRS 0.3569
UFSC 0.5322
UFSE 0.6215
UFSP 0.1088
UFTO NA
partidoPC do B 0.2912
partidoPDT 0.2342
partidoPHS 0.5509
partidoPMDB 0.2056
partidoPMN 0.5423
partidoPP 0.2398
partidoPPL 0.3880
partidoPPS 0.4485
partidoPR 0.2782
partidoPRB 0.4895
partidoPROS 0.2858
partidoPRP 0.3432
partidoPSB 0.3004
partidoPSC 0.2516
partidoPSD 0.2773
partidoPSDB 0.2862
partidoPSDC 0.8042
partidoPSL 0.1600
partidoPSOL 0.2697
partidoPT 0.2373
partidoPTB 0.2639
partidoPTC 0.3409
partidoPT do B 0.3174
partidoPTN 0.2772
partidoPV 0.3339
partidoSD 0.2785
setor_economico_receitaEdição integrada à impressão de cadastros, listas e outros produtos gráficos 0.2360
setor_economico_receitaFabricação de águas envasadas 0.1162
setor_economico_receitaFabricação de azulejos e pisos 0.9978
setor_economico_receitaImpressão de material para outros usos 0.6306
setor_economico_receita#NULO 0.5717
quantidade_doacoes 0.1313
quantidade_doadores 0.0565 .
total_receita 0.1324
media_receita 0.6730
recursos_de_outros_candidatos.comites 0.2019
recursos_de_partidos 0.1319
recursos_de_pessoas_físicas 0.1256
recursos_de_pessoas_juridicas 0.1316
recursos_proprios 0.1275
quantidade_despesas 0.00000134 ***
quantidade_fornecedores 0.0189 *
total_despesa 0.7504
media_despesa 0.0244 *
setor_economico_despesaAtividades de organizações políticas 0.1530
setor_economico_despesaAtividades de franqueadas e permissionárias do Correio Nacional 0.0926 .
setor_economico_despesaAtividades do Correio Nacional 0.1420
setor_economico_despesaComércio varejista de artigos de papelaria 0.1728
setor_economico_despesaComércio varejista de combustíveis para veículos automotores 0.0882 .
setor_economico_despesaComércio varejista de cosméticos, produtos de perfumaria e de higiene pessoal 0.1221
setor_economico_despesaComércio varejista de mercadorias em geral, com predominância de produtos alimentícios - supermercados 0.0456 *
setor_economico_despesaConcessionárias de rodovias, pontes, túneis e serviços relacionados 0.5587
setor_economico_despesaFabricação de letras, letreiros e placas de qualquer material, exceto luminosos 0.1909
setor_economico_despesaFabricação de produtos de limpeza e polimento 0.1685
setor_economico_despesaImpressão de livros, revistas e outras publicações periódicas 0.0631 .
setor_economico_despesaImpressão de material para outros usos 0.0580 .
setor_economico_despesaImpressão de material para uso publicitário 0.1058
setor_economico_despesaInstalação de painéis publicitários 0.1253
setor_economico_despesa#NULO 0.0805 .
idade 0.5551
sexoMASCULINO 0.3628
grauENSINO FUNDAMENTAL INCOMPLETO 0.8764
grauENSINO MÉDIO COMPLETO 0.7599
grauSUPERIOR COMPLETO 0.7029
grauSUPERIOR INCOMPLETO 0.5792
estado_civilDIVORCIADO(A) 0.6802
estado_civilSEPARADO(A) JUDICIALMENTE 0.6720
estado_civilSOLTEIRO(A) 0.0510 .
estado_civilVIÚVO(A) 0.1656
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 77630 on 307 degrees of freedom
(3748 observations deleted due to missingness)
Multiple R-squared: 0.4626, Adjusted R-squared: 0.2945
F-statistic: 2.752 on 96 and 307 DF, p-value: 1.973e-11
O modelo possui um R² = 0.4626, ou seja, 53.74% da variação em número de votos não é explicada. Também existem muitas variáveis com o p-valor muito elevado. Assim, considerando que nem metade da variação de números de votos é explicada e pelo p-valor elevado de muitas variáveis, concluo não ser plausível um modelo de regressão múltipla com todas as variáveis.
Nem todas as variáveis são úteis para o modelo de regressão, como já demostrado na questão anterior por meio do p-valor. Para determinar se existem variáveis explicativas redundantes analisei a correlação linear entre pares.
#removendo variáveis desnecessárias
dados_tratados <- dados %>% select(-nome, -sequencial_candidato, -numero_cadidato, -cargo, -setor_economico_receita, -setor_economico_despesa, -UF)
#Convertendo variáveis categoricas em numéricas
dados_tratados$sexo <- as.numeric(dados_tratados$sexo)
dados_tratados$grau <- as.numeric(dados_tratados$grau)
dados_tratados$estado_civil <-as.numeric(dados_tratados$estado_civil)
dados_tratados$partido <-as.numeric(dados_tratados$partido)
#Calculando correlações
corr = cor(dados_tratados[, 1:19])
round(corr, 2)
partido quantidade_doacoes quantidade_doadores total_receita media_receita recursos_de_outros_candidatos.comites
partido 1.00 0.03 0.04 -0.04 -0.08 NA
quantidade_doacoes 0.03 1.00 0.86 0.60 0.12 NA
quantidade_doadores 0.04 0.86 1.00 0.46 0.09 NA
total_receita -0.04 0.60 0.46 1.00 0.60 NA
media_receita -0.08 0.12 0.09 0.60 1.00 NA
recursos_de_outros_candidatos.comites NA NA NA NA NA 1
recursos_de_partidos NA NA NA NA NA NA
recursos_de_pessoas_físicas NA NA NA NA NA NA
recursos_de_pessoas_juridicas NA NA NA NA NA NA
recursos_proprios NA NA NA NA NA NA
votos -0.04 0.48 0.42 0.62 0.43 NA
quantidade_despesas -0.02 0.58 0.48 0.81 0.38 NA
quantidade_fornecedores -0.01 0.50 0.44 0.72 0.33 NA
total_despesa -0.04 0.60 0.46 0.99 0.59 NA
media_despesa -0.07 0.14 0.13 0.37 0.54 NA
idade -0.04 0.07 0.06 0.10 0.12 NA
sexo 0.00 0.14 0.12 0.14 0.14 NA
grau -0.05 0.13 0.12 0.15 0.13 NA
estado_civil 0.02 -0.11 -0.11 -0.11 -0.10 NA
recursos_de_partidos recursos_de_pessoas_físicas recursos_de_pessoas_juridicas recursos_proprios votos
partido NA NA NA NA -0.04
quantidade_doacoes NA NA NA NA 0.48
quantidade_doadores NA NA NA NA 0.42
total_receita NA NA NA NA 0.62
media_receita NA NA NA NA 0.43
recursos_de_outros_candidatos.comites NA NA NA NA NA
recursos_de_partidos 1 NA NA NA NA
recursos_de_pessoas_físicas NA 1 NA NA NA
recursos_de_pessoas_juridicas NA NA 1 NA NA
recursos_proprios NA NA NA 1 NA
votos NA NA NA NA 1.00
quantidade_despesas NA NA NA NA 0.55
quantidade_fornecedores NA NA NA NA 0.46
total_despesa NA NA NA NA 0.61
media_despesa NA NA NA NA 0.30
idade NA NA NA NA 0.09
sexo NA NA NA NA 0.16
grau NA NA NA NA 0.14
estado_civil NA NA NA NA -0.12
quantidade_despesas quantidade_fornecedores total_despesa media_despesa idade sexo grau estado_civil
partido -0.02 -0.01 -0.04 -0.07 -0.04 0.00 -0.05 0.02
quantidade_doacoes 0.58 0.50 0.60 0.14 0.07 0.14 0.13 -0.11
quantidade_doadores 0.48 0.44 0.46 0.13 0.06 0.12 0.12 -0.11
total_receita 0.81 0.72 0.99 0.37 0.10 0.14 0.15 -0.11
media_receita 0.38 0.33 0.59 0.54 0.12 0.14 0.13 -0.10
recursos_de_outros_candidatos.comites NA NA NA NA NA NA NA NA
recursos_de_partidos NA NA NA NA NA NA NA NA
recursos_de_pessoas_físicas NA NA NA NA NA NA NA NA
recursos_de_pessoas_juridicas NA NA NA NA NA NA NA NA
recursos_proprios NA NA NA NA NA NA NA NA
votos 0.55 0.46 0.61 0.30 0.09 0.16 0.14 -0.12
quantidade_despesas 1.00 0.93 0.81 0.08 0.08 0.12 0.12 -0.09
quantidade_fornecedores 0.93 1.00 0.72 0.05 0.07 0.09 0.10 -0.08
total_despesa 0.81 0.72 1.00 0.37 0.10 0.14 0.15 -0.11
media_despesa 0.08 0.05 0.37 1.00 0.10 0.12 0.11 -0.10
idade 0.08 0.07 0.10 0.10 1.00 0.12 -0.05 -0.24
sexo 0.12 0.09 0.14 0.12 0.12 1.00 0.05 -0.22
grau 0.12 0.10 0.15 0.11 -0.05 0.05 1.00 -0.04
estado_civil -0.09 -0.08 -0.11 -0.10 -0.24 -0.22 -0.04 1.00
Algumas variáveis tem correlação muito forte, oque indica redundância, por exemplo: quantidade_fornecedores x quantidade_despesas corr = 0.93, recursos_partidos x total_receita = 0.82, total_depesa x total_receita corr = 0.99, quantiade_doadores x quantidade_doacoes corr = 0.86.
#Gerando modelo de regressão múltipla sem variáveis redundantes ou desnecessárias
reg_linear_tratada = lm(formula = votos ~ ., dados_tratados, na.action = na.omit)
summary(reg_linear_tratada)
Call:
lm(formula = votos ~ ., data = dados_tratados, na.action = na.omit)
Residuals:
Min 1Q Median 3Q Max
-334930 -27464 -8849 23642 1043831
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6176.45536 36424.93816 0.170 0.86544
partido 144.11502 458.20634 0.315 0.75330
quantidade_doacoes -170.73860 112.20612 -1.522 0.12892
quantidade_doadores 413.48340 152.22151 2.716 0.00690 **
total_receita 1.47870 0.76292 1.938 0.05333 .
media_receita 0.07570 0.33882 0.223 0.82333
recursos_de_outros_candidatos.comites -1.27324 0.76140 -1.672 0.09529 .
recursos_de_partidos -1.47640 0.76574 -1.928 0.05458 .
recursos_de_pessoas_físicas -1.50743 0.76657 -1.966 0.04996 *
recursos_de_pessoas_juridicas -1.46059 0.76504 -1.909 0.05698 .
recursos_proprios -1.48437 0.76386 -1.943 0.05271 .
quantidade_despesas 71.69434 14.14011 5.070 0.000000618 ***
quantidade_fornecedores -50.51031 18.86441 -2.678 0.00773 **
total_despesa -0.01780 0.02037 -0.874 0.38271
media_despesa 8.28562 3.33677 2.483 0.01345 *
idade 212.53810 355.11656 0.599 0.54986
sexo 5347.78728 11829.07680 0.452 0.65146
grau -481.29104 3093.51550 -0.156 0.87645
estado_civil -7148.66993 3409.71208 -2.097 0.03668 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 77330 on 385 degrees of freedom
(3748 observations deleted due to missingness)
Multiple R-squared: 0.3313, Adjusted R-squared: 0.3001
F-statistic: 10.6 on 18 and 385 DF, p-value: < 2.2e-16
ggplot(reg_linear, aes(x = .fitted, y = .resid)) +
geom_point() +
xlab("Ajustado") +
ylab("Resíduos")
O gráfico exibe um padrão nos resíduos, evidenciando que o modelo não é ideal.
As variáveis que mais explicam melhor o numero de votos são as que possuiem o menos p-valor e não tem uma forte correlação entre si.