# Markov Chain Monte Carlo Estimation

This is an elementary introductory question because I do not know anything about Markov Chain Monte Carlo. Suppose I have five friends who all together vote several times whether to go to the movies or to go to dinner, and I have those outcomes, dinner or movie, matching each set of votes. We can think of a vote for dinner being zero and a vote for movie being 1, so I have a set of votes like {0,1,0,0,1} or {1,0,1,1,0}, and the outcome is that of the majority, 0 in the first example and 1 in the second. Suppose I have hundreds of such data point pairs. Can I use Classify[ data->outcomes,Process->"Markov"] or RandomPointConfiguration[data,Method->"MCMC"] or some other command to find how strongly each friend prefers dinner versus movies so that I can say the outcome is a Markov Chain Monte Carlo estimation? Any further explanation of what it means that this is Markov Chain Monte Carlo would be greatly appreciated.

• Are you interested ONLY in applying the Markov process or also in alternatives ways that can answer the question Dinner or Movie and how many times each friend voted for one or the other?
– user49048
Commented Mar 10, 2022 at 8:06
• @kcr I am only interested in how to apply the Markov process to derive ideal points for each friend about how much they lean for movie or dinner. Commented Mar 10, 2022 at 12:20
• I looked at the cited papers. The question/problem has nothing to do with "stochastic calculus". It is about Bayesian statistics. The "Markov chain" (in MCMC) refers to the technique used to compute the posterior distribution for the latent variables in an item response model. It has nothing to do with the data-generating process (even though the parameter of interest for each individual does follow a random walk in the subject-matter paper).
– mef
Commented Mar 11, 2022 at 13:15
• I do a lot of Bayesian estimation using Mathematica because I know the language pretty well, but I write my own MCMC samplers because typically there are no high-level functions to do the job. Specialized languages such at stan (or jags or nimble) are designed to implement the kinds of models described in the papers cited. (I'm not sure how hard it would be to implement your problem in those languages.) I've used jags a little and stan even less (I've not used nimble). The problems I work on are often beyond the scope of what is relatively easy to do in those languages.
– mef
Commented Mar 11, 2022 at 13:24
• @mef Thank you very much for trying. If you care to describe in detail how this estimation works in an answer, even if you do not implement it but so that I could implement it, I will accept it as an answer. We might have a couple of back and forths refining it. Commented Mar 12, 2022 at 14:57