Apresentando resultados Bayesianos

Análise de Dados Bayesiana em Python

Michal Oleszak

Machine Learning Engineer

O jeito honesto

  • Apresente o prior e o posterior de cada parâmetro
posterior_draws
array([8.02800413, 8.97359548, 7.57437476, ..., 5.85264609, 7.92875104,
       7.41463758])
  • Faça gráficos das distribuições prior e posterior
sns.kdeplot(prior_draws, shade=True, label="prior")
sns.kdeplot(posterior_draws, shade=True, label="posterior")
Análise de Dados Bayesiana em Python

O jeito honesto

Dois gráficos de densidade sobrepostos, ambos em forma de sino. O prior está centrado em 0, baixo e largo; o posterior está por volta de 7, mais alto e estreito.

Análise de Dados Bayesiana em Python

O jeito honesto

Dois gráficos de densidade sobrepostos, ambos em forma de sino. O prior está centrado em 0, baixo e largo; o posterior está por volta de 7, mais alto e estreito.

Análise de Dados Bayesiana em Python

O jeito honesto

Dois gráficos de densidade sobrepostos, ambos em forma de sino. O prior está centrado em 0, baixo e largo; o posterior está por volta de 7, mais alto e estreito.

Análise de Dados Bayesiana em Python

O jeito honesto

Dois gráficos de densidade sobrepostos, ambos em forma de sino. O prior está centrado em 0, baixo e largo; o posterior está por volta de 7, mais alto e estreito.

Análise de Dados Bayesiana em Python

Estimativas pontuais Bayesianas

  • Nenhum número sozinho resume toda a informação de uma distribuição

  • Mas às vezes é preciso uma estimativa pontual de um parâmetro

Um gráfico de densidade em forma de sino.

Análise de Dados Bayesiana em Python

Estimativas pontuais Bayesianas

  • Nenhum número sozinho resume toda a informação de uma distribuição

  • Mas às vezes é preciso uma estimativa pontual de um parâmetro

posterior_mean = np.mean(posterior_draws)


Um gráfico de densidade em forma de sino com uma linha vertical marcando a média.

Análise de Dados Bayesiana em Python

Estimativas pontuais Bayesianas

  • Nenhum número sozinho resume toda a informação de uma distribuição

  • Mas às vezes é preciso uma estimativa pontual de um parâmetro

posterior_mean = np.mean(posterior_draws)
posterior_median = np.median(posterior_draws)

Um gráfico de densidade em forma de sino com uma linha vertical marcando a mediana.

Análise de Dados Bayesiana em Python

Estimativas pontuais Bayesianas

  • Nenhum número sozinho resume toda a informação de uma distribuição

  • Mas às vezes é preciso uma estimativa pontual de um parâmetro

posterior_mean = np.mean(posterior_draws)
posterior_median = np.median(posterior_draws)
posterior_p75 = np.percentile(posterior_draws, 75)

Um gráfico de densidade em forma de sino com uma linha vertical marcando o percentil 75.

Análise de Dados Bayesiana em Python

Intervalos críveis

  • Um intervalo em que a probabilidade de o parâmetro cair dentro dele é x%
  • Quanto mais amplo o intervalo crível, maior a incerteza da estimativa
  • O parâmetro é aleatório, então pode cair no intervalo com certa probabilidade
  • No mundo frequentista, o intervalo (de confiança) é aleatório e o parâmetro é fixo

Um gráfico de densidade em forma de sino com duas linhas verticais tracejadas marcando a região entre elas.

Análise de Dados Bayesiana em Python

Densidade Posterior Mais Alta (HPD)

Um GIF de um gráfico de densidade em forma de sino mostrando uma linha horizontal descendo na área do gráfico, fazendo crescer a massa de probabilidade entre os pontos onde a linha cruza o gráfico.

import arviz as az

hpd = az.hdi(posterior_draws, 
             hdi_prob=0.9)
print(hpd)
[-4.86840193  4.96075498]
Análise de Dados Bayesiana em Python

Vamos praticar!

Análise de Dados Bayesiana em Python

Preparing Video For Download...