Rapportera bayesianska resultat

Bayesiansk dataanalys i Python

Michal Oleszak

Machine Learning Engineer

Det ärliga sättet

  • Rapportera prior och posterior för varje parameter
posterior_draws
array([8.02800413, 8.97359548, 7.57437476, ..., 5.85264609, 7.92875104,
       7.41463758])
  • Plotta prior- och posteriordistributioner
sns.kdeplot(prior_draws, shade=True, label="prior")
sns.kdeplot(posterior_draws, shade=True, label="posterior")
Bayesiansk dataanalys i Python

Det ärliga sättet

Två täthetskurvor ritade ovanpå varandra. Båda är klockformade. Prior är centrerad vid 0, låg och bred; posterior är centrerad kring 7 och är betydligt högre och smalare.

Bayesiansk dataanalys i Python

Det ärliga sättet

Två täthetskurvor ritade ovanpå varandra. Båda är klockformade. Prior är centrerad vid 0, låg och bred; posterior är centrerad kring 7 och är betydligt högre och smalare.

Bayesiansk dataanalys i Python

Det ärliga sättet

Två täthetskurvor ritade ovanpå varandra. Båda är klockformade. Prior är centrerad vid 0, låg och bred; posterior är centrerad kring 7 och är betydligt högre och smalare.

Bayesiansk dataanalys i Python

Det ärliga sättet

Två täthetskurvor ritade ovanpå varandra. Båda är klockformade. Prior är centrerad vid 0, låg och bred; posterior är centrerad kring 7 och är betydligt högre och smalare.

Bayesiansk dataanalys i Python

Bayesianska punktskattningar

  • Inget enskilt tal kan förmedla all information som finns i en distribution

  • Ibland behövs ändå en punktskattning av en parameter

En klockformad täthetskurva.

Bayesiansk dataanalys i Python

Bayesianska punktskattningar

  • Inget enskilt tal kan förmedla all information som finns i en distribution

  • Ibland behövs ändå en punktskattning av en parameter

posterior_mean = np.mean(posterior_draws)


En klockformad täthetskurva med en vertikal linje som markerar medelvärdet.

Bayesiansk dataanalys i Python

Bayesianska punktskattningar

  • Inget enskilt tal kan förmedla all information som finns i en distribution

  • Ibland behövs ändå en punktskattning av en parameter

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

En klockformad täthetskurva med en vertikal linje som markerar medianen.

Bayesiansk dataanalys i Python

Bayesianska punktskattningar

  • Inget enskilt tal kan förmedla all information som finns i en distribution

  • Ibland behövs ändå en punktskattning av en parameter

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

En klockformad täthetskurva med en vertikal linje som markerar 75:e percentilen.

Bayesiansk dataanalys i Python

Kredibla intervall

  • Ett sådant intervall att sannolikheten att parametern faller inom det är x%
  • Ju bredare kredibelt intervall, desto större osäkerhet i parameterskattningen
  • Parametern är slumpmässig och kan därför falla i ett intervall med viss sannolikhet
  • I det frekventistiska synsättet är (konfidens)intervallet slumpmässigt medan parametern är fast

En klockformad täthetskurva med två streckade vertikala linjer som markerar området mellan dem.

Bayesiansk dataanalys i Python

Highest Posterior Density (HPD)

En GIF av en klockformad täthetskurva där en horisontell linje rör sig nedåt i diagrammet, vilket ger ett ökande område av sannolikhetsmassan mellan de punkter där linjen skär kurvan.

import arviz as az

hpd = az.hdi(posterior_draws, 
             hdi_prob=0.9)
print(hpd)
[-4.86840193  4.96075498]
Bayesiansk dataanalys i Python

Nu kör vi en övning!

Bayesiansk dataanalys i Python

Preparing Video For Download...