Testing Bayesian Concepts in R: using the Exponential-Gamma Conjugate Priors to compute the Posterior Distribution

  • In this article, the Exponential-Gamma Conjugate Priors will be used to compute the Posterior values for the customer arrival rate in a retail shop (Inter-arrival times can be best modeled by an exponential distribution).
  • First, a Γ(α,β) prior is chosen with α=4β=0.4 (consistent with our belief that the mean customer arrival rate in the store is 1/3, so that mean arrival time is 3 mins, with a standard deviation of arrival rate of 1/9) to model the unknown mean customer arrival rate λ variable, so that λ ∼ Γ(9,27).
  • Then a few trials of a random experiment simulating the customer arrival process are conducted to collect the data and update the prior belief about λ from the likelihood, which (the ) can be modeled as an exponential random variable, ∼ exp(λ),  λ ∼ Γ(α,β).
  • The posterior probability distribution is also a Gamma distribution as shown in the figure below from the videos of professor Herbert Lee.



  • Then the recursive Bayesian updates and the prior and posterior hyper-parameters and the means are updated as and when a new datapoint is received. Also, the frequentist’s MLE and 95% confidence interval are computed, along with the Bayesian 95% credible interval.
  • The following animation shows the results of simulation of 20 customer arrivals and the inter-arrival times, starting with the prior Γ(9,27).


  • The left bottom plot visualizes the customers arrivals.
  • Every time a new datapoint is received (the next customers arrives at the shop), the prior belief is updated.
  • The right bottom table represents the summary statistics. Prior and Posterior means (of the arrival rate) respectively correspond to the previous and updated beliefs about the customers arrival rate at the shop.
  • The next animation shows the same results starting with a vague prior Γ(ϵ,ϵ).



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s