O objetivo principal do que se segue é verificar o que explica o aumento do antipetismo no Alto Vale do Itajaí
Outro objetivo é ensinar passo a passo a fazer uma regressão linear múltipla no R
library(readxl)#pacote para ler arquivos de Excel
base <- read_excel("base.xlsx") _ baixei o arquivo de excel criado para essa análise – para poder baixá-lo deve estar na mesma pasta
Obs- caso queira o acesso ao Script e a base de dados utilizada, basta entrar em Contato
Um dado interessante que consta em estudo já apresentado nesse site (DETERMINANTES DO VOTO NO ALTO VALE) é a diferença entre a votação em Aécio Neves em 2014 e Bolsonaro em 2018 em cada um dos 28 municípios do alto vale. Para isso criamos um banco de dados que contém os seguintes dados.
library(tidyverse)
str(base) # para ver lista
CIDADE – o nome de cada uma das 28 cidades do Alto Vale
Neves14 – votação percentual de Aécio Neves 2014 (segundo turno)
Bolsonaro2018 – votação percentual de Bolsonaro em 2018 (segundo turno)
aumento – basicamente, Bolsonaro2018 – Neves14. Trata-se da variável dependente.
pt_ganhou_2014 – 1 sim para o caso do PT ter ganho mais de 50% dos votos válidos na cidade, 0 - não
PARTIDO_PREF_2016 – o partido do prefeito eleito em 2016.
MDB_pref – recodificação de PARTIDO_PREF_2016, sendo 1 para prefeito do (P)MDB e 0 para outro partido.
Lula2006 – votação percentual de Lula em 2006 (segundo turno)
Ciro2018 – votação percentual de Ciro Gomes em 2018 (segundo turno)
superior_comp - % de pessoas com escolaridade superior completa ou acima na cidade (TSE 2018)
masculino - % de homens na cidade (TSE 2018)
pop – tamanho do eleitorado em 2018 (logaritimizado)
Rio do sul, era a cidade mais antipetista em 2014 e foi a que teve o menor aumento do antipetismo. Já em Vidal Ramos, ocorre o oposto. A cidade em que Aécio recebeu menos votos, foi também a que teve o maior aumento do voto antipetista em 2018.
Nossa hipótese é que a onda bolsonarista foi "mais impactante" nas cidades em que o antipetismo não era tão acentuado em 2018. Uma vez que em cidades em que Aécio Neves recebeu maior votação já se caracterizavam pelo antipetismo mais aflorado já em 2014 e portanto foram menos impactadas pela onda Bolsonaro.
Hipótese 1 – Quanto mais votos teve Dilma em 2014 na cidade, maior o resultado da subtração: ‘Bolsonaro2018’ - ‘Neves14’
table(base$pt_ganhou_2014) # para ver em quanto municípios o PT ganhou no segundo turno de 2014
Foram somente 3 os munícipios em o PT “ganhou” em 2014, mesmo assim nossa análise prévia mostra que há fortes indícios de que será uma variável considerável para aumento.
Outro fator que será testado é o partido do prefeito. Trabalharemos com a variável 'MDB_pref' para testar essa relação.
A nossa expectativa é de que não haverá relação entre o percentual de aumento e o partido do prefeito eleito em 2016. Nossa suspeita é que a onda Bolsonaro teve amplo apoio na região e que por isso não é esperado que a legenda do prefeito tenha qualquer efeito. Além disso, os partidos são fracos moderadores na democracia brasileira. São muito diferentes a nível nacional, estadual e municipal.
Mesmo o fato de que a nível estadual e nacional, o MDB não tenha apoiado Bolsonaro, não faz com que tenhamos quaisquer expectativa de haver alguma influência entre 'MDB_pref' e 'aumento'.
Hipótese 2- Não há relação entre o partido do prefeito eleito de 2016 e o resultado da subtração: ‘Bolsonaro2018’ - ‘Neves14’
table(base$MDB_pref) # só para conferir
14 municípios tinham o MDB (PMDB à época) como partido do prefeito e 14 tinham outros partidos.
base$aumento <- 100*base$aumento # operação necessária para ajustar a variável
options("scipen"=100, "digits"=4) # operação necessária para evitar que os números apareçam em notação científica.
modelo1 <- lm(aumento ~ pt_ganhou_2014, data = base)
modelo2 <- lm(aumento ~ MDB_pref, data = base)
modelo3 <- lm(aumento ~ pt_ganhou_2014 + MDB_pref, data = base)
A imagem acima apresenta os elementos que compõem o código para gerar uma regressão linear múltipla. O modelo 3 que contempla as 3 variáveis centrais à nossa análise, é composto de:
Variável Dependente (a ser explicada) → ‘aumento’.
Variável independente (explicativa) 1 → ‘pt_ganhou_2014’
Variável independente (explicativa) 2 → ‘MDB_pref’
library(huxtable) # pacote para gerar tabelas com apresentação dos modelos de regressão
huxreg(modelo1, modelo2, modelo3, stars = c(`*` = 0.1, `**` = 0.05,
`***` = 0.01), statistics = c("N. obs." = "nobs", "R2" = "r.squared",
"AIC" = "AIC"))
A imagem 2 apresenta os resultados de três modelos de regressão, com ‘aumento’ como variável explicativa.
No primeiro, somente ‘pt_ganhou_2014’ é a variável explicativa e o resultado aparece assim:
pt_ganhou_2014 → 7.545***
Isso nos informa que a ‘pt_ganhou_2014’ é estatisticamente significante à p > 0.01 (99% de confiança) como denotam os três asteriscos. Uma vez significante, é possível interpretar o resultado do modelo (1):
O modelo (1) prevê que um município do Alto Vale ter tido maioria dos votos no segundo turno em 2014 para Dilma Roussef(PT) amplifica em 7.54 % a diferença de votação de Jair Bolsonaro em 2018 comparado com Aécio Neves em 2014.
O modelo (2) analisa somente ‘MDB_pref’ como variável e não encontra significância estatística, uma vez que não há asterisco ao lado do valor 1.967.
Já o modelo (3) junta os dois preditores (‘MDB_pref’ e ‘pt_ganhou_2014’) e segue apontando somente ‘pt_ganhou_2014’ como significante. Nesse modelo, mais completo, a variável tem força explicativa de 7,275%.
A imagem acima também reporta 3 valores úteis para comparar os 3 modelos:
N. obs. – é número de casos. Como nossa base são 28 municípios no Alto Vale, os 3 modelos tem o mesmo valor.
R2 – capacidade preditiva do modelo – quanto maior melhor. Nesse quesito observamos que o modelo (3) sai-se melhor
AIC – Quanto mais baixo melhor, nesse quesito, o modelo (1) tem melhor ajuste. Embora a diferença seja bem tênue
Dado que ‘MDB_pref’ não é significante, é de se esperar que os modelos (1) e (3) tenham valores similares de R2 e AIC.
library(coefplot) # pacote necessário para apresentar graficamente a regressão
coefplot(modelo3, intercept = F)
A imagem 3 replica de forma gráfica o modelo (3).
A presença de prefeitos do MDB na imagem acima aparenta, assim como Dilma ter “ganho” em 2014, como positivamente correlacionada com ‘aumento’. Mas como o valor da variável relacionado à prefeitura passa em cima de zero(linha tracejada) não é possível fazer essa afirmação com segurança.
Que tal ampliar o modelo 3 inserindo mais variáveis? É o que fazemos a seguir:
modelo_completo <- lm(aumento ~ pt_ganhou_2014 + MDB_pref + Lula2006 + Ciro2018 + superior_comp + masculino + pop, data = base)
huxreg(modelo_completo, stars = c(`*` = 0.1, `**` = 0.05,
`***` = 0.01), statistics = c("N. obs." = "nobs", "R2" = "r.squared",
"AIC" = "AIC"))
+
coefplot(modelo_comp_aumento, intercept = F)
Percebemos que a adição de outras variáveis explicativas aumentou a capacidade explicativa do modelo (R2 maior) e prevê maior efeito do PT (9.155) ter ‘ganho’ em 2014. Entretanto, nenhuma variável além dessa última é estatisticamente significante (veja na imagem 6 só ‘pt_ganhou_2014’ não passa na linha tracejada, indicando ser a única variável explicativa estatisticamente significante).
Reiteramos que as Hipóteses um e dois foram confirmadas pelos dados.
Os resultados da regressão não corroboram achados nacionais sobre as eleições de 2018. Bolsonaro foi mais vitorioso que seu oponente petista Fernando Haddad nas cidades maiores, já nas menores o petista saiu-se melhor (LINK - https://veja.abril.com.br/politica/voto-petista-resiste-em-municipios-pequenos-no-interior-do-pais/)
Por outro lado aqueles de curso superior são tradicionalmente mais antipetistas (https://istoe.com.br/eleitores-de-bolsonaro-jovens-com-diploma-e-com-renda-mais-alta/)
Faz-se supor que a interação entre o tamanho do eleitorado da cidade (‘pop’) e a % de pessoas com escolaridade superior (‘superior_comp’) tenha relação com ser menos afetado pela onda Bolsonarista. Uma vez que já eram mais afeitos ao antipetismo. Como mostram os dados abaixo:
p <- ggplot(base, aes(x=pop, y=Neves14)) + # Informa os dados a serem utilizadps
geom_point() # Informa que eu quero um gráfico de dispersão.
p
p1 <- p + geom_smooth(method=lm) # Acrescenta a linha de tendência e o intervalo de confiança de predição
p1
p <- ggplot(base, aes(x=superior_comp, y=Neves14)) + # Informa os dados a serem utilizadps
geom_point() # Informa que eu quero um gráfico de dispersão.
p
p1 <- p + geom_smooth(method=lm) # Acrescenta a linha de tendência e o intervalo de confiança de predição
p1
Há uma perceptível relação entre as duas variáveis e a votação em Neves.
Por isso criamos um modelo que interage a '% de curso superior' e o 'tamanho da população', isso inclui uma variável que avalia somente o caso de munícipio de maior população com maior porcentagem de formados no curso superior.
modelo_interacao <- lm(aumento ~ pt_ganhou_2014 + MDB_pref + Lula2006 + Ciro2018 +
superior_comp + masculino + pop + pop*superior_comp, data = base)
huxreg(modelo_interacao, stars = c(`*` = 0.1, `**` = 0.05,
`***` = 0.01), statistics = c("N. obs." = "nobs", "R2" = "r.squared",
"AIC" = "AIC"))
Com a adição dessa variável, os efeitos sofrem alterações. O modelo prevê que o PT ter “ganho” no munícipio em 2014 eleva 8,898 pontos percentuais no aumento do antipetismo no munícipio.
O modelo prevê também que ter 1% a mais de eleitores com curso superior eleva em cerca de 8% (com 99% de segurança) o aumento do antipetismo no munícipio. Esse efeito é esperado, pois na votação de Bolsonaro, % de curso superior foi um forte preditor de sua vitória.
O modelo prevê, entretanto, que essa variável quando interagido com o tamanho da cidade, tem sentido oposto. Ou seja, se tiver maior percentual de formados no curso superior, mas a cidade for mais populosa ‘aumento’ é menor em cerca de 0,9% (com 99% de segurança).
Uma vez que o tamanho da cidade já era um moderado indicador de antipetismo em 2014 (vide imagem 6), o efeito interagido de escolaridade e tamanho da cidade fez com houvesse menor efeito da onda bolsonarista nessas cidades.
Aqui claramente, Rio do Sul, como a segunda cidade com maior votação em Aécio Neves em 2014, a mais populosa da região e que dispõem do maior contingente de formados, contribui decisivamente para esse efeito.
Convém lembrar que o Alto Vale já era um forte reduto do antipetismo em 2014, e portanto é de se esperar que a onda Bolsonaro fosse bem acolhida. Uma vez que esse fenômeno foi espraiado por todo o país, é de se supor que seu resultado fosse mais surpreendente em cidades menos antipetistas em pleitos anteriores. Nossos dados corroboram esse achado.
Veja também: