Este estudo tem como objetivo apresentar alguns dados e responder algumas perguntas em relação as eleições de 2014. Todas as perguntas e consequentemente as respostas envolvem o assunto “Regressão Linear”. Além disso, este estudo tem como objetivo aprender e mostrar conhecimentos sobre o assunto supracitado, visto que é uma atividade da disciplina de Analise de Dados 2 do curso de Ciência da Computação da UFCG
Os dados do estudo pode ser encontrados neste link: https://canvas.instructure.com/courses/1234747/files/57688848/download?download_frd=1
Sequencial_candidato" : (character) id do candidato “Nome”:
“Numero_cadidato”: (character)
“UF”: (character)
“Partido”: (character)
“Setor_economico_receita” : (character) setor econômico que mais doou (em quantidade de vezes) para o candidato;
“Quantidade_doacoes”: (integer)
“Quantidade_doadores”: (integer) número de doadores diferentes
“Total_receita”: (double) soma em R$ das doações
“Media_receita”: (double) média das doações
“recursos_de_outros_candidatos/comites”: (double) quantia em R$ das doações provenientes de outros candidatos ou comite partidário
“Recursos_de_partidos”: (double) quantia em R$ das doações provenientes de outros candidatos ou partidos
“Recursos_de_pessoas_físicas”: (double) quantia em R$ das doações provenientes de outros CPFs
“Recursos_de_pessoas_juridicas”: (double) quantia em R$ das doações provenientes de outros CNPJ
“Recursos_proprios”: (double) quantia em R$ das doações provenientes do próprio candidato
“Votos”: (integer) variável alvo. Se refere ao número de votos na campanha de 2014 “Quantidade_despesas”: (integer)
“Quantidade_fornecedores”: (integer) número de fornecedores/despesas diferentes
“Total_despesa”: (double) soma em R$ das despesas de campanha
“Media_despesa”: (double) média das despesas de campanha
“Setor_economico_despesa”: (character) setor econômico que o candidato mais gastou na campanha (em quantidade de vezes);
“Cargo”: (character)
“Idade” : (character)
“Sexo”: (character)
“Grau”: (character)
“Estado_civil”: (character)
Primeiramente importaremos o CSV disponível para download no link acima. Além disso, algumas variáveis¹ possuem vários dados faltando. Por isso, tiraremos essas variáveis da nossa análise. Além disso, a variável nome, cargo e sequencial_candidato serão removidas. Isto acontece pois nome e sequencial_candidato são variáveis categóricas que possuem valores únicos, ou seja, não se repetem. Já cargo é uma variável categórica que se repete em todas as linhas da coluna. Por isso essas variáveis não agregam para nosso modelo.
¹: setor_economico_receita, setor_economico_despesa
attr.lm = lm(votos ~ .,data=eleicoes2014)
summary(attr.lm)
##
## Call:
## lm(formula = votos ~ ., data = eleicoes2014)
##
## Residuals:
## Min 1Q Median 3Q Max
## -307485 -7686 -2010 3275 1225327
##
## Coefficients:
## Estimate Std. Error t value
## (Intercept) 6.756e+04 4.685e+04 1.442
## numero_cadidato -3.209e+01 1.829e+01 -1.755
## UFAL 1.601e+04 6.473e+03 2.474
## UFAM 1.451e+04 6.800e+03 2.134
## UFAP 8.476e+03 6.323e+03 1.341
## UFBA 1.930e+04 5.605e+03 3.443
## UFCE 2.134e+04 5.755e+03 3.708
## UFDF 1.055e+04 6.070e+03 1.737
## UFES 1.443e+04 5.979e+03 2.413
## UFGO 1.169e+04 6.575e+03 1.778
## UFMA 2.115e+04 5.832e+03 3.627
## UFMG 1.549e+04 5.291e+03 2.928
## UFMS 1.281e+03 6.058e+03 0.211
## UFMT 8.200e+03 6.621e+03 1.238
## UFPA 2.070e+04 5.839e+03 3.545
## UFPB 2.518e+04 6.512e+03 3.867
## UFPE 2.169e+04 6.055e+03 3.582
## UFPI 1.662e+04 6.584e+03 2.524
## UFPR 1.803e+04 5.541e+03 3.253
## UFRJ 1.263e+04 5.198e+03 2.430
## UFRN 2.192e+04 6.531e+03 3.357
## UFRO 7.140e+03 6.555e+03 1.089
## UFRR 8.249e+03 6.464e+03 1.276
## UFRS 1.825e+04 5.517e+03 3.308
## UFSC 2.182e+04 6.202e+03 3.518
## UFSE 1.950e+04 6.831e+03 2.855
## UFSP 1.535e+04 5.158e+03 2.977
## UFTO 4.276e+03 7.158e+03 0.597
## partidoPC do B 1.175e+05 7.337e+04 1.602
## partidoPCB -2.237e+04 1.069e+04 -2.093
## partidoPCO 4.905e+03 1.405e+04 0.349
## partidoPDT -5.263e+04 2.420e+04 -2.175
## partidoPEN 7.290e+04 4.784e+04 1.524
## partidoPHS 1.085e+04 1.179e+04 0.921
## partidoPMDB -3.606e+04 1.872e+04 -1.927
## partidoPMN 1.503e+04 1.537e+04 0.978
## partidoPP -4.888e+04 2.604e+04 -1.877
## partidoPPL 8.023e+04 5.349e+04 1.500
## partidoPPS -1.586e+04 6.211e+03 -2.554
## partidoPR -1.122e+04 7.052e+03 -1.591
## partidoPRB -4.812e+04 2.777e+04 -1.733
## partidoPROS 2.016e+05 1.192e+05 1.691
## partidoPRP 5.258e+04 3.511e+04 1.497
## partidoPRTB 2.460e+02 7.205e+03 0.034
## partidoPSB 3.908e+04 2.773e+04 1.409
## partidoPSC -2.060e+04 1.039e+04 -1.983
## partidoPSD 9.236e+04 5.523e+04 1.672
## partidoPSDB 6.351e+04 3.690e+04 1.721
## partidoPSDC -1.149e+03 5.884e+03 -0.195
## partidoPSL -3.667e+04 1.529e+04 -2.399
## partidoPSOL 7.317e+04 4.592e+04 1.593
## partidoPSTU -3.750e+04 1.757e+04 -2.134
## partidoPT -4.748e+04 2.232e+04 -2.127
## partidoPT do B 1.343e+05 8.247e+04 1.628
## partidoPTB -3.974e+04 2.056e+04 -1.933
## partidoPTC 2.393e+04 2.069e+04 1.157
## partidoPTN -2.461e+04 1.212e+04 -2.031
## partidoPV 4.892e+04 3.318e+04 1.475
## partidoSD 1.606e+05 9.544e+04 1.682
## quantidade_doacoes 6.302e+00 2.699e+01 0.233
## quantidade_doadores 2.590e+02 3.960e+01 6.539
## total_receita 1.794e-01 1.391e-01 1.290
## media_receita 4.148e-01 5.245e-02 7.908
## recursos_de_outros_candidatos.comites -4.376e-02 1.391e-01 -0.315
## recursos_de_partidos -1.463e-01 1.392e-01 -1.051
## recursos_de_pessoas_fisicas -1.384e-01 1.393e-01 -0.994
## recursos_de_pessoas_juridicas -1.337e-01 1.391e-01 -0.961
## recursos_proprios -1.571e-01 1.391e-01 -1.129
## quantidade_despesas 4.965e+01 4.296e+00 11.557
## quantidade_fornecedores -5.428e+01 6.247e+00 -8.688
## total_despesa -2.601e-02 7.483e-03 -3.476
## media_despesa 2.147e+00 4.034e-01 5.322
## idade 4.078e+01 4.853e+01 0.840
## sexoMASCULINO 3.184e+03 1.192e+03 2.672
## grauENSINO FUNDAMENTAL INCOMPLETO 1.537e+03 3.902e+03 0.394
## grauENSINO MÉDIO COMPLETO 1.450e+03 2.415e+03 0.600
## grauENSINO MÉDIO INCOMPLETO 8.814e+02 3.935e+03 0.224
## grauLÊ E ESCREVE -8.170e+02 7.646e+03 -0.107
## grauSUPERIOR COMPLETO 4.353e+03 2.306e+03 1.888
## grauSUPERIOR INCOMPLETO -7.198e+02 2.697e+03 -0.267
## estado_civilDIVORCIADO(A) 2.195e+02 1.685e+03 0.130
## estado_civilSEPARADO(A) JUDICIALMENTE -5.196e+03 3.729e+03 -1.394
## estado_civilSOLTEIRO(A) -7.308e+02 1.275e+03 -0.573
## estado_civilVIÚVO(A) -6.901e+03 3.744e+03 -1.843
## Pr(>|t|)
## (Intercept) 0.149350
## numero_cadidato 0.079329 .
## UFAL 0.013406 *
## UFAM 0.032924 *
## UFAP 0.180117
## UFBA 0.000581 ***
## UFCE 0.000212 ***
## UFDF 0.082394 .
## UFES 0.015858 *
## UFGO 0.075409 .
## UFMA 0.000290 ***
## UFMG 0.003434 **
## UFMS 0.832539
## UFMT 0.215624
## UFPA 0.000397 ***
## UFPB 0.000112 ***
## UFPE 0.000345 ***
## UFPI 0.011633 *
## UFPR 0.001150 **
## UFRJ 0.015161 *
## UFRN 0.000795 ***
## UFRO 0.276149
## UFRR 0.202012
## UFRS 0.000948 ***
## UFSC 0.000439 ***
## UFSE 0.004323 **
## UFSP 0.002930 **
## UFTO 0.550263
## partidoPC do B 0.109306
## partidoPCB 0.036397 *
## partidoPCO 0.726927
## partidoPDT 0.029711 *
## partidoPEN 0.127644
## partidoPHS 0.357299
## partidoPMDB 0.054101 .
## partidoPMN 0.328032
## partidoPP 0.060542 .
## partidoPPL 0.133754
## partidoPPS 0.010674 *
## partidoPR 0.111748
## partidoPRB 0.083231 .
## partidoPROS 0.090984 .
## partidoPRP 0.134376
## partidoPRTB 0.972762
## partidoPSB 0.158900
## partidoPSC 0.047462 *
## partidoPSD 0.094537 .
## partidoPSDB 0.085333 .
## partidoPSDC 0.845209
## partidoPSL 0.016503 *
## partidoPSOL 0.111170
## partidoPSTU 0.032913 *
## partidoPT 0.033441 *
## partidoPT do B 0.103537
## partidoPTB 0.053297 .
## partidoPTC 0.247451
## partidoPTN 0.042331 *
## partidoPV 0.140422
## partidoSD 0.092582 .
## quantidade_doacoes 0.815394
## quantidade_doadores 6.95e-11 ***
## total_receita 0.197235
## media_receita 3.33e-15 ***
## recursos_de_outros_candidatos.comites 0.753060
## recursos_de_partidos 0.293242
## recursos_de_pessoas_fisicas 0.320508
## recursos_de_pessoas_juridicas 0.336808
## recursos_proprios 0.258864
## quantidade_despesas < 2e-16 ***
## quantidade_fornecedores < 2e-16 ***
## total_despesa 0.000514 ***
## media_despesa 1.08e-07 ***
## idade 0.400735
## sexoMASCULINO 0.007579 **
## grauENSINO FUNDAMENTAL INCOMPLETO 0.693708
## grauENSINO MÉDIO COMPLETO 0.548275
## grauENSINO MÉDIO INCOMPLETO 0.822760
## grauLÊ E ESCREVE 0.914915
## grauSUPERIOR COMPLETO 0.059143 .
## grauSUPERIOR INCOMPLETO 0.789574
## estado_civilDIVORCIADO(A) 0.896312
## estado_civilSEPARADO(A) JUDICIALMENTE 0.163543
## estado_civilSOLTEIRO(A) 0.566426
## estado_civilVIÚVO(A) 0.065411 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 32440 on 4068 degrees of freedom
## Multiple R-squared: 0.4969, Adjusted R-squared: 0.4867
## F-statistic: 48.41 on 83 and 4068 DF, p-value: < 2.2e-16
Pelos dados acima, podemos ver também que a váriavel R²(Descrita como multiple R-squared) é de 0.4969 ou 49.69%. O R² é uma porcentagem da variação da variável de resposta explicada pela relação com uma ou mais variáveis preditoras. Normalmente, quanto maior R², melhor o modelo ajusta os dados.
Caso o leitor queira saber mais sobre R², aqui está um link interessante: link
Logo, podemos dizer, que de certa forma, Um modelo de regressão múltipla com todas as variáveis é um pouco plausivel para explicar o número de votos.
Para responder essa questão utilizaremos a função regsubsets . Uma explicação mais aprofundada sobre a função pode ser encontrada neste link: https://www.r-bloggers.com/variable-selection-using-automatic-methods/
Por último, utilizaremos o metodo de seleção backward. Mais informações sobre alguns métodos de seleção de variaveis podem ser encontrados em: https://www.stat.ubc.ca/~rollin/teach/643w04/lec/node40.html
reg <- regsubsets(votos ~ ., data = eleicoes2014, nbest = 1, nvmax = NULL,
force.in = NULL, force.out = NULL, method = "backward")
A partir da função regsubsets, apenas as váriaveis
-
quantidade_doadores
total_receita
media_receita
recursos_de_partidos
recursos_de_pessoas_físicas
recursos_de_pessoas_juridicas
recursos_proprios
quantidade_despesas
quantidade_fornecedores
total_despesa
media_despesa
grauSUPERIOR COMPLETO
-
podem ser consideradas mais úteis para nosso modelo.
Ps: Caso o leitor queira mais detalhes, refaça o experimento adicionando o comando summary(reg). O resultado deste comando foi suprimido pelo tamanho da saída, que acabaria por dificultar um pouco a leitura.
Como grauSUPERIOR COMPLETO é uma variável categórica que possui uma única instância, entra no mesmo escopo de problema da variável cargo. Por isso, grau também será removida.
Além disso, podemos analisar a correlação entre as variáveis para retirar mais variáveis redundantes e também melhorar nosso escopo de variáveis “úteis”. Isto acontece pois se duas variáveis apresentam alta correlação talvez uma dessas variáveis possa ser retirada, porque de certo modo a outra variável em questão “explicará” sua influência no modelo.
eleicoesReduced = eleicoes2014 %>% select(quantidade_doadores, total_receita,
media_receita, recursos_de_partidos, recursos_de_pessoas_fisicas,
recursos_de_pessoas_juridicas, recursos_proprios, quantidade_despesas,
quantidade_fornecedores, total_despesa,
media_despesa)
# Correlação entre os dados
ggcorr(eleicoesReduced, hjust = 0.80, vjust=1.5, size = 3, label = TRUE, var.position = 'diagonal', lower = TRUE)
## Warning: Ignoring unknown parameters: var.position, lower
Ps: A primeira variável é quantidade_doadores. Infelizmente a função ggcorr tem alguns bugs.
Correlações maiores que 0.7 pode ser consideradas fortes . Neste caso, temos:
1 - total_receita com recursos_de_partidos, recursos_de_pessoas_juridicas, quantidade_despesas, total_despesa
2 - total_despesa com recursos_de_partidos, recursos_de_pessoas_juridicas, quantidade_despesas, total_receita
3 - quantidade_despesas com quantidade_fornecedores
Na próxima seção faremos então 4 cenários para achar o melhor caso em relação a R² e RSE.
1 - Removeremos total_receita e quantidade_fornecedores
2 - Removeremos total_receita, total_despesa, quantidade_fornecedores
3 - Removeremos total_receita e quantidade_despesas
4 - Removeremos total_receita, total_despesa, quantidade_despesas
Em um estudo mais aprofundado poderiamos analisar todos os casos para tentar encaixar o melhor caso.
eleicoesReducedFixCaso1 = eleicoes2014 %>% select(quantidade_doadores,
media_receita, recursos_de_partidos, recursos_de_pessoas_fisicas,
recursos_de_pessoas_juridicas, recursos_proprios, quantidade_despesas, total_despesa,
media_despesa, votos)
eleicoesReducedFixCaso2 = eleicoes2014 %>% select(quantidade_doadores,
media_receita, recursos_de_partidos, recursos_de_pessoas_fisicas,
recursos_de_pessoas_juridicas, recursos_proprios, quantidade_despesas,
media_despesa, votos)
eleicoesReducedFixCaso3 = eleicoes2014 %>% select(quantidade_doadores,
media_receita, recursos_de_partidos, recursos_de_pessoas_fisicas,
recursos_de_pessoas_juridicas, recursos_proprios,
quantidade_fornecedores, total_despesa,
media_despesa, votos)
eleicoesReducedFixCaso4 = eleicoes2014 %>% select(quantidade_doadores,
media_receita, recursos_de_partidos, recursos_de_pessoas_fisicas,
recursos_de_pessoas_juridicas, recursos_proprios,
quantidade_fornecedores,
media_despesa, votos)
new_attr.lm.caso1 = lm(votos ~ .,data=eleicoesReducedFixCaso1)
new_attr.lm.caso2 = lm(votos ~ .,data=eleicoesReducedFixCaso2)
new_attr.lm.caso3 = lm(votos ~ .,data=eleicoesReducedFixCaso3)
new_attr.lm.caso4 = lm(votos ~ .,data=eleicoesReducedFixCaso4)
summary(new_attr.lm.caso1)
##
## Call:
## lm(formula = votos ~ ., data = eleicoesReducedFixCaso1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -221072 -5291 -2628 -910 1335311
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 246.570787 704.372155 0.350 0.726
## quantidade_doadores 298.781456 24.212461 12.340 < 2e-16 ***
## media_receita 0.492262 0.050419 9.763 < 2e-16 ***
## recursos_de_partidos -0.044834 0.005284 -8.486 < 2e-16 ***
## recursos_de_pessoas_fisicas -0.046522 0.009703 -4.794 1.69e-06 ***
## recursos_de_pessoas_juridicas -0.044804 0.005946 -7.535 5.94e-14 ***
## recursos_proprios -0.063280 0.006323 -10.009 < 2e-16 ***
## quantidade_despesas 25.403092 2.469836 10.285 < 2e-16 ***
## total_despesa 0.056124 0.004871 11.522 < 2e-16 ***
## media_despesa 2.749200 0.406116 6.769 1.47e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 33850 on 4142 degrees of freedom
## Multiple R-squared: 0.4423, Adjusted R-squared: 0.4411
## F-statistic: 364.9 on 9 and 4142 DF, p-value: < 2.2e-16
summary(new_attr.lm.caso2)
##
## Call:
## lm(formula = votos ~ ., data = eleicoesReducedFixCaso2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -186308 -5475 -2837 -1005 1407799
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 245.065909 715.484614 0.343 0.7320
## quantidade_doadores 301.504831 24.593275 12.260 < 2e-16 ***
## media_receita 0.479783 0.051203 9.370 < 2e-16 ***
## recursos_de_partidos 0.010678 0.002203 4.847 1.30e-06 ***
## recursos_de_pessoas_fisicas 0.010292 0.008489 1.212 0.2254
## recursos_de_pessoas_juridicas 0.012815 0.003267 3.923 8.90e-05 ***
## recursos_proprios -0.011585 0.004525 -2.560 0.0105 *
## quantidade_despesas 31.670286 2.447204 12.941 < 2e-16 ***
## media_despesa 3.205755 0.410555 7.808 7.29e-15 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 34390 on 4143 degrees of freedom
## Multiple R-squared: 0.4244, Adjusted R-squared: 0.4233
## F-statistic: 381.8 on 8 and 4143 DF, p-value: < 2.2e-16
summary(new_attr.lm.caso3)
##
## Call:
## lm(formula = votos ~ ., data = eleicoesReducedFixCaso3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -276175 -5208 -3190 -1631 1377728
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.542e+03 7.032e+02 2.192 0.02841 *
## quantidade_doadores 3.257e+02 2.435e+01 13.379 < 2e-16 ***
## media_receita 5.039e-01 5.103e-02 9.874 < 2e-16 ***
## recursos_de_partidos -4.635e-02 5.343e-03 -8.674 < 2e-16 ***
## recursos_de_pessoas_fisicas -4.452e-02 9.920e-03 -4.488 7.38e-06 ***
## recursos_de_pessoas_juridicas -4.143e-02 6.063e-03 -6.833 9.54e-12 ***
## recursos_proprios -5.604e-02 6.415e-03 -8.736 < 2e-16 ***
## quantidade_fornecedores 1.085e+01 3.623e+00 2.994 0.00277 **
## total_despesa 6.569e-02 4.831e-03 13.597 < 2e-16 ***
## media_despesa 1.602e+00 4.017e-01 3.987 6.81e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 34250 on 4142 degrees of freedom
## Multiple R-squared: 0.4293, Adjusted R-squared: 0.428
## F-statistic: 346.1 on 9 and 4142 DF, p-value: < 2.2e-16
summary(new_attr.lm.caso4)
##
## Call:
## lm(formula = votos ~ ., data = eleicoesReducedFixCaso4)
##
## Residuals:
## Min 1Q Median 3Q Max
## -163919 -5510 -3615 -1994 1477438
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.875e+03 7.182e+02 2.611 0.00906 **
## quantidade_doadores 3.364e+02 2.487e+01 13.526 < 2e-16 ***
## media_receita 4.910e-01 5.215e-02 9.416 < 2e-16 ***
## recursos_de_partidos 2.078e-02 2.088e-03 9.953 < 2e-16 ***
## recursos_de_pessoas_fisicas 2.449e-02 8.710e-03 2.812 0.00494 **
## recursos_de_pessoas_juridicas 2.927e-02 3.187e-03 9.182 < 2e-16 ***
## recursos_proprios 8.518e-03 4.408e-03 1.932 0.05339 .
## quantidade_fornecedores 1.584e+01 3.684e+00 4.300 1.75e-05 ***
## media_despesa 1.871e+00 4.100e-01 4.562 5.21e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 35000 on 4143 degrees of freedom
## Multiple R-squared: 0.4038, Adjusted R-squared: 0.4026
## F-statistic: 350.7 on 8 and 4143 DF, p-value: < 2.2e-16
Caso 1: Comparando o R² e RSE, podemos notar que após o que foi apresentado no item 2 temos que o R² e o RSE são iguais a:
R²: 0.4423
RSE: 33850
Caso 2: Comparando o R² e RSE, podemos notar que após o que foi apresentado no item 2 temos que o R² e o RSE são iguais a:
R²: 0.4244
RSE: 34390
Caso 3: Comparando o R² e RSE, podemos notar que após o que foi apresentado no item 2 temos que o R² e o RSE são iguais a:
R²: 0.4293
RSE: 34250
Caso 4: Comparando o R² e RSE, podemos notar que após o que foi apresentado no item 2 temos que o R² e o RSE são iguais a:
R²: 0.4038
RSE: 35000
Enquanto no modelo com todas as variáveis temos:
R²: 0.4969
RSE: 32440
O que podemos notar aqui é que comparando todos os casos, considerando apenas o R² e o RSE, o modelo com todas as variáveis explica mais nosso modelo.
Dando prosseguimento em nossa análise, agora verificaremos os resíduos. Os resíduos a serem calculados serão do modelo onde todas as variáveis estão presentes, já que, em tese, foi o melhor caso(ver seção 3).
p <- ggplot(attr.lm , aes(votos, .resid)) +
geom_point(alpha = .4) +
geom_hline(yintercept = 0, colour = "red")
p <- ggplotly(p)
## We recommend that you use the dev version of ggplot2 with `ggplotly()`
## Install it with: `devtools::install_github('hadley/ggplot2')`
p
Para analisar este gráfico devemos verificar o seguinte. A distancia para o valor 0 indica o qual ruim o valor foi previsto. Resultados positivos(resíduos positivos) indicam que a previsão foi muito baixa e valores negativos, indicam que a previsão foi muito alta. 0 significa que a previsão foi correta. Como os resultados não são simetricamente distribuídos e aparentemente há uma certo padrão em alguns casos, indica-se que o modelo não é bem apropriado. Mais informações no apêndice. Em: Interpreting residual plots to improve your regression.
5.1 - Há algumas formas de verificar isto, primeiramente utilizaremos a função varImp que é uma forma de verificar quais variáveis conseguem explicar melhor o número de votos.
variableImportance <- varImp(attr.lm)
variableImportanceFormatted <- data.frame(Names=rownames(variableImportance),
Overall=variableImportance)
orderedVariableImportance <- variableImportanceFormatted[order(-variableImportanceFormatted$Overall),]
row.names(orderedVariableImportance) <- NULL
top15VariableImportance <- head(orderedVariableImportance, 15)
top15VariableImportance
## Names Overall
## 1 quantidade_despesas 11.556879
## 2 quantidade_fornecedores 8.688222
## 3 media_receita 7.908394
## 4 quantidade_doadores 6.539163
## 5 media_despesa 5.322044
## 6 UFPB 3.867000
## 7 UFCE 3.707895
## 8 UFMA 3.627197
## 9 UFPE 3.581914
## 10 UFPA 3.545059
## 11 UFSC 3.518469
## 12 total_despesa 3.476006
## 13 UFBA 3.443078
## 14 UFRN 3.356914
## 15 UFRS 3.307881
A partir desta tabela podemos ver as 15 variáveis que mais são significativas para o modelo
5.2 - Outro modo é calculando a correlação entre as variaveis e a variavel voto.
ggcorr(eleicoes2014, hjust = 0.80, vjust=1.0, size = 3, label = TRUE, var.position = 'diagonal', lower = TRUE)
## Warning in ggcorr(eleicoes2014, hjust = 0.8, vjust = 1, size = 3, label =
## TRUE, : data in column(s) 'UF', 'partido', 'sexo', 'grau', 'estado_civil'
## are not numeric and were ignored
## Warning: Ignoring unknown parameters: var.position, lower
A partir da análise da correlação podemos ver que as variáveis total_receita e total_despesa são as variáveis que mais explicam os votos apenas se baseando na correlação. Ambas possuem uma correlação de 0.6 com a variavel votos. A partir do estudo já supracitado, ambas possuem correlação moderada.
Outras variáveis, como recursos_de_pessoas_juridicas, recursos_de_partidos, quantidade_doacoes, quantidade_despesas, quantidade_fornecedores possuem correlação de 0.5, que fica entre o limiar entre uma correlação moderada e fraca.
5.3 - Por último, podemos também olhar as estimativas dos coeficientes da regressão
Primeiramente, iremos selecionar apenas as variáveis que possuem um p-value menor que 0.01.
data = summary(attr.lm)$coef[summary(attr.lm)$coef[,4] <= .01,]
data[order(-abs(data[,1])),]
## Estimate Std. Error t value Pr(>|t|)
## UFPB 25180.2901289 6.511583e+03 3.867000 1.119040e-04
## UFRN 21924.6011556 6.531177e+03 3.356914 7.954105e-04
## UFSC 21822.7891733 6.202354e+03 3.518469 4.387942e-04
## UFPE 21688.3441168 6.054959e+03 3.581914 3.450768e-04
## UFCE 21338.9252488 5.754997e+03 3.707895 2.117744e-04
## UFMA 21154.5676453 5.832208e+03 3.627197 2.900290e-04
## UFPA 20698.3104103 5.838636e+03 3.545059 3.969424e-04
## UFSE 19504.7269841 6.831337e+03 2.855185 4.322960e-03
## UFBA 19299.8767822 5.605414e+03 3.443078 5.809365e-04
## UFRS 18248.2140315 5.516587e+03 3.307881 9.482165e-04
## UFPR 18025.9646850 5.540678e+03 3.253386 1.149704e-03
## UFMG 15488.8504104 5.290506e+03 2.927669 3.434073e-03
## UFSP 15354.7514671 5.158118e+03 2.976813 2.929785e-03
## sexoMASCULINO 3183.8015064 1.191723e+03 2.671596 7.579234e-03
## quantidade_doadores 258.9567659 3.960091e+01 6.539163 6.952642e-11
## quantidade_fornecedores -54.2761174 6.247092e+00 -8.688222 5.250787e-18
## quantidade_despesas 49.6498714 4.296131e+00 11.556879 2.024560e-30
## media_despesa 2.1469821 4.034130e-01 5.322044 1.081380e-07
## media_receita 0.4147733 5.244723e-02 7.908394 3.332913e-15
## total_despesa -0.0260105 7.482871e-03 -3.476006 5.142624e-04
Temos então que analisando pelo aspecto das estimativas do coeficiente a variável categorica UFPB é a mais impactante. A ordem das variáveis e suas respectivas estimativas de coeficientes podem ser encontradas na tabela acima.