I have written up a more detailed post about linear regression with #probula using grid approximation. The post focuses on:

  • Explaining the example of linear regression in probula (which is an internal DSL embedded in Scala 3)
  • Showing how grid approximation is implemented in probula
  • Discussing how this implementation is tested and how is it used in testing of other #BayesianInference methods

Enjoy!

https://wasowski.dukla.ch/posts/2606-grid-approximation-with-probula/

#ProbabilisticProgramming #Bayesian #Inference #DataAnalysis #Scala #Scala3 #keep

Simple Univariate Regression with Grid Approximation in Probula

Let me share an update on probula, my small purely-functional Bayesian inference library written in Scala 3. The primary goal for this write-up is to force myself (and you) to think about testing of probabilistic models, of inference algorithms, and the languages or APIs in which they are formulated. Arguably, this is a very modest start. But more is on the way! I would like to start with the first inference scheme you encounter, when reading McElreath’s Statistical Rethinking. Grid approximation (as this is the scheme we speak about) is by far the least efficient of the methods discussed in the book, but it remains useful as a testing baseline. Its simplicity and determinism let it serve as ground truth and oracle for other, more complex inference methods.

Andrzej Wąsowski

I have spent some time cleaning up my home-grown #Bayesian inference library for public consumption. Enjoy:
https://codeberg.org/wasowski/probula

The story goes that I needed a pure Scala3 replacement for #Figaro, that I can use for teaching purposes. The status is:
- Probula can handle regression models
- Importance sampling, monadic style implementation
- Very basic descriptive stats built in.
- CVS export for arviz, to perform posterior analysis.

#probula #scala #oss #ProbabilisticProgramming #foss

Recently, we discussed @kach 's paper on self-inferring probabilistic programs in our group's journal club. This inspired me to dive into the implementation of probabilistic programming languages and to try it out myself using #Gleam.

I've put together a blog article about that:
https://a5s.eu/blog/gleam-ppl/

And here is the code:
https://codeberg.org/andreas-k/tinypp

#ProbabilisticProgramming

Tiny Gleam PPL

📢 Episode 126 is Live!

🎧 Listen now 👉 https://learnbayesstats.com/episode/126-mmm-clv-bayesian-marketing-analytics-will-dean

🎙️ In this episode with
Alex Andorra, Will Dean from
PyMC-Labs explains how Bayesian methods are reshaping marketing analytics, from MMM to CLV estimation and more ....

#BayesianMarketing #MMM #CLV #MarketingAnalytics #MachineLearning #ProbabilisticProgramming #DataScience #PyMC #Marketing

Learning Bayesian Statistics – Laplace to be for new & veteran Bayesians alike!

Laplace to be for new & veteran Bayesians alike!

Learning Bayesian Statistics – Laplace to be for new & veteran Bayesians alike!

Made an introductory 📕(draft) about using Python for Bayesian Inference and unifying narrative, math, and code. People seem to find it helpful. Check it out. Feedback encouraged.

https://persuasivepython.com

#DataScience #Python #bayes #Stats #probabilisticprogramming

Persuasive Python

I’m in #Vancouver for the next month. If someone wants meet for chats on #probabilistic #MachineLearning, #ProbabilisticCircuits, or #ProbabilisticProgramming feel free to DM me!
Automatic differentiation in Prolog. ~ Tom Schrijvers, Birthe van den Berg, Fabrizio Riguzzi. https://arxiv.org/abs/2305.07878 #Prolog #LogicProgramming #AutomaticDifferentiantion #ProbabilisticProgramming
Automatic Differentiation in Prolog

Automatic differentiation (AD) is a range of algorithms to compute the numeric value of a function's (partial) derivative, where the function is typically given as a computer program or abstract syntax tree. AD has become immensely popular as part of many learning algorithms, notably for neural networks. This paper uses Prolog to systematically derive gradient-based forward- and reverse-mode AD variants from a simple executable specification: evaluation of the symbolic derivative. Along the way we demonstrate that several Prolog features (DCGs, co-routines) contribute to the succinct formulation of the algorithm. We also discuss two applications in probabilistic programming that are enabled by our Prolog algorithms. The first is parameter learning for the Sum-Product Loop Language and the second consists of both parameter learning and variational inference for probabilistic logic programming.

arXiv.org
Last day of #bayescomp2023, I very much enjoyed yesterday’s panel on #ProbabilisticProgramming. Looking forward to today’s schedule.
This one became a nice example of implementing a custom CUDA kernel through various stages of optimization #CUDA #GPU #ProbabilisticProgramming https://indii.org/blog/sum-of-discrete/
Sums of Discrete Random Variables as Banded Matrix Products

A zero-stide catch and custom CUDA kernel.

indii.org

I am looking for
a) examples of tools that let you build statistical models more complex then just variations of a single model class (like most stat packages - brms, laavan, ...) but less complex than fully fledged probabilistic programming languages
b) Probabilistic programming languages that neatly support composing non-trivial submodels together

Does anyone have recs?
In both cases I am coming up almost empty handed...

#stan #ppl #ProbabilisticProgramming #brms