Skip to content
You must be logged in to sponsor cscherrer

Become a sponsor to Chad Scherrer

@cscherrer

Chad Scherrer

cscherrer
Seattle, WA

Hi, I'm Chad. I develop tools for probabilistic programming in Julia

Soss.jl (my main project) is a probabilistic programming language. A Soss model is represented in terms of an AST (abstract syntax tree, effectively "the model is the code"). This allows for static analysis and manipulation, and generation of arbitrary user-extensible back-ends.

MeasureTheory.jl is a library for expressing and manipulating measures, a generalization of a probability distribution. Much of the functionality of Soss is "pushed down" to this library. This makes some of the capabilities of Soss available for use independently of Soss, and lets Soss focus on combining and manipulating measures. A Soss model is then just "a measure with some superpowers".

SampleChains.jl gives an abstraction for representing Monte Carlo samples, with various flavors of MCMC as a special case.

TupleVectors.jl Forms the core of some SampleChains implementations (at this writing, SampleChainsDynamicHMC.jl. Compared to StructArrays.jl, TupleVectors focuses more on nested named tuples, and uses some metaprogramming tricks for acceleration and expressiveness (see for example the @with macro)

NestedTuples.jl is a library for working with, well, nested tuples, but also nested named tuples. The core of the @with macro also lives here. TupleVectors builds on this library.

BayesianLinearRegression.jl fits Bayesian linear models with a Gaussian prior on the weights, using a marginal likelihood approach. The priors for the noise and the mean can be tuned (using marginal likelihood) or fixed, and regressors can be marked "active" or not, allowing for sparse regression. The resulting model fit includes uncertainty of parameter estimates.

SymbolicCodegen.jl makes it easy to generate efficient code from a Symbolic value from SymbolicUtils.jl.

MaskArrays.jl gives a way to represent an array with missing values that makes imputation very efficient.

If you'd like to see these tools develop further, please consider supporting this work!

Github: https://github.com/cscherrer
Twitter: https://twitter.com/ChadScherrer
LinkedIn: https://www.linkedin.com/in/chadscherrer/

@cscherrer

Please consider supporting this work!

Current sponsors 1

@keorn
Past sponsors 1
@seabbs

Featured work

  1. cscherrer/Soss.jl

    Probabilistic programming via source rewriting

    Julia 413
  2. cscherrer/KeywordCalls.jl

    KeywordCalls makes it easy to define a method taking a NamedTuple considered as a an unordered collection of bound variables. The required redirection is done at compile time, so there's no runtime…

    Julia 24

10% towards 10 monthly sponsors goal

@keorn

keorn sponsors this goal

Select a tier

$ one time

Choose a custom amount.