Causal modeling, probabilistic machine learning, and the occasional bit of formal philosophy
I’m based in Cambridge, MA, and build causal Bayesian models with deep machine-learned
components to explain why something happened. Lately that means treating a language model as a causal model and asking which heads
in the network drive a behavior. It also means treating a fishery as a hybrid dynamical
system
and asking whether a given catch quota was necessary, sufficient, or both for keeping
the fish population above a sustainable threshold. And it means modeling how a zoning
change ripples through a city’s housing market. Transformer weights, fish populations,
and city council votes don’t seem to have much in common, except that all three come
from systems that are high-dimensional, dynamic, and only partly observed. I do this as
a research scientist at the Basis Research Institute (New
York/Cambridge, MA). I’m a core contributor to
ChiRho, our open-source causal probabilistic
programming language, and I’m responsible for its explainable reasoning
module (with tutorials on
actual causality, on
categorical
variables, and on continuous variables in an SIR
model), and its
spin-offs and applications.
I hold a PhD in Logic and Philosophy of Mathematics from the University of Calgary,
and have held positions at Ghent University and the University of Gdańsk, with visiting
fellowships at Northeastern University, the University of Edinburgh, Trinity College
Dublin, and the University of Bristol.
Recent
A Computationally Feasible Framework for Causal Probabilistic
Explanation (arXiv preprint, 2026).
Probabilistic Causal Impact recasts explaining why something happened as an
estimation problem on a probabilistic causal model, generalizing actual causality
and Pearl’s probability of causation so it scales past toy examples to a real
deployed system trained on millions of datapoints.
Whom to pity, whom to scold?
(Information Processing & Management, 2026). A six-month field experiment on
Reddit: 3,440 users who regularly attacked others received AI-assisted counter-speech,
either normative or empathetic, and we measured what each kind of message did to
their later behaviour.
Causal Reasoning in Language Models,
a special issue of Information Processing & Management that I guest-edited with
M. Ptaszyński and R. Rzepka.
Exploring the Maximally Sensitive Priors (Philosophy of Science,
2026, online first), with N. Lewandowski. When there’s essentially no evidence to inform a
Bayesian prior, the Maximum Sensitivity method picks the prior that doesn’t depend on
getting lucky about where the true parameter actually falls; we show that measuring
inaccuracy by KL divergence collapses that recommendation to the older Maximum
Entropy rule, and estimate how fast the recommended prior sharpens as sample size
grows.
Currently working on
LLM interpretability at scale. Combining probabilistic causal impact tooling
with LLM architecture to scale up interpretability work, moving from one-off probing
toward systematic, causal accounts of what drives model behavior.
Epidemiological model evaluation. I’m working on automated reliability
diagnostics for epidemic forecasting models, which would evaluate factors that most
existing tools skip, such as whether inferred parameters are biologically realistic,
whether a run of zero case reports reflects a reporting gap rather than an actual
absence of cases, and whether a model’s derived variables hold up against
independent data.
Probability on Trial. A book under contract with Oxford University Press,
co-authored with Marcello Di Bello, on using
causal models and higher-order probability to evaluate forensic evidence.
Common Task Framework for scientific ML. Collaborating with the Common Task
Framework team to improve the pipeline and the
metrics behind shared benchmarks for scientific machine-learning methods
(forecasting, state reconstruction, generalization, and control on canonical
dynamical systems). The team is launching a $50,000 competition on Kaggle, and I’m
helping set up its technical side.
PCI (Probabilistic Causal Impact). A causal attribution method, described in
the paper and worked out in the accompanying
computations, that decomposes
explanations into separate necessity and sufficiency components instead of
collapsing them. It bridges Halpern–Pearl actual causality with scalable
attribution machinery (SHAP, LIME, gradient-based methods) by re-casting
explanation as estimation on an expanded probabilistic causal model.
Spatio-temporal causal modeling. Causal Bayesian models with deep
machine-learned components for spatio-temporal valuation problems, dynamical
models of policy interventions, and causal models of group foraging behavior in
animals. The shared question is how to make causal explanation tractable when the
system is high-dimensional, dynamical, and only partly observed.
Open source
ChiRho★ 277.
Basis’s open-source causal probabilistic programming language, built on Pyro/PyTorch.
I am a core contributor and lead its
Explainable module.
Most of my engineering work happens in private repositories. The chart below summarizes
my GitHub activity by year: pull requests authored and merged (top), reviews and issues
(bottom), across public and private repositories.
GitHub activity per year: pull requests authored and merged (top); reviews and issues (bottom). Public and private repositories combined; 2026 is year-to-date.