discrete probability distributions
play

Discrete probability distributions Beginning Bayes in R Course - PowerPoint PPT Presentation

BEGINNING BAYES IN R Discrete probability distributions Beginning Bayes in R Course overview Two schools of thought: frequentist and Bayesian Introduction to the Bayesian way of thinking Subjective probability:


  1. BEGINNING BAYES IN R Discrete probability distributions

  2. Beginning Bayes in R Course overview ● Two schools of thought: frequentist and Bayesian ● Introduction to the Bayesian way of thinking ● Subjective probability: ● Probability describes beliefs about unknown quantities ● Done through probability distributions

  3. Beginning Bayes in R A spinner 1 2 4 3

  4. Beginning Bayes in R TeachBayes package ● Package (available on CRAN) for helping teach Bayesian thinking ● Special functions for: ● Bayes’ rule (spinners) ● Learning about a proportion and a mean ● Comparing two proportions

  5. Beginning Bayes in R Construct my spinner > library(TeachBayes) > areas <- c(2, 1, 2, 1, 2) > spinner_plot(areas) For example, region 1 is twice the size of region 2

  6. Beginning Bayes in R Construct probability distribution > (df <- data.frame(Region = 1:5, areas, Probability = areas / sum(areas))) Region areas Probability 1 1 2 0.250 2 2 1 0.125 3 3 2 0.250 4 4 1 0.125 5 5 2 0.250

  7. Beginning Bayes in R Numerical scale for probabilities Less likely More likely Probability 0 1

  8. Beginning Bayes in R My spinner > df Region areas Probability 1 1 2 0.250 2 2 1 0.125 3 3 2 0.250 4 4 1 0.125 5 5 2 0.250 > sum(df$Probability) [1] 1

  9. Beginning Bayes in R Probabilities of compound events ● Identify outcomes of interest ● Sum the probabilities of individual outcomes

  10. Beginning Bayes in R Probabilities of compound events > library(dplyr) > filter(df, Region %in% c(1, 3, 5)) Region areas Probability 1 1 2 0.25 2 3 2 0.25 3 5 2 0.25 > filter(df, Region > 3) Region areas Probability 1 4 1 0.125 2 5 2 0.250

  11. Beginning Bayes in R Find probabilities by simulation ● Spin spinner many times ● Summarize simulated outcomes

  12. Beginning Bayes in R Plo � ing simulation data > library(TeachBayes) > (ten_spins <- spinner_data(areas, 10)) [1] 4 3 2 3 1 3 3 2 1 1 > many_spins <- spinner_data(areas, 1000) > bar_plot(many_spins)

  13. Beginning Bayes in R Simulation data displayed as a table > (S <- summarize(group_by(data.frame(Region = many_spins), Region), N = n())) # A tibble: 5 × 2 Region N <int> <int> 1 1 262 2 2 115 3 3 258 4 4 122 5 5 243

  14. Beginning Bayes in R Probability of Region = 1 > (Freq_1 <- sum(S$N[S$Region == 1])) [1] 255 > (Prob_1 <- Freq_1 / 1000) [1] 0.255 An approximation to the actual probability of 0.25

  15. BEGINNING BAYES IN R Let’s practice!

  16. BEGINNING BAYES IN R Bayes’ rule

  17. Beginning Bayes in R Thomas Bayes ● Presbyterian minister (1702 - 1761) ● Mathematician in his spare time ● Essay Towards Solving a Problem in the Doctrine of Chances (1763)

  18. Beginning Bayes in R Define four spinners

  19. Beginning Bayes in R Choose one spinner from box

  20. Beginning Bayes in R Choose one spinner from box Which spinner is she holding?

  21. Beginning Bayes in R Outline of Bayesian approach ● Identify possible models and construct prior probabilities which reflect your knowledge about the models ● Collect data — think of likelihoods , the chance of ge � ing this data for each model ● Use Bayes’ rule to find posterior probabilities , updated knowledge about models

  22. Beginning Bayes in R Identity of the spinner is a model > (bayes_df <- data.frame(Model = paste("Spinner", c("A", "B", "C", "D")))) Model 1 Spinner A 2 Spinner B 3 Spinner C 4 Spinner D

  23. Beginning Bayes in R The prior ● Don’t know what spinner she’s holding ● Assign probabilities that reflect belief about likelihoods of her holding each of these spinners (i.e. assign priors) > bayes_df$Prior <- rep(0.25, 4) > bayes_df This is an example of a uniform prior since prior Model Prior probabilities are spread out uniformly 1 Spinner A 0.25 2 Spinner B 0.25 3 Spinner C 0.25 4 Spinner D 0.25

  24. Beginning Bayes in R Finding the likelihood of observing red ● She spins her spinner once Lands on RED ● ● For each spinner, what is the probability of observing RED?

  25. Beginning Bayes in R Likelihood of Spinner A? 1/3 Spinner A

  26. Beginning Bayes in R Likelihood of Spinner B? 1/2 Spinner B

  27. Beginning Bayes in R Add likelihoods to table > bayes_df$Likelihood <- round(c(1/3, 1/2, 1/4, 1/6), 2) > bayes_df Model Prior Likelihood 1 Spinner A 0.25 0.33 Likelihoods for Spinner C and Spinner D 2 Spinner B 0.25 0.50 3 Spinner C 0.25 0.25 4 Spinner D 0.25 0.17

  28. Beginning Bayes in R Bayes’ rule ● Posterior probability is proportional to 
 Prior Probability x Likelihood ● “Turn the Bayesian Crank” means to compute posterior probabilities using Bayes’ rule

  29. Beginning Bayes in R Add products and posterior to table bayes_df contains the prior and > library(TeachBayes) likelihood probabilities > bayesian_crank(bayes_df) Model Prior Likelihood Product Posterior 1 Spinner A 0.25 0.33 0.0825 0.264 2 Spinner B 0.25 0.50 0.1250 0.400 3 Spinner C 0.25 0.25 0.0625 0.200 4 Spinner D 0.25 0.17 0.0425 0.136 Prior x Likelihood = Product Product / sum(Product) = Posterior

  30. Beginning Bayes in R Review: the prior

  31. Beginning Bayes in R Review: the posterior

  32. Beginning Bayes in R Interpreting the posterior probabilities We can learn more about the identity of spinners by simulating more spins

  33. BEGINNING BAYES IN R Let’s practice!

  34. BEGINNING BAYES IN R Sequential Bayes and looking ahead

  35. Beginning Bayes in R Four spinners example Spun spinner once Observed RED

  36. Beginning Bayes in R The posterior 0.26 0.40 0.2o 0.14

  37. Beginning Bayes in R Suppose you observe a second spin Spin spinner again ? ? Observe BLUE Prior? Likelihood? ? ?

  38. Beginning Bayes in R Prior? ● Prior represents our current beliefs about the spinners ● A � er first spin, the posterior becomes my new prior: 
 (.264, .400, .200, .136) > # Old posterior becomes new prior > bayes_df Model Prior 1 Spinner A 0.264 2 Spinner B 0.400 3 Spinner C 0.200 4 Spinner D 0.136

  39. Beginning Bayes in R Likelihood? For each spinner, find chance of BLUE > bayes_df$Likelihood <- c(1/3, 1/4, 1/2, 2/3) Likelihoods of all four spinners > bayes_df Model Prior Likelihood 1 Spinner A 0.264 0.3333333 2 Spinner B 0.400 0.2500000 3 Spinner C 0.200 0.5000000 4 Spinner D 0.136 0.6666667

  40. Beginning Bayes in R Likelihood? For each spinner, find chance of BLUE 1/3

  41. Beginning Bayes in R Update probabilities A � er observing two spins (RED, BLUE), Spinners B and C are each slightly more likely than Spinners A and D > library(TeachBayes) > bayesian_crank(bayes_df) Model Prior Likelihood Product Posterior 1 Spinner A 0.264 0.3333333 0.08800000 0.2323944 2 Spinner B 0.400 0.2500000 0.10000000 0.2640845 3 Spinner C 0.200 0.5000000 0.10000000 0.2640845 4 Spinner D 0.136 0.6666667 0.09066667 0.2394366

  42. Beginning Bayes in R Looking ahead Bayesian methods for one proportion and one normal ● mean inference Introduce continuous priors ● ● Input prior information? ● Obtain posterior? Compare with frequentist inferences? ● Use simulation to summarize posterior distributions ● Simulation for prediction and Bayesian regression models ●

  43. BEGINNING BAYES IN R Let’s practice!

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend