# Correlações, valores de p e comparação eleitoral

Versão 1.2.0 · dados consultados em 29/10/2026.

Autoria: Arthur José Sales Aguiar Paixão e Guilherme Marques · LabHD UFOP.

## Universo e grupos

A unidade é a localidade eleitoral territorial do TSE, por UF e código TSE. São 5.571 localidades, incluindo Brasília e Fernando de Noronha; o exterior é excluído. Cada localidade tem peso 1. Não se usam códigos IBGE como chave eleitoral.

No padrão nacional de 13–24/10/2026 há 609 localidades com pelo menos um registro de agenda vinculado e 4.962 sem registro na base, totalizando 1.169 anúncios vinculados. O catálogo preserva 1.177 registros, inclusive cinco sem vínculo geográfico seguro, dois no exterior e um posterior ao segundo turno. Sem registro não prova ausência de atos; a agenda não comprova realização ou público.

Filtros de território, porte e busca selecionam as observações. As datas selecionam os registros e mudam a classificação de presença e a quantidade de anúncios; os resultados dos dois turnos permanecem fixos. As faixas de porte usam válidos do primeiro turno: até 10 mil; mais de 10 mil até 50 mil; mais de 50 mil até 200 mil; mais de 200 mil.

## Votos de Flávio e conferência da coleta

Flávio Nantes Bolsonaro foi identificado no arquivo oficial pelo número 22, nome de urna FLAVIO BOLSONARO, partido PL e SQ 280002551544. A votação foi somada por UF, município TSE e turno a partir de `votacao_candidato_munzona_2026_BR.csv`, geração 29/10/2026 às 12:31:46. Foram usados votos nominais válidos; nesta candidatura eles coincidem com os votos nominais publicados. Não se deduziram votos de Flávio por complemento dos votos de Lula.

A soma independente de `votacao_secao_2026_BR.csv`, geração 26/10/2026 às 12:07:25, confirmou as 11.142 células territoriais (5.571 × dois turnos), com zero divergências. Foram lidas 5.731.614 linhas por seção. Não há chaves de zona duplicadas. No exterior, 85 combinações explicitamente zeradas na fonte munzona não têm linha de votação por seção; isso não afeta o universo territorial, no qual todas as células têm registro nas duas fontes.

Totais territoriais de Flávio: 55.960.603 votos no primeiro turno e 59.654.544 no segundo. Com exterior: 56.104.503 e 59.826.041. Cobertura, identidade, datas e hash SHA-256 estão em `auditoria_flavio.json`. Os votos de Lula e os denominadores de participação mantêm as conferências anteriores, documentadas em `metodologia.md` e `metodologia_extra.md`.

## Dez indicadores municipais

Todas as fórmulas usam contagens inteiras antes do arredondamento. Subscritos 1 e 2 representam os turnos.

| Campo | Fórmula | Unidade |
|---|---|---|
| lulaCrescimentoPct | 100 × (Lula₂/Lula₁ − 1) | % |
| lulaGanhoPP | 100 × (Lula₂/válidos₂ − Lula₁/válidos₁) | pontos percentuais |
| lulaGanhoVotos | Lula₂ − Lula₁ | votos |
| reducaoAbstencaoPP | 100 × (abstenções₁/aptos₁ − abstenções₂/aptos₂) | pontos percentuais |
| reducaoBrancosPP | 100 × (brancos₁/comparecimento₁ − brancos₂/comparecimento₂) | pontos percentuais |
| reducaoNulosPP | 100 × (nulos₁/comparecimento₁ − nulos₂/comparecimento₂) | pontos percentuais |
| reducaoBrancosNulosPP | 100 × ((brancos₁+nulos₁)/comparecimento₁ − (brancos₂+nulos₂)/comparecimento₂) | pontos percentuais |
| flavioCrescimentoPct | 100 × (Flávio₂/Flávio₁ − 1) | % |
| flavioGanhoPP | 100 × (Flávio₂/válidos₂ − Flávio₁/válidos₁) | pontos percentuais |
| flavioGanhoVotos | Flávio₂ − Flávio₁ | votos |

Redução positiva de taxa indica queda da abstenção, dos brancos ou dos nulos. Para votos das candidaturas, variação negativa indica queda e positiva indica crescimento. Correlação negativa com a variação de Flávio indica menor variação nas cidades com registro, não necessariamente redução absoluta dos votos dele.

Nulos são o total oficial, incluindo técnicos. Cada taxa usa o denominador do próprio turno: aptos para abstenção; comparecimento para brancos e nulos; válidos para participação das candidaturas. Aptos variam entre turnos em 3.725 localidades. A nota oficial de 39 duplicidades de transferência não informa sua atribuição municipal e não foi usada para subtração arbitrária de eleitores. Ver o método complementar.

## Médias, Brasil e comparação de Flávio

As médias da aba são médias municipais simples. Uma cidade pequena conta tanto quanto uma grande. A diferença com − sem é média do grupo com registro menos média do grupo sem registro. Para médias de crescimento em %, a diferença é em pontos percentuais de crescimento; para taxas em p.p., continua em p.p.; para contagens, em votos. Não é a variação das somas agregadas de votos.

A comparação específica de Flávio mostra três referências: média com registro no recorte ativo; média sem registro no mesmo recorte; média fixa das 5.571 localidades brasileiras, sem filtros territoriais. A última inclui os dois grupos. Portanto, não é tratada como amostra independente e não recebe um teste de diferença com o grupo com registro. O p apresentado nesse quadro refere-se à associação por presença e ao contraste com/sem registro. Os filtros podem esvaziar um grupo, enquanto a referência nacional continua disponível e identificada como fixa.

No padrão nacional, o crescimento relativo de Flávio é 3,87717070497234% com registro, 4,96899354242463% sem registro e 4,84963972659113% na média municipal do país. A diferença com − sem é −1,09182283745228 p.p. de crescimento. Esses números mostram crescimento médio menor; não mostram queda média dos votos. Em termos absolutos, o ganho médio é maior no grupo com registro, que inclui cidades maiores; as duas medidas respondem a perguntas diferentes e estão disponíveis.

## Coeficientes e hipótese nula

1. **Ponto-bisserial, r:** Pearson entre presença binária (1 com registro; 0 sem registro na base) e a mudança eleitoral. O cálculo e o p bilateral correspondem a `scipy.stats.pointbiserialr`, equivalente a Pearson.
2. **Spearman, ρ:** Pearson entre os postos da quantidade original de anúncios e os postos da mudança, com postos médios nos empates. log(registros + 1) afeta somente a exibição da dispersão. O p corresponde à aproximação de `scipy.stats.spearmanr`.
3. A hipótese nula é correlação populacional igual a zero sob o modelo de referência. A alternativa é bilateral: correlação diferente de zero. Os coeficientes variam de −1 a +1; não são percentagens de efeito ou votos atribuíveis aos atos.

## Cálculo do valor de p

Para n > 2, usa-se t = r × √((n − 2)/(1 − r²)), com n − 2 graus de liberdade e probabilidade bilateral. Para o ponto-bisserial, é o teste usual equivalente ao teste de Pearson e à comparação de duas médias com variância comum sob seus pressupostos. Para Spearman, r é substituído por ρ e o resultado é **aproximado**, com limitação especial para n ≤ 500 conforme a documentação do SciPy. Os empates são mantidos; não se declara teste exato de permutação.

No navegador, a probabilidade bilateral é calculada pela beta incompleta regularizada I_(1−r²)((n−2)/2, 1/2), numericamente equivalente ao teste usual. O código trata probabilidades pequenas sem arredondá-las a zero na apresentação; se houver subfluxo numérico, mostra um limite (< 1e−300), não p igual a zero como evidência absoluta. Os arquivos numéricos preservam a precisão disponível.

Com menos de duas observações ou variável constante, coeficiente e p são nulos no JSON e “n.a.” na apresentação. O teste por presença requer os dois grupos. Para n = 2 com coeficiente definido, o p de Pearson segue a convenção bilateral 1; o p de Spearman fica não calculável. Denominador zero ou valor ausente exclui a observação somente do indicador correspondente e aparece na contagem de ausentes. No padrão nacional não há ausentes nos dez indicadores.

O p é a probabilidade, **supondo o modelo nulo**, de obter estatística pelo menos tão extrema quanto a observada. Não é probabilidade de a hipótese ser verdadeira nem chance de o resultado ter sido “por acaso”.

## Significância e múltiplas comparações

α é fixado em 0,05 e o critério usa estritamente p < 0,05. A interface mostra p bruto e p ajustado por **Holm**, com classificação em palavras. Por padrão, usa o p de Holm; o menu permite classificar pelo p bruto sem ajuste. Todas as apresentações, tabelas e exportações identificam o critério ativo.

O resumo contém até 20 testes calculáveis: dez indicadores × dois coeficientes. Ordenam-se os m p válidos de forma crescente. Para o p de posição i (a partir de 1), multiplica-se por m − i + 1; aplica-se o máximo acumulado e o teto 1. Valores indefinidos não são convertidos em p = 1 para inflar a família.

Cada estratificação de porte, região ou UF do indicador selecionado constitui **família separada**, incluindo os dois coeficientes em todos os seus estratos calculáveis. A comparação de Flávio reutiliza o ajuste do resumo de dez indicadores; não reinicia um ajuste só nas três linhas do quadro. O ajuste não cobre todas as tentativas de filtros, indicadores ou análises feitas ao longo de uma pesquisa. Essas buscas continuam exploratórias.

“Não estatisticamente significativo” não significa comprovação de correlação zero. “Estatisticamente significativo” não significa associação forte, relevância substantiva ou efeito causal. Por exemplo, no padrão nacional o crescimento de Lula tem r ≈ +0,0347 e p Holm ≈ 0,0401: significativo pelo modelo e critério adotados, com coeficiente pequeno. Para Flávio, r ≈ −0,0598, p bruto ≈ 7,956×10⁻⁶ e p Holm ≈ 7,160×10⁻⁵: associação negativa pequena e significativa sob esse critério.

## Pressupostos e limites

Os p pressupõem o modelo de referência dos testes e observações independentes. São apresentados como análise exploratória de uma coleção de localidades, não como inferência derivada de sorteio aleatório representativo do Brasil. A agenda tem cobertura desconhecida e desigual; municípios podem ter dependência espacial e seleção de mobilizações. O teste usual do ponto-bisserial tem pressupostos paramétricos; o p de Spearman é assintótico e especialmente incerto nos recortes menores e com muitos empates.

Os testes não controlam região, porte, preferências anteriores ou fatores de mobilização. As estratificações são cálculos separados, não ajuste multivariado, pareamento ou grupos causalmente equivalentes. A significância não transforma o desenho observacional em experimento nem identifica quais eleitores foram expostos aos atos. Uma análise causal exigiria desenho e hipóteses adicionais.

## Gráficos, exportações e conferências

A distribuição mostra todos os pontos com deslocamento horizontal determinístico apenas para reduzir sobreposição. A caixa vai do primeiro ao terceiro quartil, interpolados linearmente; a linha é mediana e o losango é média. Hastes terminam em valores observados dentro de 1,5 intervalo interquartil e valores extremos permanecem desenhados.

As dispersões usam log(registros + 1) no eixo horizontal; o gráfico dos coeficientes usa escala fixa de −1 a +1. S e NS nos gráficos significam significativo e não significativo pelo critério ativo. Os valores e a classificação completa ficam nos textos e tabelas. Tabelas JPG incluem todas as linhas do recorte, com imagens numeradas em ZIP quando necessárias.

JPGs e CSVs da interface acompanham os filtros. Os quatro PNGs de 300 dpi são retratos nacionais fixos de 13–24/10/2026, explicitamente identificados; incluem fontes, autoria, coeficientes e p pertinentes. CSVs usam UTF-8 com BOM, ponto e vírgula e vírgula decimal; campos textuais potencialmente interpretáveis como fórmulas são protegidos. Os originais recebidos permanecem byte a byte preservados.

Os resultados nacionais e estratificados foram conferidos com SciPy: **6.290 verificações**, incluindo p brutos, p de Holm e tamanho das famílias, zero divergências acima dos limites de 10⁻⁹ absoluto e 10⁻⁸ relativo para p. A maior diferença absoluta foi 3,34×10⁻¹², e a maior relativa nos p foi 5,07×10⁻¹². Ver `auditoria_calculos_estatisticos.json`.

## Fontes e referências

- TSE, Resultados 2026: https://dadosabertos.tse.jus.br/dataset/resultados-2026
- Votação por município/zona: https://cdn.tse.jus.br/estatistica/sead/odsele/votacao_candidato_munzona/votacao_candidato_munzona_2026.zip
- Votação por seção: https://cdn.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2026_BR.zip
- Detalhe da votação: https://cdn.tse.jus.br/estatistica/sead/odsele/detalhe_votacao_munzona/detalhe_votacao_munzona_2026.zip
- Agenda: atos.csv fornecido pelo usuário; anúncios e links individuais preservados.
- SciPy, ponto-bisserial: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pointbiserialr.html
- SciPy, Pearson: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html
- SciPy, Spearman: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.spearmanr.html
- statsmodels, correção de múltiplos testes (Holm): https://www.statsmodels.org/stable/generated/statsmodels.stats.multitest.multipletests.html

PAIXÃO, Arthur José Sales Aguiar; MARQUES, Guilherme. Atos de campanha e voto no Brasil: comparação municipal, 2026. LabHD – UFOP, 2026. Versão 1.2.0. Versão local.
