Introdução

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

Sobre os dados

Os dados do estudo pode ser encontrados neste link: https://canvas.instructure.com/courses/1234747/files/57688848/download?download_frd=1

Descrição dos dados

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)

Inicio

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

1. Um modelo de regressão múltipla com todas as variáveis é plausível para explicar a variação em y (número de votos)? Justifique sua resposta.

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.

2. Todas as variáveis são úteis para o modelo de regressão? Há variáveis redudantes? Justifique sua resposta em ambos os casos.

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.

3. No caso de haver variáveis pouco explicativas e/ou redudantes, construa um novo modelo sem essas variáveis e o compare ao modelo com todas as variáveis

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.

4. Analise plots de resíduos e verifique se há tendências nos erros. (9 pts.)

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. Quais variáveis conseguem explicar melhor o número de votos? Justifique sua resposta. (9 pts.)

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.

Apêndice

Interpreting residual plots to improve your regression