Healthy Algorithms
A hands-on guide to catching simulations bugs with automated tests What you’ll learn: Write rigorous tests for randomized algorithms without arbitrary thresholds. What you’ll get: A failing test that catches a subtle directional bias bug with Bayes factor = 10⁷⁹ (decisive evidence). The approach: Run simulations many times, count outcomes, validate proportions using Bayesian hypothesis testing. T…
The Journal of Privacy and Confidentiality has managed to get one more edition published this year: https://journalprivacyconfidentiality.org/index.php/jpc/issue/view/123 Happy new year to the editors! The Journal of Privacy and Confidentiality has managed to get one more edition published this year: https://journalprivacyconfidentiality.org/index.php/jpc/issue/view/123 Happy new year to the edit…
I’m back on social media — https://bsky.app/profile/healthyalgo.bsky.social It is fun to get a social feed again, but I’ve got some curating to do — I’ve got a lot of interesting people to follow, but not a lot of science peers to interact with. I guess that took me about 15 years to build on twitter. One thing about my feed at this point is that there is a lot of AI-skeptic content in my feed. I…
Coding and testing when you know what you want the computer to do Reminder of Intro and Debugging 1 & 2: AI is BS, but not useless; You can prompt it with an error message and get suggestions, you can give it an example of code that is not doing what you think it should do. Tell it who you want it to be and keep asking questions if necessary. Next idea: If you have not written the code, if you kn…
Debugging 2: When the code does not fail, but still is wrong Reminder of Intro and Debugging 1: AI is BS, but not useless; Prompt with error, get suggestions, keep asking, if necessary. This time, what if there is no error, but something is wrong? - Create a MCVE (minimal complete verifiable example), possibly including a screenshot - Describe the issue to a ChatBot, and keep iterating if necessa…
Following up on the general guidance I offered Epi 554 last week, this week I tried to get specific about how to use AI assistance in debugging. I think there is room for improvement, but I’m going to get it out to you, and maybe you’ll tell me how to improve. Debugging 1: When the code fails Maybe I’ve told you that AI is BS. But that doesn’t make it useless. Useful for debugging: use it so that…
I offered students in Introduction To Epidemic Modeling For Infectious Diseases some general guidance on using AI this week, and I thought I’d share it more broadly. We are going to get into specifics for AI-assisted coding over the next few weeks, because that is one area where I think this stuff might really help them in this course. Introduction to Generative AI in Epi 554 - Not magic — “just”…
For the last year, I have been a faculty advisor for the START Center at UW, which gives students an opportunity to do consulting projects, mostly in global health, mostly for the Gates Foundation. Since I have also been obsessed with the opportunities and threats of generative AI for the last year, it was only a matter of time before I developed some opinions about how these students might use c…
When I was preparing to teach my Fall course, I was concerned about AI cheaters, and whether my lazy approach to getting students to do the reading would be totally outdated. I came up with a “AI statement” for my syllabus that said students can use AI, but they have to tell me how they used it, and they have to take responsibility for the text they turn in, even if they used an AI in the process…
Last June, I happened to attend an ACM Tech Talk about LLMs in Intro Programing which left me very optimistic about the prospects of AI-assisted programming for my Introduction to Epidemic Modeling course. I read the book that the tech … Continue reading →
I have a persistent challenge when I use pseudopeople in my work: configuring the noise requires a deeply nested python dictionary, and I can never remember what goes in it. I thought that maybe the new "GPTs" affordances from OpenAI could help me deal with this. Continue reading →
Without further ado, let me introduce you to pseudopeople, a Python package that generates realistic simulated data about a fictional United States population, designed for use in testing entity resolution methods or other data science algorithms at scale. Continue reading →
Barbara Muffoletto and I figured out how to export verbal autopsy data from KoboToolbox in a format suitable for running through SmartVA-Analyze. Continue reading →
I haven’t seen a question like this before today. I wonder what the answers have been like.
does this blog still work?
I’ve been appreciating the Python debugger lately, and I want everyone who does data science work in Python to have a chance to appreciate it, too. When I went looking for a good place to refer colleagues who want to … Continue reading →
A paper I helped with is now in print, Comfort et al, Association Between Subnational Vaccine Coverage, Migration, and Incident Cases of Measles, Mumps, and Rubella in Iraq, 2001–2016. It is a good chance to test out a new python … Continue reading →
I have had my eye on a python package called Bambi for a while now, because I often need a regression model that is a little more complicated that sklearn.linear_model.LinearRegression but not complicated enough to make a whole new PyMC … Continue reading →
We wrote this up for a conference, but it didn’t have proceedings, so I’m putting it online here: Christine Allen, James Collins, Zane Rankin, Kate Wilson, Derrick Tsoi, Kelly Compton, Enabling Model Complexity Through an Improved Workflow, presented at Modeling … Continue reading →
research.ioSign up to keep scrolling
Create your feed subscriptions, save articles, keep scrolling.