library(readr)
library(knitr)
library(tidyverse)

Introdução

Esta análise utilizará conceitos de regressão linear para tentar explicar as votações que os deputados receberam em 2014. Os dados foram extraídos do TSE e contemplam aproximadamente 5000 candidatos. As perguntas se encontram abaixo.

Antes, vamos importar os dados referentes às eleições de 2014. Antes de utilizar os dados, é necessário fazer alguns ajustes, tais quais tratamento de NAs e alterar os tipos de algumas variáveis de factor para character.

O tratamento de NAs escolhido para essa análise foi substituir todos os NAs pela mediana de valores daquela coluna para evitar a perda de dados.

eleicoes2014 <- read.csv("../database/eleicoes2014.csv", encoding = "latin1") %>%
  mutate(nome = as.character(nome),
         UF = as.character(UF),
         partido = as.character(partido),
         setor_economico_receita = as.character(setor_economico_receita),
         setor_economico_despesa = as.character(setor_economico_despesa),
         cargo = as.character(cargo),
         sexo = as.character(sexo),
         grau = as.character(grau),
         estado_civil = as.character(estado_civil)
         )

eleicoes2014$recursos_de_outros_candidatos.comites <- replace(eleicoes2014$recursos_de_outros_candidatos.comites, is.na(eleicoes2014$recursos_de_outros_candidatos.comites), median(eleicoes2014$recursos_de_outros_candidatos.comites, na.rm = TRUE))

eleicoes2014$recursos_de_partidos <- replace(eleicoes2014$recursos_de_partidos, is.na(eleicoes2014$recursos_de_partidos), median(eleicoes2014$recursos_de_partidos, na.rm = TRUE))

eleicoes2014$recursos_de_pessoas_físicas <- replace(eleicoes2014$recursos_de_pessoas_físicas, is.na(eleicoes2014$recursos_de_pessoas_físicas), median(eleicoes2014$recursos_de_pessoas_físicas, na.rm = TRUE))

eleicoes2014$recursos_de_pessoas_juridicas <- replace(eleicoes2014$recursos_de_pessoas_juridicas, is.na(eleicoes2014$recursos_de_pessoas_juridicas), median(eleicoes2014$recursos_de_pessoas_juridicas, na.rm = TRUE))

eleicoes2014$recursos_proprios <- replace(eleicoes2014$recursos_proprios, is.na(eleicoes2014$recursos_proprios), median(eleicoes2014$recursos_proprios, na.rm = TRUE))

Perguntas

Nesse primeiro momento, a análise terá caráter exploratório. Vamos verificar a influência das variáveis na variável de saída votos, além de analisar outros pontos referentes aos resíduos e a geração de um modelo usando regressão linear múltipla.

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)?

Primeiro, vejamos o panorama geral dos dados, ou seja, quais colunas o data frame contém e o que significam.

eleicoes2014 %>%
  glimpse()
## Observations: 4,152
## Variables: 26
## $ sequencial_candidato                  <dbl> 1.0e+11, 5.0e+10, 2.5e+1...
## $ nome                                  <chr> "LOURIVAL MENDES DA FONS...
## $ numero_cadidato                       <int> 7070, 1540, 3333, 1522, ...
## $ UF                                    <chr> "MA", "BA", "SP", "MS", ...
## $ partido                               <chr> "PT do B", "PMDB", "PMN"...
## $ setor_economico_receita               <chr> "#NULO", "#NULO", "Ativi...
## $ quantidade_doacoes                    <int> 23, 5, 8, 48, 11, 9, 20,...
## $ quantidade_doadores                   <int> 14, 5, 3, 25, 6, 7, 11, ...
## $ total_receita                         <dbl> 151566.39, 161770.58, 27...
## $ media_receita                         <dbl> 6589.8430, 32354.1160, 3...
## $ recursos_de_outros_candidatos.comites <dbl> 4217.50, 50000.00, 4217....
## $ recursos_de_partidos                  <dbl> 6325.485, 103670.580, 24...
## $ recursos_de_pessoas_físicas           <dbl> 92350.00, 8100.00, 4550....
## $ recursos_de_pessoas_juridicas         <dbl> 20000.00, 28086.00, 2808...
## $ recursos_proprios                     <dbl> 39216.39, 5019.35, 250.0...
## $ votos                                 <int> 27277, 9477, 2943, 4421,...
## $ quantidade_despesas                   <int> 72, 13, 8, 245, 18, 23, ...
## $ quantidade_fornecedores               <int> 26, 7, 3, 139, 13, 9, 23...
## $ total_despesa                         <dbl> 151566.39, 161770.58, 27...
## $ media_despesa                         <dbl> 2105.0887, 12443.8908, 3...
## $ setor_economico_despesa               <chr> "#NULO", "Impressão de m...
## $ cargo                                 <chr> "DEPUTADO FEDERAL", "DEP...
## $ idade                                 <int> 59, 58, 61, 36, 26, 40, ...
## $ sexo                                  <chr> "MASCULINO", "MASCULINO"...
## $ grau                                  <chr> "SUPERIOR COMPLETO", "EN...
## $ estado_civil                          <chr> "CASADO(A)", "DIVORCIADO...

Existem 26 variáveis no nosso data frame e o seus significados são:

  • “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” : (int)
  • “Sexo”: (character)
  • “Grau”: (character)
  • “Estado_civil”: (character)

De cara percebemos que algumas variáveis não influenciam na variável de saída, pois são apenas para identificação do deputado, tal como nome, sequencial_candidato e numero_candidato. Cargo também não influencia no modelo, haja visto que todos os cargos são os mesmos (deputado federal). Algumas variáveis são lidas e tratadas como fatores de muitos níveis no modelo de regressão linear, o que atrapalha a leitura e interpretação deste. Por esse motivo, essas variáveis também serão desconsideradas: setor_economico_despesa e setor_economico_receita.

Podemos criar um modelo de regressão linear sem essas variáveis e ver o que acontece.

eleicoes_filtradas <- eleicoes2014 %>%
  select(-nome, -sequencial_candidato, -numero_cadidato, -cargo, -setor_economico_despesa, -setor_economico_receita)

modelo <- lm(data = eleicoes_filtradas, votos ~ .)

modelo %>% 
  summary()
## 
## Call:
## lm(formula = votos ~ ., data = eleicoes_filtradas)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -300288   -7949   -1395    4009 1228948 
## 
## Coefficients:
##                                         Estimate Std. Error t value
## (Intercept)                           -2.875e+03  6.888e+03  -0.417
## UFAL                                   1.589e+04  6.429e+03   2.471
## UFAM                                   1.485e+04  6.755e+03   2.198
## UFAP                                   8.568e+03  6.281e+03   1.364
## UFBA                                   1.950e+04  5.568e+03   3.502
## UFCE                                   2.254e+04  5.720e+03   3.941
## UFDF                                   9.792e+03  6.030e+03   1.624
## UFES                                   1.392e+04  5.940e+03   2.344
## UFGO                                   1.343e+04  6.535e+03   2.056
## UFMA                                   2.206e+04  5.795e+03   3.806
## UFMG                                   1.525e+04  5.254e+03   2.903
## UFMS                                   2.673e+03  6.021e+03   0.444
## UFMT                                   9.148e+03  6.579e+03   1.391
## UFPA                                   2.037e+04  5.800e+03   3.512
## UFPB                                   2.534e+04  6.468e+03   3.917
## UFPE                                   2.228e+04  6.016e+03   3.704
## UFPI                                   1.609e+04  6.541e+03   2.461
## UFPR                                   1.749e+04  5.504e+03   3.177
## UFRJ                                   1.381e+04  5.166e+03   2.674
## UFRN                                   2.221e+04  6.487e+03   3.424
## UFRO                                   6.938e+03  6.512e+03   1.065
## UFRR                                   8.562e+03  6.422e+03   1.333
## UFRS                                   1.769e+04  5.479e+03   3.228
## UFSC                                   2.166e+04  6.161e+03   3.516
## UFSE                                   2.057e+04  6.788e+03   3.031
## UFSP                                   1.514e+04  5.120e+03   2.957
## UFTO                                   4.493e+03  7.110e+03   0.632
## partidoPCB                            -6.112e+03  7.476e+03  -0.818
## partidoPC do B                        -1.181e+04  5.388e+03  -2.192
## partidoPCO                            -4.536e+03  1.197e+04  -0.379
## partidoPDT                            -1.094e+04  4.073e+03  -2.686
## partidoPEN                            -9.609e+03  4.461e+03  -2.154
## partidoPHS                            -7.393e+03  4.301e+03  -1.719
## partidoPMDB                           -4.245e+03  3.956e+03  -1.073
## partidoPMN                            -9.522e+03  4.671e+03  -2.039
## partidoPP                             -3.679e+03  4.474e+03  -0.822
## partidoPPL                            -1.197e+04  6.110e+03  -1.959
## partidoPPS                            -8.826e+03  4.981e+03  -1.772
## partidoPR                             -1.730e+03  4.470e+03  -0.387
## partidoPRB                             6.765e+02  4.255e+03   0.159
## partidoPROS                           -8.354e+03  5.499e+03  -1.519
## partidoPRP                            -6.752e+03  4.554e+03  -1.483
## partidoPRTB                           -8.333e+03  4.564e+03  -1.826
## partidoPSB                            -8.920e+03  3.957e+03  -2.254
## partidoPSC                            -3.216e+03  4.644e+03  -0.692
## partidoPSD                            -4.751e+03  4.549e+03  -1.044
## partidoPSDB                           -1.315e+03  4.041e+03  -0.325
## partidoPSDC                           -6.880e+03  4.538e+03  -1.516
## partidoPSL                            -1.000e+04  4.634e+03  -2.159
## partidoPSOL                           -5.046e+03  3.989e+03  -1.265
## partidoPSTU                           -6.064e+03  5.378e+03  -1.128
## partidoPT                             -9.498e+03  3.987e+03  -2.382
## partidoPTB                            -4.892e+03  4.247e+03  -1.152
## partidoPTC                            -1.011e+04  4.670e+03  -2.164
## partidoPT do B                        -8.973e+03  4.542e+03  -1.976
## partidoPTN                            -4.206e+03  5.069e+03  -0.830
## partidoPV                             -8.566e+03  4.138e+03  -2.070
## partidoSD                             -6.682e+03  4.601e+03  -1.452
## quantidade_doacoes                    -1.042e+01  2.680e+01  -0.389
## quantidade_doadores                    2.453e+02  3.930e+01   6.240
## total_receita                          3.489e-01  4.084e-02   8.544
## media_receita                          3.672e-01  5.249e-02   6.995
## recursos_de_outros_candidatos.comites -2.156e-01  4.090e-02  -5.271
## recursos_de_partidos                  -3.158e-01  4.015e-02  -7.866
## recursos_de_pessoas_físicas           -3.121e-01  4.143e-02  -7.532
## recursos_de_pessoas_juridicas         -3.038e-01  4.012e-02  -7.570
## recursos_proprios                     -3.277e-01  4.042e-02  -8.109
## quantidade_despesas                    4.695e+01  4.283e+00  10.961
## quantidade_fornecedores               -5.202e+01  6.213e+00  -8.373
## total_despesa                         -2.538e-02  7.430e-03  -3.416
## media_despesa                          1.832e+00  4.030e-01   4.547
## idade                                  3.774e+01  4.820e+01   0.783
## sexoMASCULINO                          1.874e+03  1.195e+03   1.568
## grauENSINO FUNDAMENTAL INCOMPLETO      1.483e+03  3.876e+03   0.383
## grauENSINO MÉDIO COMPLETO              9.051e+02  2.400e+03   0.377
## grauENSINO MÉDIO INCOMPLETO            1.223e+03  3.909e+03   0.313
## grauLÊ E ESCREVE                       5.410e+02  7.596e+03   0.071
## grauSUPERIOR COMPLETO                  3.172e+03  2.296e+03   1.381
## grauSUPERIOR INCOMPLETO               -1.372e+03  2.680e+03  -0.512
## estado_civilDIVORCIADO(A)             -9.940e+01  1.673e+03  -0.059
## estado_civilSEPARADO(A) JUDICIALMENTE -4.512e+03  3.705e+03  -1.218
## estado_civilSOLTEIRO(A)               -3.572e+02  1.267e+03  -0.282
## estado_civilVIÚVO(A)                  -6.314e+03  3.720e+03  -1.697
##                                       Pr(>|t|)    
## (Intercept)                           0.676417    
## UFAL                                  0.013505 *  
## UFAM                                  0.027977 *  
## UFAP                                  0.172573    
## UFBA                                  0.000467 ***
## UFCE                                  8.26e-05 ***
## UFDF                                  0.104473    
## UFES                                  0.019120 *  
## UFGO                                  0.039890 *  
## UFMA                                  0.000143 ***
## UFMG                                  0.003715 ** 
## UFMS                                  0.657078    
## UFMT                                  0.164428    
## UFPA                                  0.000449 ***
## UFPB                                  9.12e-05 ***
## UFPE                                  0.000215 ***
## UFPI                                  0.013911 *  
## UFPR                                  0.001497 ** 
## UFRJ                                  0.007528 ** 
## UFRN                                  0.000623 ***
## UFRO                                  0.286789    
## UFRR                                  0.182545    
## UFRS                                  0.001256 ** 
## UFSC                                  0.000443 ***
## UFSE                                  0.002455 ** 
## UFSP                                  0.003126 ** 
## UFTO                                  0.527494    
## partidoPCB                            0.413668    
## partidoPC do B                        0.028458 *  
## partidoPCO                            0.704709    
## partidoPDT                            0.007256 ** 
## partidoPEN                            0.031297 *  
## partidoPHS                            0.085687 .  
## partidoPMDB                           0.283318    
## partidoPMN                            0.041550 *  
## partidoPP                             0.410908    
## partidoPPL                            0.050151 .  
## partidoPPS                            0.076457 .  
## partidoPR                             0.698871    
## partidoPRB                            0.873692    
## partidoPROS                           0.128765    
## partidoPRP                            0.138245    
## partidoPRTB                           0.067974 .  
## partidoPSB                            0.024238 *  
## partidoPSC                            0.488752    
## partidoPSD                            0.296359    
## partidoPSDB                           0.744927    
## partidoPSDC                           0.129589    
## partidoPSL                            0.030945 *  
## partidoPSOL                           0.205956    
## partidoPSTU                           0.259553    
## partidoPT                             0.017251 *  
## partidoPTB                            0.249524    
## partidoPTC                            0.030527 *  
## partidoPT do B                        0.048266 *  
## partidoPTN                            0.406726    
## partidoPV                             0.038525 *  
## partidoSD                             0.146537    
## quantidade_doacoes                    0.697513    
## quantidade_doadores                   4.81e-10 ***
## total_receita                          < 2e-16 ***
## media_receita                         3.10e-12 ***
## recursos_de_outros_candidatos.comites 1.42e-07 ***
## recursos_de_partidos                  4.67e-15 ***
## recursos_de_pessoas_físicas           6.10e-14 ***
## recursos_de_pessoas_juridicas         4.58e-14 ***
## recursos_proprios                     6.71e-16 ***
## quantidade_despesas                    < 2e-16 ***
## quantidade_fornecedores                < 2e-16 ***
## total_despesa                         0.000642 ***
## media_despesa                         5.60e-06 ***
## idade                                 0.433645    
## sexoMASCULINO                         0.116886    
## grauENSINO FUNDAMENTAL INCOMPLETO     0.702040    
## grauENSINO MÉDIO COMPLETO             0.706088    
## grauENSINO MÉDIO INCOMPLETO           0.754470    
## grauLÊ E ESCREVE                      0.943217    
## grauSUPERIOR COMPLETO                 0.167257    
## grauSUPERIOR INCOMPLETO               0.608630    
## estado_civilDIVORCIADO(A)             0.952637    
## estado_civilSEPARADO(A) JUDICIALMENTE 0.223417    
## estado_civilSOLTEIRO(A)               0.778043    
## estado_civilVIÚVO(A)                  0.089704 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32230 on 4069 degrees of freedom
## Multiple R-squared:  0.5034, Adjusted R-squared:  0.4934 
## F-statistic:  50.3 on 82 and 4069 DF,  p-value: < 2.2e-16

2. Todas as variáveis são úteis para o modelo de regressão? Há variáveis redudantes?

Não, algumas variáveis servem apenas para identificar quem é o deputado, como um ID. Inclusive, estes campo são redundantes: O numero_cadidato, o sequencial_cadidato. O nome também não é útil para a variável de saída nesse modelo.

Formalizando um pouco mais, podemos utilizar um método de busca exaustiva no contexto de seleção de variáveis. Essa seleção de variáveis diagnostica quais variáveis estão associadas à variável resposta.

Por questões de simplicidade na geração do modelo utilizando esse método vamos desconsiderar partidos e estados (UF), pois eles contém muitos níveis de fator fazendo com que haja demora no processamento dos dados.

library(leaps)

eleicoes_filtradas <- eleicoes_filtradas %>%
  select(-partido, -UF)

regsubsets.out <-
    regsubsets(votos ~ .,
               data = eleicoes_filtradas,
               nbest = 1,       # 1 único modelo para cada cojunto de preditores
               nvmax = NULL,    # NULL para não haver limite no número de variáveis preditoras
               force.in = NULL, force.out = NULL,
               method = "exhaustive",
               really.big=T)

summary.out <- summary(regsubsets.out)
summary.out
## Subset selection object
## Call: regsubsets.formula(votos ~ ., data = eleicoes_filtradas, nbest = 1, 
##     nvmax = NULL, force.in = NULL, force.out = NULL, method = "exhaustive", 
##     really.big = T)
## 25 Variables  (and intercept)
##                                       Forced in Forced out
## quantidade_doacoes                        FALSE      FALSE
## quantidade_doadores                       FALSE      FALSE
## total_receita                             FALSE      FALSE
## media_receita                             FALSE      FALSE
## recursos_de_outros_candidatos.comites     FALSE      FALSE
## recursos_de_partidos                      FALSE      FALSE
## recursos_de_pessoas_físicas               FALSE      FALSE
## recursos_de_pessoas_juridicas             FALSE      FALSE
## recursos_proprios                         FALSE      FALSE
## quantidade_despesas                       FALSE      FALSE
## quantidade_fornecedores                   FALSE      FALSE
## total_despesa                             FALSE      FALSE
## media_despesa                             FALSE      FALSE
## idade                                     FALSE      FALSE
## sexoMASCULINO                             FALSE      FALSE
## grauENSINO FUNDAMENTAL INCOMPLETO         FALSE      FALSE
## grauENSINO MÉDIO COMPLETO                 FALSE      FALSE
## grauENSINO MÉDIO INCOMPLETO               FALSE      FALSE
## grauLÊ E ESCREVE                          FALSE      FALSE
## grauSUPERIOR COMPLETO                     FALSE      FALSE
## grauSUPERIOR INCOMPLETO                   FALSE      FALSE
## estado_civilDIVORCIADO(A)                 FALSE      FALSE
## estado_civilSEPARADO(A) JUDICIALMENTE     FALSE      FALSE
## estado_civilSOLTEIRO(A)                   FALSE      FALSE
## estado_civilVIÚVO(A)                      FALSE      FALSE
## 1 subsets of each size up to 25
## Selection Algorithm: exhaustive
##           quantidade_doacoes quantidade_doadores total_receita
## 1  ( 1 )  " "                " "                 "*"          
## 2  ( 1 )  " "                " "                 "*"          
## 3  ( 1 )  " "                "*"                 "*"          
## 4  ( 1 )  " "                "*"                 "*"          
## 5  ( 1 )  " "                "*"                 " "          
## 6  ( 1 )  " "                "*"                 "*"          
## 7  ( 1 )  " "                "*"                 "*"          
## 8  ( 1 )  " "                "*"                 "*"          
## 9  ( 1 )  " "                "*"                 "*"          
## 10  ( 1 ) " "                "*"                 "*"          
## 11  ( 1 ) " "                "*"                 "*"          
## 12  ( 1 ) " "                "*"                 "*"          
## 13  ( 1 ) " "                "*"                 "*"          
## 14  ( 1 ) " "                "*"                 "*"          
## 15  ( 1 ) " "                "*"                 "*"          
## 16  ( 1 ) " "                "*"                 "*"          
## 17  ( 1 ) " "                "*"                 "*"          
## 18  ( 1 ) " "                "*"                 "*"          
## 19  ( 1 ) " "                "*"                 "*"          
## 20  ( 1 ) "*"                "*"                 "*"          
## 21  ( 1 ) "*"                "*"                 "*"          
## 22  ( 1 ) "*"                "*"                 "*"          
## 23  ( 1 ) "*"                "*"                 "*"          
## 24  ( 1 ) "*"                "*"                 "*"          
## 25  ( 1 ) "*"                "*"                 "*"          
##           media_receita recursos_de_outros_candidatos.comites
## 1  ( 1 )  " "           " "                                  
## 2  ( 1 )  " "           "*"                                  
## 3  ( 1 )  " "           "*"                                  
## 4  ( 1 )  "*"           "*"                                  
## 5  ( 1 )  "*"           "*"                                  
## 6  ( 1 )  "*"           "*"                                  
## 7  ( 1 )  "*"           "*"                                  
## 8  ( 1 )  "*"           "*"                                  
## 9  ( 1 )  "*"           "*"                                  
## 10  ( 1 ) "*"           "*"                                  
## 11  ( 1 ) "*"           "*"                                  
## 12  ( 1 ) "*"           "*"                                  
## 13  ( 1 ) "*"           "*"                                  
## 14  ( 1 ) "*"           "*"                                  
## 15  ( 1 ) "*"           "*"                                  
## 16  ( 1 ) "*"           "*"                                  
## 17  ( 1 ) "*"           "*"                                  
## 18  ( 1 ) "*"           "*"                                  
## 19  ( 1 ) "*"           "*"                                  
## 20  ( 1 ) "*"           "*"                                  
## 21  ( 1 ) "*"           "*"                                  
## 22  ( 1 ) "*"           "*"                                  
## 23  ( 1 ) "*"           "*"                                  
## 24  ( 1 ) "*"           "*"                                  
## 25  ( 1 ) "*"           "*"                                  
##           recursos_de_partidos recursos_de_pessoas_físicas
## 1  ( 1 )  " "                  " "                        
## 2  ( 1 )  " "                  " "                        
## 3  ( 1 )  " "                  " "                        
## 4  ( 1 )  " "                  " "                        
## 5  ( 1 )  " "                  " "                        
## 6  ( 1 )  " "                  " "                        
## 7  ( 1 )  " "                  " "                        
## 8  ( 1 )  " "                  " "                        
## 9  ( 1 )  " "                  " "                        
## 10  ( 1 ) "*"                  "*"                        
## 11  ( 1 ) "*"                  "*"                        
## 12  ( 1 ) "*"                  "*"                        
## 13  ( 1 ) "*"                  "*"                        
## 14  ( 1 ) "*"                  "*"                        
## 15  ( 1 ) "*"                  "*"                        
## 16  ( 1 ) "*"                  "*"                        
## 17  ( 1 ) "*"                  "*"                        
## 18  ( 1 ) "*"                  "*"                        
## 19  ( 1 ) "*"                  "*"                        
## 20  ( 1 ) "*"                  "*"                        
## 21  ( 1 ) "*"                  "*"                        
## 22  ( 1 ) "*"                  "*"                        
## 23  ( 1 ) "*"                  "*"                        
## 24  ( 1 ) "*"                  "*"                        
## 25  ( 1 ) "*"                  "*"                        
##           recursos_de_pessoas_juridicas recursos_proprios
## 1  ( 1 )  " "                           " "              
## 2  ( 1 )  " "                           " "              
## 3  ( 1 )  " "                           " "              
## 4  ( 1 )  " "                           " "              
## 5  ( 1 )  " "                           " "              
## 6  ( 1 )  " "                           " "              
## 7  ( 1 )  " "                           " "              
## 8  ( 1 )  " "                           " "              
## 9  ( 1 )  " "                           "*"              
## 10  ( 1 ) "*"                           "*"              
## 11  ( 1 ) "*"                           "*"              
## 12  ( 1 ) "*"                           "*"              
## 13  ( 1 ) "*"                           "*"              
## 14  ( 1 ) "*"                           "*"              
## 15  ( 1 ) "*"                           "*"              
## 16  ( 1 ) "*"                           "*"              
## 17  ( 1 ) "*"                           "*"              
## 18  ( 1 ) "*"                           "*"              
## 19  ( 1 ) "*"                           "*"              
## 20  ( 1 ) "*"                           "*"              
## 21  ( 1 ) "*"                           "*"              
## 22  ( 1 ) "*"                           "*"              
## 23  ( 1 ) "*"                           "*"              
## 24  ( 1 ) "*"                           "*"              
## 25  ( 1 ) "*"                           "*"              
##           quantidade_despesas quantidade_fornecedores total_despesa
## 1  ( 1 )  " "                 " "                     " "          
## 2  ( 1 )  " "                 " "                     " "          
## 3  ( 1 )  " "                 " "                     " "          
## 4  ( 1 )  " "                 " "                     " "          
## 5  ( 1 )  "*"                 "*"                     " "          
## 6  ( 1 )  "*"                 "*"                     " "          
## 7  ( 1 )  "*"                 "*"                     " "          
## 8  ( 1 )  "*"                 "*"                     " "          
## 9  ( 1 )  "*"                 "*"                     " "          
## 10  ( 1 ) "*"                 "*"                     " "          
## 11  ( 1 ) "*"                 "*"                     " "          
## 12  ( 1 ) "*"                 "*"                     "*"          
## 13  ( 1 ) "*"                 "*"                     "*"          
## 14  ( 1 ) "*"                 "*"                     "*"          
## 15  ( 1 ) "*"                 "*"                     "*"          
## 16  ( 1 ) "*"                 "*"                     "*"          
## 17  ( 1 ) "*"                 "*"                     "*"          
## 18  ( 1 ) "*"                 "*"                     "*"          
## 19  ( 1 ) "*"                 "*"                     "*"          
## 20  ( 1 ) "*"                 "*"                     "*"          
## 21  ( 1 ) "*"                 "*"                     "*"          
## 22  ( 1 ) "*"                 "*"                     "*"          
## 23  ( 1 ) "*"                 "*"                     "*"          
## 24  ( 1 ) "*"                 "*"                     "*"          
## 25  ( 1 ) "*"                 "*"                     "*"          
##           media_despesa idade sexoMASCULINO
## 1  ( 1 )  " "           " "   " "          
## 2  ( 1 )  " "           " "   " "          
## 3  ( 1 )  " "           " "   " "          
## 4  ( 1 )  " "           " "   " "          
## 5  ( 1 )  " "           " "   " "          
## 6  ( 1 )  " "           " "   " "          
## 7  ( 1 )  "*"           " "   " "          
## 8  ( 1 )  "*"           " "   " "          
## 9  ( 1 )  "*"           " "   " "          
## 10  ( 1 ) " "           " "   " "          
## 11  ( 1 ) "*"           " "   " "          
## 12  ( 1 ) "*"           " "   " "          
## 13  ( 1 ) "*"           " "   " "          
## 14  ( 1 ) "*"           " "   "*"          
## 15  ( 1 ) "*"           " "   "*"          
## 16  ( 1 ) "*"           " "   "*"          
## 17  ( 1 ) "*"           " "   "*"          
## 18  ( 1 ) "*"           "*"   "*"          
## 19  ( 1 ) "*"           "*"   "*"          
## 20  ( 1 ) "*"           "*"   "*"          
## 21  ( 1 ) "*"           "*"   "*"          
## 22  ( 1 ) "*"           "*"   "*"          
## 23  ( 1 ) "*"           "*"   "*"          
## 24  ( 1 ) "*"           "*"   "*"          
## 25  ( 1 ) "*"           "*"   "*"          
##           grauENSINO FUNDAMENTAL INCOMPLETO grauENSINO MÉDIO COMPLETO
## 1  ( 1 )  " "                               " "                      
## 2  ( 1 )  " "                               " "                      
## 3  ( 1 )  " "                               " "                      
## 4  ( 1 )  " "                               " "                      
## 5  ( 1 )  " "                               " "                      
## 6  ( 1 )  " "                               " "                      
## 7  ( 1 )  " "                               " "                      
## 8  ( 1 )  " "                               " "                      
## 9  ( 1 )  " "                               " "                      
## 10  ( 1 ) " "                               " "                      
## 11  ( 1 ) " "                               " "                      
## 12  ( 1 ) " "                               " "                      
## 13  ( 1 ) " "                               " "                      
## 14  ( 1 ) " "                               " "                      
## 15  ( 1 ) " "                               " "                      
## 16  ( 1 ) " "                               " "                      
## 17  ( 1 ) " "                               " "                      
## 18  ( 1 ) " "                               " "                      
## 19  ( 1 ) " "                               " "                      
## 20  ( 1 ) " "                               " "                      
## 21  ( 1 ) " "                               " "                      
## 22  ( 1 ) "*"                               "*"                      
## 23  ( 1 ) "*"                               "*"                      
## 24  ( 1 ) "*"                               "*"                      
## 25  ( 1 ) "*"                               "*"                      
##           grauENSINO MÉDIO INCOMPLETO grauLÊ E ESCREVE
## 1  ( 1 )  " "                         " "             
## 2  ( 1 )  " "                         " "             
## 3  ( 1 )  " "                         " "             
## 4  ( 1 )  " "                         " "             
## 5  ( 1 )  " "                         " "             
## 6  ( 1 )  " "                         " "             
## 7  ( 1 )  " "                         " "             
## 8  ( 1 )  " "                         " "             
## 9  ( 1 )  " "                         " "             
## 10  ( 1 ) " "                         " "             
## 11  ( 1 ) " "                         " "             
## 12  ( 1 ) " "                         " "             
## 13  ( 1 ) " "                         " "             
## 14  ( 1 ) " "                         " "             
## 15  ( 1 ) " "                         " "             
## 16  ( 1 ) " "                         " "             
## 17  ( 1 ) " "                         " "             
## 18  ( 1 ) " "                         " "             
## 19  ( 1 ) " "                         " "             
## 20  ( 1 ) " "                         " "             
## 21  ( 1 ) " "                         " "             
## 22  ( 1 ) " "                         " "             
## 23  ( 1 ) "*"                         " "             
## 24  ( 1 ) "*"                         "*"             
## 25  ( 1 ) "*"                         "*"             
##           grauSUPERIOR COMPLETO grauSUPERIOR INCOMPLETO
## 1  ( 1 )  " "                   " "                    
## 2  ( 1 )  " "                   " "                    
## 3  ( 1 )  " "                   " "                    
## 4  ( 1 )  " "                   " "                    
## 5  ( 1 )  " "                   " "                    
## 6  ( 1 )  " "                   " "                    
## 7  ( 1 )  " "                   " "                    
## 8  ( 1 )  "*"                   " "                    
## 9  ( 1 )  "*"                   " "                    
## 10  ( 1 ) " "                   " "                    
## 11  ( 1 ) " "                   " "                    
## 12  ( 1 ) " "                   " "                    
## 13  ( 1 ) "*"                   " "                    
## 14  ( 1 ) "*"                   " "                    
## 15  ( 1 ) "*"                   " "                    
## 16  ( 1 ) "*"                   "*"                    
## 17  ( 1 ) "*"                   "*"                    
## 18  ( 1 ) "*"                   "*"                    
## 19  ( 1 ) "*"                   "*"                    
## 20  ( 1 ) "*"                   "*"                    
## 21  ( 1 ) "*"                   "*"                    
## 22  ( 1 ) "*"                   " "                    
## 23  ( 1 ) "*"                   " "                    
## 24  ( 1 ) "*"                   " "                    
## 25  ( 1 ) "*"                   "*"                    
##           estado_civilDIVORCIADO(A) estado_civilSEPARADO(A) JUDICIALMENTE
## 1  ( 1 )  " "                       " "                                  
## 2  ( 1 )  " "                       " "                                  
## 3  ( 1 )  " "                       " "                                  
## 4  ( 1 )  " "                       " "                                  
## 5  ( 1 )  " "                       " "                                  
## 6  ( 1 )  " "                       " "                                  
## 7  ( 1 )  " "                       " "                                  
## 8  ( 1 )  " "                       " "                                  
## 9  ( 1 )  " "                       " "                                  
## 10  ( 1 ) " "                       " "                                  
## 11  ( 1 ) " "                       " "                                  
## 12  ( 1 ) " "                       " "                                  
## 13  ( 1 ) " "                       " "                                  
## 14  ( 1 ) " "                       " "                                  
## 15  ( 1 ) " "                       " "                                  
## 16  ( 1 ) " "                       " "                                  
## 17  ( 1 ) " "                       "*"                                  
## 18  ( 1 ) " "                       "*"                                  
## 19  ( 1 ) "*"                       "*"                                  
## 20  ( 1 ) "*"                       "*"                                  
## 21  ( 1 ) "*"                       "*"                                  
## 22  ( 1 ) "*"                       "*"                                  
## 23  ( 1 ) "*"                       "*"                                  
## 24  ( 1 ) "*"                       "*"                                  
## 25  ( 1 ) "*"                       "*"                                  
##           estado_civilSOLTEIRO(A) estado_civilVIÚVO(A)
## 1  ( 1 )  " "                     " "                 
## 2  ( 1 )  " "                     " "                 
## 3  ( 1 )  " "                     " "                 
## 4  ( 1 )  " "                     " "                 
## 5  ( 1 )  " "                     " "                 
## 6  ( 1 )  " "                     " "                 
## 7  ( 1 )  " "                     " "                 
## 8  ( 1 )  " "                     " "                 
## 9  ( 1 )  " "                     " "                 
## 10  ( 1 ) " "                     " "                 
## 11  ( 1 ) " "                     " "                 
## 12  ( 1 ) " "                     " "                 
## 13  ( 1 ) " "                     " "                 
## 14  ( 1 ) " "                     " "                 
## 15  ( 1 ) " "                     "*"                 
## 16  ( 1 ) " "                     "*"                 
## 17  ( 1 ) " "                     "*"                 
## 18  ( 1 ) " "                     "*"                 
## 19  ( 1 ) " "                     "*"                 
## 20  ( 1 ) " "                     "*"                 
## 21  ( 1 ) "*"                     "*"                 
## 22  ( 1 ) "*"                     "*"                 
## 23  ( 1 ) "*"                     "*"                 
## 24  ( 1 ) "*"                     "*"                 
## 25  ( 1 ) "*"                     "*"

A chamada ao summary.out mostra qual o melhor modelo para cada tamanho do subconjunto de variáveis. O melhor modelo é definido pelo R² ajustado - que é a capacidade que o modelo tem de explicar os dados - e p valor.

Verificando qual modelo possui o melhor R², temos:

which.max(summary.out$adjr2)
## [1] 17

Quais variáveis estão presentes nesse modelo?

var <- summary.out$which[17,]
var
##                           (Intercept) 
##                                  TRUE 
##                    quantidade_doacoes 
##                                 FALSE 
##                   quantidade_doadores 
##                                  TRUE 
##                         total_receita 
##                                  TRUE 
##                         media_receita 
##                                  TRUE 
## recursos_de_outros_candidatos.comites 
##                                  TRUE 
##                  recursos_de_partidos 
##                                  TRUE 
##           recursos_de_pessoas_físicas 
##                                  TRUE 
##         recursos_de_pessoas_juridicas 
##                                  TRUE 
##                     recursos_proprios 
##                                  TRUE 
##                   quantidade_despesas 
##                                  TRUE 
##               quantidade_fornecedores 
##                                  TRUE 
##                         total_despesa 
##                                  TRUE 
##                         media_despesa 
##                                  TRUE 
##                                 idade 
##                                 FALSE 
##                         sexoMASCULINO 
##                                  TRUE 
##     grauENSINO FUNDAMENTAL INCOMPLETO 
##                                 FALSE 
##             grauENSINO MÉDIO COMPLETO 
##                                 FALSE 
##           grauENSINO MÉDIO INCOMPLETO 
##                                 FALSE 
##                      grauLÊ E ESCREVE 
##                                 FALSE 
##                 grauSUPERIOR COMPLETO 
##                                  TRUE 
##               grauSUPERIOR INCOMPLETO 
##                                  TRUE 
##             estado_civilDIVORCIADO(A) 
##                                 FALSE 
## estado_civilSEPARADO(A) JUDICIALMENTE 
##                                  TRUE 
##               estado_civilSOLTEIRO(A) 
##                                 FALSE 
##                  estado_civilVIÚVO(A) 
##                                  TRUE
indexes <- which(summary.out$which[17,])
not_indexes <- which(!summary.out$which[17,])

var_true <- names(var)[indexes]
var_false <- names(var)[not_indexes]

No total se encontram 17 variáveis que têm alguma influência na variável de saída.

var_true
##  [1] "(Intercept)"                          
##  [2] "quantidade_doadores"                  
##  [3] "total_receita"                        
##  [4] "media_receita"                        
##  [5] "recursos_de_outros_candidatos.comites"
##  [6] "recursos_de_partidos"                 
##  [7] "recursos_de_pessoas_físicas"          
##  [8] "recursos_de_pessoas_juridicas"        
##  [9] "recursos_proprios"                    
## [10] "quantidade_despesas"                  
## [11] "quantidade_fornecedores"              
## [12] "total_despesa"                        
## [13] "media_despesa"                        
## [14] "sexoMASCULINO"                        
## [15] "grauSUPERIOR COMPLETO"                
## [16] "grauSUPERIOR INCOMPLETO"              
## [17] "estado_civilSEPARADO(A) JUDICIALMENTE"
## [18] "estado_civilVIÚVO(A)"

As variáveis que não influenciam em votos:

var_false
## [1] "quantidade_doacoes"                "idade"                            
## [3] "grauENSINO FUNDAMENTAL INCOMPLETO" "grauENSINO MÉDIO COMPLETO"        
## [5] "grauENSINO MÉDIO INCOMPLETO"       "grauLÊ E ESCREVE"                 
## [7] "estado_civilDIVORCIADO(A)"         "estado_civilSOLTEIRO(A)"

Vamos construir o modelo sem as variáveis que não influenciam em votos. Como grau e estado_civil possuem níveis de fatores que também influenciam em votos, vamos conservar essas duas variáveis.

modelo_melhorado <- eleicoes_filtradas %>%
  select(
    -quantidade_doacoes, -idade
  )

modelo_agora_vai <- lm(formula = votos ~ ., modelo_melhorado)
summary(modelo_agora_vai)
## 
## Call:
## lm(formula = votos ~ ., data = modelo_melhorado)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -303830   -6617   -1168    2635 1243899 
## 
## Coefficients:
##                                         Estimate Std. Error t value
## (Intercept)                            7.397e+03  2.836e+03   2.608
## quantidade_doadores                    2.347e+02  2.397e+01   9.789
## total_receita                          3.511e-01  3.952e-02   8.884
## media_receita                          3.973e-01  4.906e-02   8.099
## recursos_de_outros_candidatos.comites -2.209e-01  3.963e-02  -5.574
## recursos_de_partidos                  -3.144e-01  3.880e-02  -8.103
## recursos_de_pessoas_físicas           -3.120e-01  4.003e-02  -7.795
## recursos_de_pessoas_juridicas         -3.026e-01  3.873e-02  -7.812
## recursos_proprios                     -3.269e-01  3.906e-02  -8.371
## quantidade_despesas                    4.810e+01  4.214e+00  11.415
## quantidade_fornecedores               -5.481e+01  6.049e+00  -9.061
## total_despesa                         -2.821e-02  7.390e-03  -3.818
## media_despesa                          2.015e+00  3.941e-01   5.114
## sexoMASCULINO                          1.900e+03  1.185e+03   1.604
## grauENSINO FUNDAMENTAL INCOMPLETO      2.030e+03  3.877e+03   0.524
## grauENSINO MÉDIO COMPLETO              1.387e+03  2.393e+03   0.580
## grauENSINO MÉDIO INCOMPLETO            1.117e+03  3.905e+03   0.286
## grauLÊ E ESCREVE                       1.711e+03  7.590e+03   0.225
## grauSUPERIOR COMPLETO                  3.485e+03  2.286e+03   1.524
## grauSUPERIOR INCOMPLETO               -7.429e+02  2.649e+03  -0.280
## estado_civilDIVORCIADO(A)             -1.312e+03  1.660e+03  -0.790
## estado_civilSEPARADO(A) JUDICIALMENTE -4.472e+03  3.705e+03  -1.207
## estado_civilSOLTEIRO(A)               -1.088e+03  1.204e+03  -0.904
## estado_civilVIÚVO(A)                  -5.746e+03  3.693e+03  -1.556
##                                       Pr(>|t|)    
## (Intercept)                           0.009133 ** 
## quantidade_doadores                    < 2e-16 ***
## total_receita                          < 2e-16 ***
## media_receita                         7.22e-16 ***
## recursos_de_outros_candidatos.comites 2.65e-08 ***
## recursos_de_partidos                  7.01e-16 ***
## recursos_de_pessoas_físicas           8.12e-15 ***
## recursos_de_pessoas_juridicas         7.09e-15 ***
## recursos_proprios                      < 2e-16 ***
## quantidade_despesas                    < 2e-16 ***
## quantidade_fornecedores                < 2e-16 ***
## total_despesa                         0.000137 ***
## media_despesa                         3.30e-07 ***
## sexoMASCULINO                         0.108794    
## grauENSINO FUNDAMENTAL INCOMPLETO     0.600628    
## grauENSINO MÉDIO COMPLETO             0.562107    
## grauENSINO MÉDIO INCOMPLETO           0.774881    
## grauLÊ E ESCREVE                      0.821690    
## grauSUPERIOR COMPLETO                 0.127533    
## grauSUPERIOR INCOMPLETO               0.779133    
## estado_civilDIVORCIADO(A)             0.429311    
## estado_civilSEPARADO(A) JUDICIALMENTE 0.227504    
## estado_civilSOLTEIRO(A)               0.366272    
## estado_civilVIÚVO(A)                  0.119783    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32460 on 4128 degrees of freedom
## Multiple R-squared:  0.489,  Adjusted R-squared:  0.4861 
## F-statistic: 171.7 on 23 and 4128 DF,  p-value: < 2.2e-16

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 (e.g. em termos de R2 e RSE).

Com o modelo construído anteriormente, apesar de sexo, grau e estado_civil serem considerados relevantes, após uma análise no segundo modelo podemos perceber que seus p valores são muito altos, de forma que podemos criar um novo modelo sem essas variáveis.

modelo_final <- modelo_melhorado %>%
  select(
    -sexo, -grau, -estado_civil
  )

modelo_agora_vai2 <- lm(formula = votos ~ ., modelo_final)
summary(modelo_agora_vai2)
## 
## Call:
## lm(formula = votos ~ ., data = modelo_final)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -308197   -6631    -834    2121 1245139 
## 
## Coefficients:
##                                         Estimate Std. Error t value
## (Intercept)                            1.087e+04  1.441e+03   7.543
## quantidade_doadores                    2.395e+02  2.395e+01   9.999
## total_receita                          3.776e-01  3.873e-02   9.749
## media_receita                          4.076e-01  4.892e-02   8.332
## recursos_de_outros_candidatos.comites -2.474e-01  3.884e-02  -6.369
## recursos_de_partidos                  -3.412e-01  3.798e-02  -8.983
## recursos_de_pessoas_físicas           -3.380e-01  3.926e-02  -8.610
## recursos_de_pessoas_juridicas         -3.291e-01  3.793e-02  -8.677
## recursos_proprios                     -3.538e-01  3.825e-02  -9.249
## quantidade_despesas                    4.821e+01  4.212e+00  11.446
## quantidade_fornecedores               -5.506e+01  6.046e+00  -9.107
## total_despesa                         -2.803e-02  7.395e-03  -3.791
## media_despesa                          2.066e+00  3.936e-01   5.249
##                                       Pr(>|t|)    
## (Intercept)                           5.63e-14 ***
## quantidade_doadores                    < 2e-16 ***
## total_receita                          < 2e-16 ***
## media_receita                          < 2e-16 ***
## recursos_de_outros_candidatos.comites 2.12e-10 ***
## recursos_de_partidos                   < 2e-16 ***
## recursos_de_pessoas_físicas            < 2e-16 ***
## recursos_de_pessoas_juridicas          < 2e-16 ***
## recursos_proprios                      < 2e-16 ***
## quantidade_despesas                    < 2e-16 ***
## quantidade_fornecedores                < 2e-16 ***
## total_despesa                         0.000152 ***
## media_despesa                         1.61e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32490 on 4139 degrees of freedom
## Multiple R-squared:  0.4868, Adjusted R-squared:  0.4854 
## F-statistic: 327.2 on 12 and 4139 DF,  p-value: < 2.2e-16

Comparando o primeiro modelo gerado e o último, temos:

Análise da estatística F

Para os dois casos, o F possui um valor maior que 1 e o tamanho da amostra é maior que o número de preditores. A estatística F revela se há relação entre alguma variável preditora e a variável de saída. Para o primeiro caso, F = 50.3 e para o segundo caso, F = 327.2.

Análise do p valor

Os p valores do primeiro modelo em algumas variáveis é bem alto, indicando uma alta probabilidade de que estas não influenciem na variável de saída. É o caso de alguns partidos, idade, sexo, grau e estado civil.

No último modelo, todos os p valores das variáveis estão muito baixos, o que apontam a influência muito forte destas na variável de saída.

Análise do RSE

Para o primeiro modelo, temos Residual standard error: 32230 on 4069 degrees of freedom contra Residual standard error: 32490 on 4139 degrees of freedom do modelo final. Embora o segundo modelo apresente um RSE maior, este apresenta mais graus de liberdade.

Análise do R² e R² ajustado

O R² é o quadrado da correlação entre variável resposta e o modelo linear ajustado e mede a fração da variância explicada. Embora o primeiro modelo apresente um valor R² maior - Multiple R-squared: 0.5034, Adjusted R-squared: 0.4934 contra Multiple R-squared: 0.4868, Adjusted R-squared: 0.4854 do modelo final - Isso não significa que o modelo final está incorreto ou menos preciso, mostra apenas que o modelo se adequa menos aos dados, porém ganha em poder de generalização. Não devemos considerar apenas o R² para a seleção de variáveis, mas sempre aliar essa leitura ao p valor.

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

modelo_final$residuals <- residuals(modelo_agora_vai2)

nomes_variaveis <- c(names(modelo_final), "residuals")

plotDF <- reshape2::melt(modelo_final[, nomes_variaveis], id="residuals")

ggplot(plotDF, aes(x=value, y=residuals)) + 
  geom_point(color="slateblue") + facet_wrap(~variable)

Os gráficos de resíduos apontam alguns outliers, mas em geral os pontos se concentram próximos à 0 no eixo y, o que indica que o modelo não subestima ou superestima os valores.

5. Quais variáveis conseguem explicar melhor o número de votos?

Pela análise dos p valores podemos perceber que os valores mais baixos são das variáveis: quantidade_doadores, total_receita, media_receita,recursos_de_outros_candidatos.comites, recursos_de_partidos, recursos_de_pessoas_fisicas, recursos_de_pessoas_juridicas, recursos_proprios, quantidade_despesas, quantidade_fornecedores, total_despesa e media_despesa. O p valor é um forte indicador de correlação entre a variável de saída e a variável analisada, pois aponta a probabilidade dessa correlação entre as variáveis ser aleatória. Ou seja, quanto menor essa probabilidade, maior a chance da correlação ser relevante ou existente.