Very public learning about statistics, machine learning, epidemiology, and science in general.

Measles epidemiology

May 2024 CDC GID Seminar

I gave a seminar at US CDC’s Global Immunization Division on how we use transmission models to forecast risk and support vaccination campaigns. In the talk, which kicked off a 2 day workshop, I tried to focus on some of the broader lessons we learn in that process, and how that highlights open scientific questions as well as opportunities to create more impactful interventions.

Seasonality and endemic stability

This preprint describes some transmission model-inspired statistical tools for analyzing measles time series data. Central to the discussion is the seasonality profile, which we show contains information about the necessary demographic conditions for a transmission process to have a stable average. We use that insight to create measures of susceptibility that are independent of any data on birth rates or vaccination coverage rates. Check out the codespace as well, where you can use the tools yourself.

Evaluating vaccination campaigns in Somalia

This paper gives a short epidemiological analysis of measles in Somalia, a fragile setting recently affected by droughts and severe acute malnutrition. We take a close look at measles vaccination campaigns in the country since 2018, and we use mathematical models to estimate their impact on burden, highlighting the resilience and determination of vaccination efforts in the region. One cool thing about this paper is the breadth of people invovled, spanning the ministry of health, WHO and Gavi, and the Gates Foundation.

Measles case detection as a dynamic process

This preprint describes a method for estimating dynamic measles reporting rates using the age distribution of reported measles cases. In the paper, I apply the approach to data from the UK before and after universal healthcare, offering an interesting window into healthcare access changes. For some more perspective on the work, check out this twitter thread. And if you want to work with the model itself, here’s a github repo.

Measles in the time of COVID-19

COVID-19 added complexity to decision-making around Ethiopia’s March 2020 measles vaccination campaign. I used an updated version of our time series model for measles to forecast different delayed campaign scenarios, which helped motivate stakeholders to move forward with the vaccination campaign in July despite the added risk of COVID-19 transmission. The overall results of this collaboration with other measles modeling groups are nicely summarized in the first inset of 2020’s Goalkeepers report.

Decreasing measles burden by optimizing campaign timing

This paper describes a predictive measles time series model and shows how it can be used to forecast policy outcomes to optimize our measles vaccination strategy in Pakistan. This collaboration with the World Health Organization, the Gates Foundation, and researchers in Pakistan helped motivate a large-scale vaccination campaign that happened in October 2018.

Are there issues with the ecological evidence for measles-induced, long-term immune suppression? [preprint]

I was asked by colleagues at IDM and the Gates Foundation to take a close look at this paper which argues that measles infection causes immune system suppression lasting 2 to 3 years, much longer than previously thought. I found some mathematical issues, summarized in this comment (now published).

COVID epidemiology

Situational awareness as epidemiology's statistical mechanics

This preprint approaches COVID data from Washington with the goal of developing multi-scale connections similar to the connections between classical mechanics and thermodynamics. What that goal leads us to is both a COVID specific signal processing approach for building a transmission model and an equivalent branching process formulation of that same model. Check out this twitter thread from my coauthor, describing the work from a more epidemiological perspective. And if you want to see some code, here’s the associated github repo.

Working towards high resolution prevalence estimation

As we support Washington’s pandemic response, I’ve been trying to add more detail to our prevalence and incidence estimates. In this report, we describe an approach that works in concert with our transmission model to estimate prevalence in sub-populations (like geographic regions or age groups). This method helps us better understand Washington’s current COVID-19 situation while also helping us learn retrospectively about COVID-19 transmission across space and age.

Estimating gathering risk on Thanksgiving 2020

Our COVID transmission model can help us assess the risk of having a COVID positive individual in a random group, and it can help us project COVID burden under different transmission scenarios. I helped create this twitter thread demonstrating both of these use cases in advance of Thanksgiving to help communicate transmission risk.

Estimating COVID prevalence with transmission models

I helped create a modeling approach (that we call RAINIER, a lengthy backronym that you’ll have to email me about) that allows us to quickly fit a compartmental transmission model to COVID-19 time series and age-distribution data. Some of this model’s outputs now appear on Washington’s COVID-19 risk assessment dashboard and in Oregon’s modeling reports (like this one).

Washington's COVID-19 situation reports

I’ve been supporting the Washington Department of Health, in collaboration with researchers from UW, the Hutch, and Microsoft, in their analysis of COVID-19 testing, hospitalization, and mortality data. This work leverages a combination of transmission model-based estimates with more direct data visualization. We reguraly publish our findings in short reports that are used to help inform Washington’s pandemic response.

Basketball

Predicting scores with state space models

This post is still under construction.

Scraping data off of basketball reference

I’ve been (sorta) joking a lot about how IDM should use its new hardware for sports gambling. That (sorta) joke got taken a little further recently: I used PyQuery to write a web scraper for basketball-reference.com. My fantasy team still sucks this year (seriously, really bad), but this turned into a learning experience that’s given me some interesting data so I thought I’d share.