Estatística Bayesiana: a arte de ver o futuro — contanto que se saiba o presente

Herminio Galindo
Turing Talks
Published in
9 min readJun 5, 2023

Por Herminio Galindo

Teorema de Bayes, representado artisticamente por uma IA.

Olá, querido leitor! Após um período sabático, é hora de um bom e velho Turing Talks.

O conteúdo que abordaremos hoje, apesar de introdutório e não particularmente difícil, é confuso e contraintuitivo. Por esse motivo, é vantajoso separar o assunto nos seguintes tópicos:

1. Definições, porque toda jornada tem um primeiro passo

2. O desafio — probabilidades na extração do petróleo brasileiro

3. O pulo do gato

1. Definições, porque toda jornada tem um primeiro passo

O famoso primeiro passo

Thomas Bayes, pastor presbiteriano, filósofo e matemático inglês, não ficou conhecido em vida como um dos pais da estatística. Isso se deve ao fato de que seus estudos foram editados e publicados postumamente por Richard Price, também matemático, e, talvez não surpreendentemente, também inglês. Somente dois anos após sua morte seus achados foram apresentados à Royal Society, atualmente descritos com o seguinte título, em tradução livre: “Um método para cálculo da exata probabilidade de todas as conclusões obtidas por indução”.

É um título ambicioso, porém adequado. A tese de Bayes foi popularizada por Laplace e sepultou problemas antigos, pertencentes a um ramo da estatística que até então era conhecido apenas como “probabilidade inversa”, por tratar de variáveis “invisíveis”, que não podiam ser observadas. Com o passar dos anos, o termo probabilidade inversa caiu em desuso, e boa parte de suas atribuições foram transferidas ao ramo da Estatística Inferencial. Por fim, o método de associar probabilidade a uma variável não-observável é o que chamamos de Probabilidade Bayesiana.

Apesar da existência da Estatística Descritiva, que supõe todas as variáveis como observáveis, nesse Turing Talks nos preocuparemos apenas com a Estatística Inferencial: avaliar cenários prováveis, enquanto supomos que partes de nosso dataset provêm de uma população maior. Para tanto, utilizaremos uma ferramenta matemática ensinada em cursos básicos de probabilidade: o Teorema de Bayes, ou Teorema da Probabilidade Condicional.

É importante não nos confundirmos aqui. Apesar de ensinado em cursos básicos, o Teorema de Bayes não é intuitivo, longe disso, e existe muito espaço para confusão. Isso ocorre porque seres humanos não são bons lidando com quantidades relativas, e a maior parte de nosso processo de inferência ocorre por meio de “âncoras”, valores absolutos. O número dez parece grande se comparado com o número um, mas é pequeno perto de cem, menor ainda próximo de mil. A cada nova âncora, perdemos a noção do tamanho de nosso conjunto, perdemos nosso ponto de referência, e é justamente isso que queremos evitar ao trabalharmos com variáveis não-observáveis.

Os dois conceitos matemáticos que requerem a mais imediata atenção são os de espaço amostral (⍵) e evento (E), que aqui serão apenas pincelados.

Espaço amostral (⍵): todos os possíveis dados que possam ser extraídos de maneira aleatória — aqui, em específico, estamos olhando para uma quantia pequena em um dataset, em que um dado é simplesmente uma unidade. Mais adiante, quando iniciarmos nosso desafio, ficará claro o motivo.

Evento (X): denotado em geral por letras maiúsculas (A, B, C,…), refere-se a um subconjunto de dados — ou pela teoria clássica, experimentos — contidos em ⍵, unidos ou não por características em comum.

Diagramas de Venn representando Eventos (X) num espaço amostral ; DEVORE, Jay.

Resumidamente, os dados são agrupados em eventos, e por motivos de simplicidade, assumimos que cada dado possui a mesma chance de aparecer no dataset, o que significa dizer que eles são equiprováveis. Pela definição clássica, anterior a Bayes, temos que a probabilidade do evento A, P(A), é a razão entre o número de elementos no evento e o número total de elementos no espaço amostral.

A partir daqui, será necessário segurar na mão de Bayes, e em especial, na mão da probabilidade condicional, P(A|B). Neste caso, essa é uma probabilidade posterior, ou seja, a probabilidade de um evento A dado que o evento B ocorreu. P(A|B) é a construção de uma hipótese, de um cenário, em que a existência de B influi na probabilidade de A. Lê-se: “Probabilidade de A dado que B”.

E por fim, a Estatística Bayesiana, que aqui podemos considerar como a contínua aplicação do Teorema de Bayes. Na versão family friendly abaixo, temos que a probabilidade do evento Aj ocorrer, dado que B ocorreu, é a probabilidade de ambos eventos ocorrerem juntos, dividida pela de B ocorrer. De certa maneira, é como se a probabilidade de Aj e B ocorrerem juntos estivesse dentro da probabilidade maior de B ocorrer, assim como antes os dados de um evento eram divididos por um número total de dados no espaço amostral.

  1. Versão family friendly:

Os eventos são dependentes, então, se calculamos P(Aj | B), calculemos

P(B | Aj), e depois isolemos a interseção P(Aj ∩ B):

Podemos ainda pensar em P(B) como soma de todas as partes de P(A) contidas em si, o que é ilustrado na próxima figura. Essa fórmula é a fórmula de probabilidade total, dada por:

O índice ‘i’ marca todos os subconjuntos considerados de A, que “particiona” B, enquanto o índice ‘j’ marca o A total.

Por fim, substituindo P(Aj ∩ B) e P(B) em (1):

2. Versão Geral:

Teorema da Probabilidade Total e a partição de B por eventos Ai’s. A soma de P(A)s contidos totaliza P(B); DEVORE, Jay.

2. O desafio — probabilidades na extração do petróleo brasileiro

Representação cartográfica da província petrolífera de Urucu

Após essa introdução, sucinta e resumida, tentaremos empregar essas ferramentas em um problema real — que precisará ser simplificado: qual a procedência de um derivado de petróleo qualquer, consumido em um posto de gasolina brasileiro, próximo à sua casa? E ainda, sabendo que o petróleo que o originou foi extraído em determinado poço em um estado do norte brasileiro, qual a probabilidade de que, retirando um barril de petróleo de um campo na Região Norte, escolhêssemos um cujo óleo foi extraído do mesmo poço que o combustível da primeira questão?

A pergunta parece complexa — e realmente, é -, mas em paralelo, essa escolha não é acidental, pois é uma prova do quão robusto é o método de Bayes. Ele não se altera: o problema poderia ser sobre um questionário vocacional de alunos de uma classe, em relação ao restante da escola, ou sobre as tendências políticas de habitantes de um bairro, comparando-as com o perfil do estado em que moram. E é por isso que Bayes é tão forte, porque probabilidades dependentes são muito comuns em nosso mundo. Raramente um evento de interesse não é afetado por outros, ou acontece de maneira isolada.

Logo de cara, existem alguns desafios no modelo apresentado, em especial devido às logísticas relacionadas ao transporte de petroquímicos, assim como as grandes distâncias e cadeias de distribuição. Pois bem: o modelo será simplificado de modo a aceitar que o óleo refinado tenha equiprobabilidade de distribuição em qualquer canto do Brasil, independentemente de distâncias entre refinaria e ponto de consumo, e se as extrações foram onshore ou offshoreos poços no dataset serão considerados como todos os poços existentes, o que não é verdade. O fator que influenciará a probabilidade de cada poço será simplesmente a participação percentual no combustível fóssil obtido, em número de barris — cada um com aproximadamente 160 litros.

Antes, foi dito que essa é a arte de prever o futuro. Apesar de não ser tão sexy quanto o tarô, a Estatística Bayesiana se apoia justamente sobre ações, e não sobre dados estáticos — outra simplificação no espaço amostral, se lembra? Tudo que fizermos tem de ser interpretado como uma ação que possui impacto: escolher uma carta de baralho, retirar uma bola de uma urna, extrair um barril de petróleo qualquer. O dataset escolhido para o problema foi retirado do site dados.gov.br, e aborda a produção onshore nacional, no ano de 2020. Foi utilizada a biblioteca Pandas para limpeza, formatação e análise.

Um dataset ainda em pré-processamento (PyCharm 2021.3.3)

Abaixo, seguem os campos mais produtivos nesta modalidade — ainda de acordo com o arquivo .csv original. O que mais nos interessa é a participação percentual: é justamente ela que começa a definir nosso espaço amostral. Neste caso, estamos observando apenas uma parcela do universo, mas já podemos imaginar cada campo com sua respectiva bolha probabilística, cada um como um evento. É conveniente enxergar sua probabilidade — tamanho da bolha — diretamente proporcional à participação percentual.

# Obtenção do ranking por volume extraído

petroleo_campo = df_petroleo.pivot_table(values='Petróleo (bbl/dia)', index = 'Tipo Instalação', columns= 'Campo', aggfunc= 'sum', dropna = True).T.sort_values(by = 'INSTALACAO EMB/DESEMB', ascending = False)

print("Número de barris extraídos por dia nos 10 campos mais produtivos\n")

total_produzido_brasil = petroleo_campo['INSTALACAO EMB/DESEMB'].sum()

petroleo_campo = petroleo_campo.head(10)

petroleo_campo['Participação no total brasileiro (%)'] = petroleo_campo['INSTALACAO EMB/DESEMB'] / total_produzido_brasil

petroleo_campo.reset_index(drop = True)
Melhores campos por produtividade (PyCharm 2021.3.3)

Abaixo, uma especificação de nosso espaço amostral, buscando mostrar uma diferente participação: selecionado o campo mais produtivo, em Leste do Urucu, elencamos em ordem decrescente o volume com que cada poço participa do total. Note também que cada poço possui seu código identificador.

# Obtenção da tabela com percentuais

print("Número de barris extraídos por dia nos 10 campos mais produtivos\n")

total_produzido_brasil = petroleo_campo['INSTALACAO EMB/DESEMB'].sum()

petroleo_campo = petroleo_campo.head(10)

petroleo_campo['Participação no total brasileiro (%)'] = petroleo_campo['INSTALACAO EMB/DESEMB'] / total_produzido_brasil

petroleo_campo.reset_index(drop = True)
Participação dos poços em Leste do Urucu, especificamente (PyCharm 2021.3.3)

3. O pulo do gato

Um gato pulando.

Temos todos os dados para a solução do problema. Vamos iniciar separando os eventos em dois espaços amostrais: um que compreende todos os campos do país, cada um com seus poços, e outro que abrange os poços no campo específico do Leste do Urucu. Como estabelecido, a participação será numericamente igual à probabilidade, mas precisamos nos ater aos eventos e espaços amostrais.

Questão 1. Estando no território brasileiro, qual a probabilidade de que um barril de petróleo tenha vindo do campo amazônico Leste do Urucu: P(Leste do Urucu)?

  • Esse primeiro item leva em consideração o espaço amostral de todo o Brasil, ou seja, todas as participações de todos os campos. Se de acordo com o dataset o Leste do Urucu contribui com 0.092%, P(Leste do Urucu) = 0.092%.

Questão 2. Se sabemos que o segundo barril escolhido foi extraído do Leste do Urucu, qual a probabilidade de que os dois escolhidos pertençam ao poço 7-LUC-36HP-AM? Considere as escolhas independentes entre si.

  • Em relação ao primeiro exercício, há uma probabilidade condicional, ou seja, ocorre uma mudança de espaço amostral para o segundo barril, cujo resultado associado será uma probabilidade dependente. Essa é a maior abstração requerida na questão, em que a probabilidade de um evento-campo dividirá a de outro evento-campo.
  • Para encontrarmos a probabilidade de que o primeiro barril tenha vindo do poço 7-LUC-36HP-AM, precisamos novamente levar em conta o espaço amostral total. No caso, um resultado possível é dividir os barris deste poço pelos barris totais, o que equivale a participação nacional do poço: 0.009625%.
  • Essa será também a probabilidade P(7-LUC-36HP-AM ∩ LU) de interseção dos dois eventos, visto que se o barril vem desse poço, certamente vem desse campo, e P(7-LUC-36HP-AM) * 1 = P(7-LUC-36HP-AM).
  • A fórmula quando se sabe alguma informação sobre a origem do segundo barril:

No caso, a probabilidade de que tenha vindo do Leste do Urucu e seja apenas desse poço é igual à probabilidade desse mesmo poço no espaço amostral Brasil — visto que um está contido no outro -, e P(Leste do Urucu) = 0.092%, informação obtida na primeira questão.

Portanto:

Resposta: P(Q2) = 0.001007%.

E com isso concluímos nosso Turing Talks! Depois desse texto, esperamos que as poderosas ferramentas de Bayes estejam sempre à sua disposição.

Se quiser conhecer um pouco mais sobre o que fazemos no Turing USP, não deixe de nos seguir nas redes sociais: Facebook, Instagram, LinkedIn e, claro, ler nossos posts no Medium. E se preferir acompanhar ainda mais de perto e participar de nossas discussões e eventos, você também pode entrar no nosso servidor do Discord.

Até a próxima!

--

--

Herminio Galindo
Turing Talks

Eng. Elétrica - Universidade de São Paulo | Turing USP