Urns with MCMC
An urn that contains five different types of balls that are drawn without replacement. Each time a ball is drawn, the probability of drawing a specific type of ball is proportional to the number of that type remaining and to a type-specific weight.
The experiment conducted was: draw from the urn until all balls have been drawn and record the order of colors produced. This experiment was carried out 50 independent times, producing urn_data.txt.
The initial counts in the urn are:
- Red - 2
- Blue - 4
- Orange - 7
- Purple - 3
- Green - 5
The data consists of 50 lines that look like:
1 2 1 2 3 4 2 3 3 2 4 4 1 2 1 2 2 4 4 0 0
which says "For this trial, the draws went blue, orange, blue, orange, purple, ...."
Your job is to infer the values of the type-specific weights from the data by MCMC.
Each team must divide into three sub-teams, each of which has a specific task.
Sub-team 1: Produce a function that takes a set of weights and computes the likelihood of the entire data set given the weights.
Sub-team 2: Produce a function that takes the current set of weights and proposes a new set, returning the proposal and the corresponding ratio of q's.
Sub-team 3: Produce the logic that calls the two functions that will be supplied by the other sub-teams to carry out the MCMC. This will look like: For some number of steps,
- propose a new set of proportions given the current ones
- evaluate the likelihood of the data given the new proposal and combine with the q-ratio to produce alpha, and accept the proposal with probability alpha.
- record the new values of the proportions used and the new likelihood.
Plot the trajectories of the proportions and the likelihood over the course of the steps.