My Blog
Why I teach a workshop on codelists
Codelists decide which patients end up in a study, but building one is rarely taught as a method. This post explains why I run a three hour codelist workshop for universities and what it covers.
What is the difference between selection bias and sampling bias?
A reference guide to the difference between selection bias and sampling bias in health data research, with worked examples of how each one distorts your results.
How Do We Handle Rare Events in Synthetic Data?
A look into how we can use synthetic data generation to increase the number of rare events in our dataset, and what are risks and benefits of this approach
Synthetic Data in Machine Learning: Augmentation and Collapse
Exploring the use of synthetic data in machine learning, focusing on augmentation, model collapse, and the implications for health research using synthetic data.
What is a confounder, really?
A reference guide to what confounding means in health data research and how it is different from mediators and colliders.
Fairness and Bias Amplification in Synthetic Data
Explore how synthetic data can amplify existing biases and affect fairness in health research. Learn why this happens and how it differs from representativeness.
The Typestate Pattern: Moving Checks into the Compiler
Learn how to use the typestate pattern in Rust to make missing required fields a compile error instead of a runtime one. Building on the builder pattern, this post shows how to encode construction state in the type system so invalid records cannot be built at all.
Bias in Synthetic Data
An exploration of bias in synthetic data and its implications for health research.