library(here)
library(tidyverse)

Introdução

Esta análise utilizará conceitos de regressão linear para tentar explicar as votações que os deputados receberam em 2006 e 2010. Esses dados foram extraídos do TSE, pré-processados e contemplam informações sobre aproximadamente 7.300 candidatos.
Primeiro, vamos importar os dados referentes às eleições. Antes de utilizar os dados, iremos realizar alguns ajustes, tais quais tratamento de NAs e alterar os tipos de algumas variáveis de factor para character.
eleicoes_data <- read_csv(here('lab-03/eleicoes_2006_e_2010.csv'),
    col_types = cols(
      ano = col_integer(),
      sequencial_candidato = col_character(),
      quantidade_doacoes = col_integer(),
      quantidade_doadores = col_integer(),
      total_receita = col_double(),
      media_receita = col_double(),
      recursos_de_outros_candidatos.comites = col_double(),
      recursos_de_pessoas_fisicas = col_double(),
      recursos_de_pessoas_juridicas = col_double(),
      recursos_proprios = col_double(),
      `recursos_de_partido_politico` = col_double(),
      quantidade_despesas = col_integer(),
      quantidade_fornecedores = col_integer(),
      total_despesa = col_double(),
      media_despesa = col_double(),
      votos = col_integer(),
      .default = col_character()))

dados <- na.omit(eleicoes_data) %>%   mutate(nome = as.character(nome),
         uf = as.character(uf),
         partido = as.character(partido),
         cargo = as.character(cargo),
         sexo = as.character(sexo),
         grau = as.character(grau),
         estado_civil = as.character(estado_civil),
         ocupacao = as.character(ocupacao)
         )

Perguntas

Antes de qualquer coisa, abaixo um visão geral dos dados, quais colunas o data frame contém e o que significam.
dados %>%  glimpse()
## Observations: 7,476
## Variables: 24
## $ ano                                   <int> 2006, 2006, 2006, 2006, ...
## $ sequencial_candidato                  <chr> "10001", "10002", "10002...
## $ nome                                  <chr> "JOSÉ LUIZ NOGUEIRA DE S...
## $ uf                                    <chr> "AP", "RO", "AP", "MS", ...
## $ partido                               <chr> "PT", "PT", "PT", "PRONA...
## $ quantidade_doacoes                    <int> 6, 13, 17, 6, 48, 6, 14,...
## $ quantidade_doadores                   <int> 6, 13, 16, 6, 48, 6, 7, ...
## $ total_receita                         <dbl> 16600.00, 22826.00, 1581...
## $ media_receita                         <dbl> 2766.67, 1755.85, 9301.2...
## $ recursos_de_outros_candidatos.comites <dbl> 0.00, 6625.00, 2250.00, ...
## $ recursos_de_pessoas_fisicas           <dbl> 9000.00, 15000.00, 34150...
## $ recursos_de_pessoas_juridicas         <dbl> 6300.00, 1000.00, 62220....
## $ recursos_proprios                     <dbl> 1300.00, 201.00, 59500.0...
## $ recursos_de_partido_politico          <dbl> 0, 0, 0, 0, 0, 0, 0, 0, ...
## $ quantidade_despesas                   <int> 14, 24, 123, 8, 133, 9, ...
## $ quantidade_fornecedores               <int> 14, 23, 108, 8, 120, 9, ...
## $ total_despesa                         <dbl> 16583.60, 20325.99, 1460...
## $ media_despesa                         <dbl> 1184.54, 846.92, 1187.09...
## $ cargo                                 <chr> "DEPUTADO FEDERAL", "DEP...
## $ sexo                                  <chr> "MASCULINO", "FEMININO",...
## $ grau                                  <chr> "ENSINO MÉDIO COMPLETO",...
## $ estado_civil                          <chr> "CASADO(A)", "SOLTEIRO(A...
## $ ocupacao                              <chr> "VEREADOR", "SERVIDOR PÚ...
## $ votos                                 <int> 8579, 2757, 17428, 1193,...

Descrição dos Dados

O significado das variáveis:

“sequencial_candidato” :(character) id do candidato
“nome”: (character)
“uf”: (character)
“partido”: (character)
“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_pessoas_fisicas”: (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
“recursos_de_partido_politico”: (double) quantia em R$ das doações provenientes do partido político do candidato
“votos”: (integer) variável alvo. Se refere ao número de votos na campanha de 2006 e 2010
“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
“cargo”: (character)
“Sexo”: (character)
“grau”: (character) grau de instrução do candidato
“estado_civil”: (character)
“ocupacao”: (character) ocupação do candidato

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) em 2006? Mesma pergunta para 2010.

Antes, iremos retirar algumas varíveis dos nosso modelo que não se mostram tão interessantes para nossa análise, como nome do candidato, seu cargo (tendo em vista que todos são iguais), ano da eleição, ocupação e o sequencial dos candidatos.
eleicoes_2006 <- dados %>% filter(ano == "2006") %>% select(-nome, -sequencial_candidato, -cargo, -ano, -ocupacao, -uf)

modelo <- lm(data = eleicoes_2006, votos ~ ., na.action = na.omit)

modelo %>%   summary()
## 
## Call:
## lm(formula = votos ~ ., data = eleicoes_2006, na.action = na.omit)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -224446   -8628   -3278    1851  629036 
## 
## Coefficients: (1 not defined because of singularities)
##                                         Estimate Std. Error t value
## (Intercept)                           -6.150e+03  5.044e+03  -1.219
## partidoPC do B                         9.356e+03  5.922e+03   1.580
## partidoPCB                            -3.463e+03  1.867e+04  -0.185
## partidoPCO                            -6.261e+02  1.355e+04  -0.046
## partidoPDT                             2.364e+03  4.598e+03   0.514
## partidoPFL                             9.975e+03  4.848e+03   2.057
## partidoPHS                            -1.325e+02  5.358e+03  -0.025
## partidoPL                              4.955e+03  4.891e+03   1.013
## partidoPMDB                            9.036e+03  4.641e+03   1.947
## partidoPMN                             2.436e+03  5.201e+03   0.468
## partidoPP                              1.716e+04  4.938e+03   3.476
## partidoPPS                            -3.615e+02  4.728e+03  -0.076
## partidoPRB                             5.247e+03  9.406e+03   0.558
## partidoPRONA                           4.983e+03  5.523e+03   0.902
## partidoPRP                             2.285e+02  6.420e+03   0.036
## partidoPRTB                           -9.314e+02  6.456e+03  -0.144
## partidoPSB                             6.335e+03  4.648e+03   1.363
## partidoPSC                             3.160e+03  5.082e+03   0.622
## partidoPSDB                            5.993e+03  4.688e+03   1.279
## partidoPSDC                           -1.614e+03  5.774e+03  -0.279
## partidoPSL                            -1.073e+03  6.332e+03  -0.169
## partidoPSOL                            1.868e+03  5.084e+03   0.367
## partidoPSTU                            6.471e+02  8.746e+03   0.074
## partidoPT                              6.317e+03  4.611e+03   1.370
## partidoPT do B                        -9.028e+01  6.556e+03  -0.014
## partidoPTB                             4.565e+03  4.879e+03   0.936
## partidoPTC                             7.668e+03  5.939e+03   1.291
## partidoPTN                            -1.087e+03  7.195e+03  -0.151
## partidoPV                              4.593e+02  4.670e+03   0.098
## quantidade_doacoes                    -8.326e+01  1.240e+02  -0.672
## quantidade_doadores                    3.363e+02  1.340e+02   2.510
## total_receita                         -1.069e-01  2.185e-02  -4.894
## media_receita                          1.132e+00  1.050e-01  10.786
## recursos_de_outros_candidatos.comites  4.035e-02  2.354e-02   1.714
## recursos_de_pessoas_fisicas            1.586e-01  2.222e-02   7.137
## recursos_de_pessoas_juridicas          7.586e-02  1.819e-02   4.170
## recursos_proprios                      1.344e-02  1.868e-02   0.719
## recursos_de_partido_politico                  NA         NA      NA
## quantidade_despesas                   -1.832e+01  9.843e+00  -1.861
## quantidade_fornecedores               -9.874e+00  1.305e+01  -0.756
## total_despesa                          1.352e-01  1.303e-02  10.378
## media_despesa                          7.074e-01  4.204e-01   1.683
## sexoMASCULINO                          3.773e+03  1.703e+03   2.215
## grauENSINO FUNDAMENTAL INCOMPLETO      7.591e+02  3.954e+03   0.192
## grauENSINO MÉDIO COMPLETO              2.012e+03  2.577e+03   0.781
## grauENSINO MÉDIO INCOMPLETO           -7.111e+02  4.105e+03  -0.173
## grauLÊ E ESCREVE                       1.066e+04  1.315e+04   0.811
## grauSUPERIOR COMPLETO                  4.666e+03  2.395e+03   1.948
## grauSUPERIOR INCOMPLETO                3.084e+03  2.812e+03   1.097
## estado_civilDIVORCIADO(A)             -2.274e+03  1.849e+03  -1.230
## estado_civilSEPARADO(A) JUDICIALMENTE -5.072e+02  2.544e+03  -0.199
## estado_civilSOLTEIRO(A)               -7.904e+02  1.471e+03  -0.537
## estado_civilVIÚVO(A)                  -2.321e+03  4.407e+03  -0.527
##                                       Pr(>|t|)    
## (Intercept)                           0.222787    
## partidoPC do B                        0.114240    
## partidoPCB                            0.852859    
## partidoPCO                            0.963135    
## partidoPDT                            0.607233    
## partidoPFL                            0.039723 *  
## partidoPHS                            0.980279    
## partidoPL                             0.311155    
## partidoPMDB                           0.051601 .  
## partidoPMN                            0.639594    
## partidoPP                             0.000516 ***
## partidoPPS                            0.939060    
## partidoPRB                            0.576984    
## partidoPRONA                          0.366989    
## partidoPRP                            0.971608    
## partidoPRTB                           0.885297    
## partidoPSB                            0.172955    
## partidoPSC                            0.534097    
## partidoPSDB                           0.201152    
## partidoPSDC                           0.779885    
## partidoPSL                            0.865419    
## partidoPSOL                           0.713402    
## partidoPSTU                           0.941029    
## partidoPT                             0.170786    
## partidoPT do B                        0.989015    
## partidoPTB                            0.349546    
## partidoPTC                            0.196760    
## partidoPTN                            0.879971    
## partidoPV                             0.921667    
## quantidade_doacoes                    0.501830    
## quantidade_doadores                   0.012107 *  
## total_receita                         1.03e-06 ***
## media_receita                          < 2e-16 ***
## recursos_de_outros_candidatos.comites 0.086554 .  
## recursos_de_pessoas_fisicas           1.16e-12 ***
## recursos_de_pessoas_juridicas         3.13e-05 ***
## recursos_proprios                     0.472002    
## recursos_de_partido_politico                NA    
## quantidade_despesas                   0.062824 .  
## quantidade_fornecedores               0.449432    
## total_despesa                          < 2e-16 ***
## media_despesa                         0.092502 .  
## sexoMASCULINO                         0.026833 *  
## grauENSINO FUNDAMENTAL INCOMPLETO     0.847777    
## grauENSINO MÉDIO COMPLETO             0.435046    
## grauENSINO MÉDIO INCOMPLETO           0.862475    
## grauLÊ E ESCREVE                      0.417703    
## grauSUPERIOR COMPLETO                 0.051479 .  
## grauSUPERIOR INCOMPLETO               0.272853    
## estado_civilDIVORCIADO(A)             0.218815    
## estado_civilSEPARADO(A) JUDICIALMENTE 0.841982    
## estado_civilSOLTEIRO(A)               0.591153    
## estado_civilVIÚVO(A)                  0.598507    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 31480 on 3384 degrees of freedom
## Multiple R-squared:  0.5279, Adjusted R-squared:  0.5207 
## F-statistic: 74.19 on 51 and 3384 DF,  p-value: < 2.2e-16
Para 2006, observamos que nosso R quadrado explica por volto de 54% dos dados, não é tão ruim, mas também não é dos melhores.
eleicoes_2010 <- dados %>% filter(ano == "2010") %>% select(-nome, -sequencial_candidato, -cargo, -ano, -ocupacao, -uf)

modelo2 <- lm(data = eleicoes_2010, votos ~ ., na.action = na.omit)

modelo2 %>%   summary()
## 
## Call:
## lm(formula = votos ~ ., data = eleicoes_2010, na.action = na.omit)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -204223  -10005   -4030    1498 1239333 
## 
## Coefficients: (1 not defined because of singularities)
##                                         Estimate Std. Error t value
## (Intercept)                            9.591e+03  4.075e+03   2.354
## partidoPC do B                        -2.932e+03  4.670e+03  -0.628
## partidoPCB                            -1.517e+04  1.149e+04  -1.320
## partidoPCO                            -9.036e+03  2.147e+04  -0.421
## partidoPDT                            -4.244e+03  3.797e+03  -1.118
## partidoPHS                            -1.017e+04  4.340e+03  -2.343
## partidoPMDB                            9.169e+02  3.592e+03   0.255
## partidoPMN                            -1.059e+04  4.111e+03  -2.577
## partidoPP                              1.617e+03  4.000e+03   0.404
## partidoPPS                            -4.061e+03  4.439e+03  -0.915
## partidoPR                              1.492e+04  4.287e+03   3.480
## partidoPRB                            -2.160e+03  4.611e+03  -0.469
## partidoPRP                            -1.065e+04  5.392e+03  -1.974
## partidoPRTB                           -1.200e+04  4.943e+03  -2.427
## partidoPSB                             2.628e+03  3.729e+03   0.705
## partidoPSC                            -4.201e+03  4.138e+03  -1.015
## partidoPSDB                           -3.290e+03  3.761e+03  -0.875
## partidoPSDC                           -1.181e+04  6.030e+03  -1.959
## partidoPSL                            -1.253e+04  4.548e+03  -2.755
## partidoPSOL                           -8.456e+03  4.030e+03  -2.098
## partidoPSTU                           -1.106e+04  8.072e+03  -1.371
## partidoPT                              1.874e+03  3.620e+03   0.518
## partidoPT do B                        -8.233e+03  4.831e+03  -1.704
## partidoPTB                            -6.784e+03  3.728e+03  -1.820
## partidoPTC                            -1.123e+04  3.957e+03  -2.837
## partidoPTN                            -1.249e+04  5.464e+03  -2.285
## partidoPV                             -8.819e+03  3.648e+03  -2.418
## quantidade_doacoes                     5.181e+01  5.365e+01   0.966
## quantidade_doadores                   -3.828e+01  6.221e+01  -0.615
## total_receita                         -8.239e-03  9.430e-03  -0.874
## media_receita                         -2.139e-01  5.393e-02  -3.966
## recursos_de_outros_candidatos.comites  6.728e-03  6.057e-03   1.111
## recursos_de_pessoas_fisicas            4.348e-02  9.969e-03   4.361
## recursos_de_pessoas_juridicas         -1.461e-03  5.555e-03  -0.263
## recursos_proprios                     -2.744e-02  4.971e-03  -5.520
## recursos_de_partido_politico                  NA         NA      NA
## quantidade_despesas                    1.269e+01  9.046e+00   1.403
## quantidade_fornecedores               -3.015e+01  1.105e+01  -2.729
## total_despesa                          8.215e-02  9.910e-03   8.289
## media_despesa                          1.760e-01  8.910e-02   1.975
## sexoMASCULINO                          2.559e+03  1.624e+03   1.576
## grauENSINO FUNDAMENTAL INCOMPLETO     -6.158e+02  4.470e+03  -0.138
## grauENSINO MÉDIO COMPLETO              4.414e+02  2.660e+03   0.166
## grauENSINO MÉDIO INCOMPLETO           -1.147e+03  4.101e+03  -0.280
## grauLÊ E ESCREVE                       4.922e+04  7.615e+03   6.463
## grauSUPERIOR COMPLETO                  4.388e+03  2.484e+03   1.767
## grauSUPERIOR INCOMPLETO                7.566e+02  2.918e+03   0.259
## estado_civilDIVORCIADO(A)             -2.975e+03  1.965e+03  -1.514
## estado_civilSEPARADO(A) JUDICIALMENTE -3.980e+03  3.168e+03  -1.256
## estado_civilSOLTEIRO(A)               -3.188e+03  1.479e+03  -2.155
## estado_civilVIÚVO(A)                  -5.902e+03  4.400e+03  -1.341
##                                       Pr(>|t|)    
## (Intercept)                           0.018644 *  
## partidoPC do B                        0.530141    
## partidoPCB                            0.186909    
## partidoPCO                            0.673928    
## partidoPDT                            0.263716    
## partidoPHS                            0.019197 *  
## partidoPMDB                           0.798539    
## partidoPMN                            0.010007 *  
## partidoPP                             0.686057    
## partidoPPS                            0.360270    
## partidoPR                             0.000507 ***
## partidoPRB                            0.639410    
## partidoPRP                            0.048434 *  
## partidoPRTB                           0.015272 *  
## partidoPSB                            0.481110    
## partidoPSC                            0.310123    
## partidoPSDB                           0.381851    
## partidoPSDC                           0.050186 .  
## partidoPSL                            0.005903 ** 
## partidoPSOL                           0.035945 *  
## partidoPSTU                           0.170536    
## partidoPT                             0.604688    
## partidoPT do B                        0.088417 .  
## partidoPTB                            0.068885 .  
## partidoPTC                            0.004574 ** 
## partidoPTN                            0.022375 *  
## partidoPV                             0.015666 *  
## quantidade_doacoes                    0.334238    
## quantidade_doadores                   0.538334    
## total_receita                         0.382330    
## media_receita                         7.43e-05 ***
## recursos_de_outros_candidatos.comites 0.266709    
## recursos_de_pessoas_fisicas           1.33e-05 ***
## recursos_de_pessoas_juridicas         0.792541    
## recursos_proprios                     3.61e-08 ***
## recursos_de_partido_politico                NA    
## quantidade_despesas                   0.160741    
## quantidade_fornecedores               0.006374 ** 
## total_despesa                          < 2e-16 ***
## media_despesa                         0.048337 *  
## sexoMASCULINO                         0.115117    
## grauENSINO FUNDAMENTAL INCOMPLETO     0.890416    
## grauENSINO MÉDIO COMPLETO             0.868228    
## grauENSINO MÉDIO INCOMPLETO           0.779726    
## grauLÊ E ESCREVE                      1.15e-10 ***
## grauSUPERIOR COMPLETO                 0.077361 .  
## grauSUPERIOR INCOMPLETO               0.795451    
## estado_civilDIVORCIADO(A)             0.130105    
## estado_civilSEPARADO(A) JUDICIALMENTE 0.209023    
## estado_civilSOLTEIRO(A)               0.031190 *  
## estado_civilVIÚVO(A)                  0.179875    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 36720 on 3990 degrees of freedom
## Multiple R-squared:  0.4578, Adjusted R-squared:  0.4511 
## F-statistic: 68.74 on 49 and 3990 DF,  p-value: < 2.2e-16
Para 2010, observamos que nosso R quadrado explica por volto de 47% dos dados, o que é pior que o do ano de 2006.
Agora, vamos complementar nossa primeira análise com os graficos:
modelo %>%
  ggplot(aes(.fitted, .resid)) + 
  geom_point() +
  stat_smooth(method="loess") + 
  geom_hline(col="red",
             yintercept = 0,
             linetype="dashed") + 
  labs(y="Resíduos",
       x="Valores Ajustados",
       title="Resíduos vs Valores Ajustados Plot (2006)")

modelo2 %>%
  ggplot(aes(.fitted, .resid)) + 
  geom_point() +
  stat_smooth(method="loess") + 
  geom_hline(col="red",
             yintercept = 0,
             linetype="dashed") + 
  labs(y="Resíduos",
       x="Valores Ajustados",
       title="Resíduos vs Valores Ajustados Plot (2010)")

Em ambos os gráficos, temos muitos pontos afastados da reta, o que nos diz que o modelo não se adequa tão bem aos dados.

2. Compare as regressões construídas para 2006 e 2010. Quais as diferenças/semelhanças percebidas?

Fazendo uma breve análise, os gráficos se mostram assimétricos e com um comportamento não aleatório, o que implica num modelo não ideal.
As variáveis que mais explicam os modelos apresentam poucas diferenças. Para 2006 temos que total_receita é bastante explicativa para o modelo, enquanto que para 2010 não é, já a variável recursos_próprios é bastante explicativa para o modelo em 2010, quando para 2006 não é.
Variáveis mais explicativas para 2006: recursos_de_pessoas_juridicas, recursos_de_pessoas_fisicas, total_despesa. Variáveis mais explicativas para 2010: recursos_de_pessoas_fisicas, recursos_proprios, total_despesa, media_receita. As menos explicativas para 2006: quantidade_doacoes, uf, quantidade_fornecedores. Para 2010: quantidade_doacoes, quantidade_doadores, total_receita.

3. Todas as variáveis são úteis para os modelos de regressão? Há variáveis redudantes? Faça análises para 2006 e 2010 separadamente

Iremos tirar do nosso modelo todas as variáveis categoricas, para que possamos analisar a correlação entre as variáveis quantitativas.
library(GGally)
el2006 <- eleicoes_2006 %>% select(-partido, -estado_civil, -sexo, -grau)

corr = el2006[, 0:14] %>%  cor() %>%  round(2)

corr %>%  ggcorr(label_size = 3, label = TRUE, label_color = "black", hjust = 0.925, size = 3.5, angle = -45) + labs(title = "2006")

el2010 <- eleicoes_2010 %>% select(-partido, -estado_civil, -sexo, -grau)

corr2 = el2010[, 0:14] %>%  cor() %>%  round(2)

corr2 %>%  ggcorr(label_size = 3, label = TRUE, label_color = "black", hjust = 0.925, size = 3.5, angle = -45) + labs(title = "2010")

Como existe uma correlação bem alta entre algumas variáveis, estas não são úteis para o modelo. Para 2006, a variável total_receita possui correlação muito alta com quase todas as outras variáveis, então podemos remover ela do modelo, bem como a variável quantidade_fornecedores
Já para 2010 a variável quantidade_fornecedores mostra alta correlação com quase todas as outras, media_despesa também, assim, podemos remover ambas.

4. 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 (e.g. em termos de R2 e RSE). Faça isso para 2006 e 2010 separadamente

e2006 <- el2006  %>% select(-total_receita, -quantidade_fornecedores)

modelo_novo <- lm(data = e2006, votos ~ ., na.action = na.omit)

modelo_novo %>%   summary()
## 
## Call:
## lm(formula = votos ~ ., data = e2006, na.action = na.omit)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -230763   -7028   -4502    -748  640530 
## 
## Coefficients:
##                                         Estimate Std. Error t value
## (Intercept)                           3829.14681  703.83513   5.440
## quantidade_doacoes                     -78.87028  124.25789  -0.635
## quantidade_doadores                    349.48281  134.18267   2.605
## media_receita                            1.21277    0.10412  11.647
## recursos_de_outros_candidatos.comites   -0.06471    0.01921  -3.369
## recursos_de_pessoas_fisicas              0.05737    0.01753   3.272
## recursos_de_pessoas_juridicas           -0.03088    0.01153  -2.678
## recursos_proprios                       -0.09454    0.01308  -7.227
## recursos_de_partido_politico            -0.10572    0.02178  -4.853
## quantidade_despesas                    -26.62830    3.36242  -7.919
## total_despesa                            0.13646    0.01279  10.665
## media_despesa                            0.86363    0.41790   2.067
##                                       Pr(>|t|)    
## (Intercept)                           5.69e-08 ***
## quantidade_doacoes                    0.525647    
## quantidade_doadores                   0.009240 ** 
## media_receita                          < 2e-16 ***
## recursos_de_outros_candidatos.comites 0.000764 ***
## recursos_de_pessoas_fisicas           0.001079 ** 
## recursos_de_pessoas_juridicas         0.007446 ** 
## recursos_proprios                     6.07e-13 ***
## recursos_de_partido_politico          1.27e-06 ***
## quantidade_despesas                   3.20e-15 ***
## total_despesa                          < 2e-16 ***
## media_despesa                         0.038849 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 31640 on 3424 degrees of freedom
## Multiple R-squared:  0.5173, Adjusted R-squared:  0.5158 
## F-statistic: 333.6 on 11 and 3424 DF,  p-value: < 2.2e-16
Para 2006, mesmo removendo as variáveis categóricas e aquelas que possuiam uma alta correlação com as outras, nosso modelo perdeu pouco mais de 1% de acuracia, o que indica que as variáveis removidas eram pouco úteis para explicação dos dados.
e2010 <- el2010  %>% select(-total_receita, -quantidade_despesas)

modelo_novo <- lm(data = e2010, votos ~ ., na.action = na.omit)

modelo_novo %>%   summary()
## 
## Call:
## lm(formula = votos ~ ., data = e2010, na.action = na.omit)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -222488   -8174   -7364   -3209 1303465 
## 
## Coefficients:
##                                         Estimate Std. Error t value
## (Intercept)                            8.313e+03  6.574e+02  12.645
## quantidade_doacoes                     4.464e+01  5.412e+01   0.825
## quantidade_doadores                   -2.953e+01  6.274e+01  -0.471
## media_receita                         -1.809e-01  5.411e-02  -3.343
## recursos_de_outros_candidatos.comites  2.775e-03  9.113e-03   0.305
## recursos_de_pessoas_fisicas            4.517e-02  1.196e-02   3.778
## recursos_de_pessoas_juridicas         -6.251e-03  8.094e-03  -0.772
## recursos_proprios                     -3.333e-02  8.555e-03  -3.896
## recursos_de_partido_politico          -2.996e-03  8.613e-03  -0.348
## quantidade_fornecedores               -1.490e+01  2.721e+00  -5.478
## total_despesa                          8.110e-02  8.904e-03   9.109
## media_despesa                          1.452e-01  9.004e-02   1.613
##                                       Pr(>|t|)    
## (Intercept)                            < 2e-16 ***
## quantidade_doacoes                    0.409534    
## quantidade_doadores                   0.637930    
## media_receita                         0.000837 ***
## recursos_de_outros_candidatos.comites 0.760736    
## recursos_de_pessoas_fisicas           0.000160 ***
## recursos_de_pessoas_juridicas         0.439965    
## recursos_proprios                     9.95e-05 ***
## recursos_de_partido_politico          0.727991    
## quantidade_fornecedores               4.55e-08 ***
## total_despesa                          < 2e-16 ***
## media_despesa                         0.106887    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 37330 on 4028 degrees of freedom
## Multiple R-squared:  0.4341, Adjusted R-squared:  0.4326 
## F-statistic: 280.9 on 11 and 4028 DF,  p-value: < 2.2e-16
Já para 2010, após remover as variáveis categóricas e com alta correlação, a capacidade explicativa do modelo para com os dados caiu de cerca de 47% para 43%. Uma queda maior que a de 2006, mas que ainda é pequena comparada ao benefício de retirar boa parte das variáveis que não contribuíam muito para o modelo.

5. Construa agora uma regressão considerando os anos 2006 e 2010 em conjunto. Que diferenças/semelhanças você percebe em relação aos modelos individuais por ano? Veja a questão 2 para sugestões que você usar para comparação.

eleicoes <- dados  %>% select(-nome, -sequencial_candidato, -cargo, -ano, -ocupacao, -uf)

modelo_novo <- lm(data = eleicoes, votos ~ ., na.action = na.omit)

modelo_novo %>%   summary()
## 
## Call:
## lm(formula = votos ~ ., data = eleicoes, na.action = na.omit)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -325910  -11474   -4532    1880 1261518 
## 
## Coefficients: (1 not defined because of singularities)
##                                         Estimate Std. Error t value
## (Intercept)                            5.298e+02  3.546e+03   0.149
## partidoPAN                            -4.051e+03  5.562e+03  -0.728
## partidoPC do B                         6.227e+03  4.029e+03   1.545
## partidoPCB                            -8.095e+03  1.004e+04  -0.806
## partidoPCO                            -5.023e+03  1.234e+04  -0.407
## partidoPDT                             8.718e+02  3.270e+03   0.267
## partidoPFL                             2.058e+04  3.893e+03   5.285
## partidoPHS                            -4.315e+03  3.747e+03  -1.152
## partidoPL                              7.604e+03  4.027e+03   1.888
## partidoPMDB                            1.055e+04  3.201e+03   3.297
## partidoPMN                            -2.993e+03  3.611e+03  -0.829
## partidoPP                              1.186e+04  3.463e+03   3.425
## partidoPPS                             2.934e+02  3.472e+03   0.085
## partidoPR                              1.876e+04  4.184e+03   4.485
## partidoPRB                             3.305e+03  4.341e+03   0.762
## partidoPRONA                           2.197e+03  5.004e+03   0.439
## partidoPRP                            -4.307e+03  4.496e+03  -0.958
## partidoPRTB                           -5.897e+03  4.291e+03  -1.374
## partidoPSB                             7.579e+03  3.275e+03   2.314
## partidoPSC                             1.563e+03  3.580e+03   0.437
## partidoPSDB                            6.522e+03  3.265e+03   1.997
## partidoPSDC                           -5.275e+03  4.448e+03  -1.186
## partidoPSL                            -6.287e+03  4.058e+03  -1.550
## partidoPSOL                           -2.255e+03  3.544e+03  -0.636
## partidoPSTU                           -4.180e+03  6.317e+03  -0.662
## partidoPT                              9.809e+03  3.197e+03   3.068
## partidoPT do B                        -2.887e+03  4.252e+03  -0.679
## partidoPTB                             1.281e+03  3.354e+03   0.382
## partidoPTC                            -2.905e+03  3.656e+03  -0.795
## partidoPTN                            -6.275e+03  4.707e+03  -1.333
## partidoPV                             -2.387e+03  3.263e+03  -0.732
## quantidade_doacoes                    -5.290e+01  4.796e+01  -1.103
## quantidade_doadores                    1.013e+02  5.536e+01   1.830
## total_receita                         -4.303e-02  7.757e-03  -5.548
## media_receita                          1.003e-01  4.698e-02   2.135
## recursos_de_outros_candidatos.comites  1.772e-02  5.697e-03   3.110
## recursos_de_pessoas_fisicas            8.824e-02  8.460e-03  10.430
## recursos_de_pessoas_juridicas          4.092e-02  4.752e-03   8.612
## recursos_proprios                     -3.066e-03  4.532e-03  -0.677
## recursos_de_partido_politico                  NA         NA      NA
## quantidade_despesas                    1.604e+01  6.592e+00   2.434
## quantidade_fornecedores               -4.051e+01  8.217e+00  -4.931
## total_despesa                          9.318e-02  7.843e-03  11.880
## media_despesa                         -4.035e-02  8.372e-02  -0.482
## sexoMASCULINO                          3.760e+03  1.225e+03   3.069
## grauENSINO FUNDAMENTAL INCOMPLETO     -1.275e+02  3.126e+03  -0.041
## grauENSINO MÉDIO COMPLETO              1.783e+03  1.945e+03   0.917
## grauENSINO MÉDIO INCOMPLETO           -1.100e+03  3.040e+03  -0.362
## grauLÊ E ESCREVE                       4.317e+04  6.608e+03   6.533
## grauSUPERIOR COMPLETO                  6.337e+03  1.810e+03   3.502
## grauSUPERIOR INCOMPLETO                2.857e+03  2.128e+03   1.342
## estado_civilDIVORCIADO(A)             -2.797e+03  1.417e+03  -1.973
## estado_civilSEPARADO(A) JUDICIALMENTE -1.780e+03  2.112e+03  -0.843
## estado_civilSOLTEIRO(A)               -3.155e+03  1.092e+03  -2.890
## estado_civilVIÚVO(A)                  -4.794e+03  3.260e+03  -1.471
##                                       Pr(>|t|)    
## (Intercept)                           0.881216    
## partidoPAN                            0.466403    
## partidoPC do B                        0.122290    
## partidoPCB                            0.420008    
## partidoPCO                            0.683922    
## partidoPDT                            0.789787    
## partidoPFL                            1.29e-07 ***
## partidoPHS                            0.249498    
## partidoPL                             0.059057 .  
## partidoPMDB                           0.000983 ***
## partidoPMN                            0.407176    
## partidoPP                             0.000619 ***
## partidoPPS                            0.932643    
## partidoPR                             7.41e-06 ***
## partidoPRB                            0.446356    
## partidoPRONA                          0.660623    
## partidoPRP                            0.338090    
## partidoPRTB                           0.169354    
## partidoPSB                            0.020675 *  
## partidoPSC                            0.662437    
## partidoPSDB                           0.045821 *  
## partidoPSDC                           0.235696    
## partidoPSL                            0.121295    
## partidoPSOL                           0.524676    
## partidoPSTU                           0.508261    
## partidoPT                             0.002164 ** 
## partidoPT do B                        0.497215    
## partidoPTB                            0.702547    
## partidoPTC                            0.426856    
## partidoPTN                            0.182487    
## partidoPV                             0.464402    
## quantidade_doacoes                    0.270097    
## quantidade_doadores                   0.067217 .  
## total_receita                         2.99e-08 ***
## media_receita                         0.032804 *  
## recursos_de_outros_candidatos.comites 0.001877 ** 
## recursos_de_pessoas_fisicas            < 2e-16 ***
## recursos_de_pessoas_juridicas          < 2e-16 ***
## recursos_proprios                     0.498707    
## recursos_de_partido_politico                NA    
## quantidade_despesas                   0.014957 *  
## quantidade_fornecedores               8.38e-07 ***
## total_despesa                          < 2e-16 ***
## media_despesa                         0.629834    
## sexoMASCULINO                         0.002153 ** 
## grauENSINO FUNDAMENTAL INCOMPLETO     0.967460    
## grauENSINO MÉDIO COMPLETO             0.359328    
## grauENSINO MÉDIO INCOMPLETO           0.717577    
## grauLÊ E ESCREVE                      6.87e-11 ***
## grauSUPERIOR COMPLETO                 0.000465 ***
## grauSUPERIOR INCOMPLETO               0.179589    
## estado_civilDIVORCIADO(A)             0.048528 *  
## estado_civilSEPARADO(A) JUDICIALMENTE 0.399172    
## estado_civilSOLTEIRO(A)               0.003866 ** 
## estado_civilVIÚVO(A)                  0.141455    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 35930 on 7422 degrees of freedom
## Multiple R-squared:  0.4373, Adjusted R-squared:  0.4333 
## F-statistic: 108.8 on 53 and 7422 DF,  p-value: < 2.2e-16
De cara percemos que nosso R quadrado e RSL caíram.
Variáveis mais explicativas: recursos_de_pessoas_juridicas, recursos_de_pessoas_fisicas, total_despesa, quantidade_fornecedores e total_receita. As menos explicativas: recursos_proprios, media_despesa, quantidade_doacoes e quantidade_doares.
Percebemos uma ligeira mudança quanto as análises individuais, mas a maior foi a variável quantidade_fornecedores se tornando muito explicativa no modelo quando analisamos os dados dos dois anos em conjunto, em contrapartida das análises individuais, onde ela era pouco/pouquíssimo explicativa.
Para mais informações acesse: http://www.tse.jus.br/