3 ms·
Probabilistic programming uses computer science techniques to do automated statistical modeling. For example, imagine I have a coin, and I want to discover if i
by yt-sdb 5y ago
Probabilistic programming uses computer science techniques to do automated statistical modeling. For example, imagine I have a coin, and I want to discover if it is biased, i.e. if it lands on heads more often than tails. In a probabilistic programming framework, I can express my model as a simple Bernoulli model, `x ~ Bernoulli(p)`, and then automatically estimate the bias parameter `p` given some data (do "inference").
You can easily do this calculation by hand or in Python, but this does not generalize to more complex real-world scenarios. For complex probabilistic models, we must rely on numerical approximations. MCMC is just one algorithm for doing this approximate inference. Another popular technique is called variational inference [2]. Another commenter mentioned HMC [3], which is just a specific instance of MCMC.
[1] https://mc-stan.org/ https://mc-stan.org/
[2] https://arxiv.org/abs/1601.00670 https://arxiv.org/abs/1601.00670
[3] https://arxiv.org/abs/1206.1901 https://arxiv.org/abs/1206.1901
- BenoitEssiambre 5y agoI am not an expert in this but I find the math behind HMC to be out of this world as described in this mindblowing twitter thread: https://twitter.com/betanalpha/status/1234576972132626445 https://twitter.com/betanalpha/status/1234576972132626445