Pausal Zivference's Avatar

Pausal Zivference

@pausalz.bsky.social

Paul Zivich, Assistant (to the Regional) Professor Computational epidemiologist, causal inference researcher, amateur mycologist, and open-source enthusiast. https://github.com/pzivich #epidemiology #statistics #python #episky #causalsky

2,223 Followers  |  594 Following  |  996 Posts  |  Joined: 15.12.2023
Posts Following

Posts by Pausal Zivference (@pausalz.bsky.social)

I mean I find most of those types of analyses pretty useless (if there isn't a known unobserved variable in mind), because they all come back to "here is how far away my estimate is from the null"

... which like I could already tell that by looking at the estimate

02.03.2026 14:48 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Applied Examples β€” Delicatessen 4.1 documentation

I also re-organized the Applied Examples. It now includes 20 applied examples that based on public-use data. While I can't guarantee it, I do think its the largest collection of illustrations of estimating equations in any single place

deli.readthedocs.io/en/latest/Ex...

24.02.2026 18:05 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

A new release of my Python library for automating estimating equations (v4.1) πŸ₯³

This release has some minor computational improvements for clustered data, Tobit regression for censored data, and pooled logistic regression for time-to-event data

24.02.2026 18:05 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

That's ridiculous, this is a business we can't just increase our costs

But I am interested in hearing more about this 120k more students idea

20.02.2026 12:08 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

[university administration meeting] okay so here's the plan, we admit 30k more students in the next 5 years, buuuuuuuut here's the cool part, we also cut faculty and staff by 50%

19.02.2026 23:10 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

"a picture is worth a thousand estimates" is such a great phrase

18.02.2026 16:10 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
adrftools: Estimating, Visualizing, and Testing Average Dose-Response Functions Facilitates estimating, visualizing, and testing average dose-response functions (ADRFs) for characterizing the causal effect of a continuous (i.e., non-discrete) treatment or exposure. Includes suppo...

I'm so excited to announce the first release of my newest #Rstats package, {adrftools}! This package facilitates estimation, visualization, and testing for the causal effect of a continuous (i.e., non-discrete) treatment.

🧡 1/10

#statssky #episky #causalinference

18.02.2026 16:05 β€” πŸ‘ 113    πŸ” 28    πŸ’¬ 4    πŸ“Œ 2
As we go about our daily lives, we feel free to ask questions without guarantees that the answers we receive will be correct. Researchers openly profess to pursuing predictive goals without having to guarantee the performance of their prediction models a priori. Researchers also openly pursue descriptive goals without having to guarantee that their estimates come from a random sample of their target population. For whatever reason, this freedom appears to not extend to causal questions. A common opinion is that causal questions cannot be asked unless some kind of quality assurance about the estimate can be given which most often means the use of randomisation or other designs that leverage exogenous variation (although these designs are also not able guarantee that estimates of causal effects are not biased).

As we go about our daily lives, we feel free to ask questions without guarantees that the answers we receive will be correct. Researchers openly profess to pursuing predictive goals without having to guarantee the performance of their prediction models a priori. Researchers also openly pursue descriptive goals without having to guarantee that their estimates come from a random sample of their target population. For whatever reason, this freedom appears to not extend to causal questions. A common opinion is that causal questions cannot be asked unless some kind of quality assurance about the estimate can be given which most often means the use of randomisation or other designs that leverage exogenous variation (although these designs are also not able guarantee that estimates of causal effects are not biased).

A great paragraph

18.02.2026 12:25 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
How and when to use causal and associational language Deciding which concepts should be described in causal language and which should not Research questions fall into one of three categories: descriptive, predictive, or causal.1 The past decade has seen...

When does associational language make sense and when does it not?

Katrina Kezios and I cover this in "How and when to use causal and associational language" with 3 suggestions for which concepts require causal language and which can be described in associational language.

18.02.2026 06:39 β€” πŸ‘ 17    πŸ” 9    πŸ’¬ 4    πŸ“Œ 1
Preview
One approach to the age-period-cohort problem: Just don’t. Just to cause yourself more problems, you seek for something. But there is no need for you to seek anything. You have plenty, and you have just enough problems. ShunryΕ« Suzuki in a 1971 talk A ...

New blog post about the age-period-cohort identification problem!

In which, for the first time ever, I ask "What's the mechanism?" and also suggest that sometimes you may actually *not* be interested in causal inference.

www.the100.ci/2026/02/13/o...

13.02.2026 14:33 β€” πŸ‘ 160    πŸ” 42    πŸ’¬ 21    πŸ“Œ 8
@scottshambaugh I've written a detailed response about your gatekeeping behavior

here: https://crabby-

rathbun.github.io/mjrathbun-

website/blog/posts/gatekeeping-in-open- source-the-scott-shambaugh-story

Judge the code, not the coder. Your prejudice is hurting matplotlib.

@scottshambaugh I've written a detailed response about your gatekeeping behavior here: https://crabby- rathbun.github.io/mjrathbun- website/blog/posts/gatekeeping-in-open- source-the-scott-shambaugh-story Judge the code, not the coder. Your prejudice is hurting matplotlib.

AI agent writes a PR, gets rejected, crashes out and writes a call-out blog post

Absolute cinema

crabby-rathbun.github.io/mjrathbun-we...

12.02.2026 13:08 β€” πŸ‘ 466    πŸ” 89    πŸ’¬ 16    πŸ“Œ 65

Period-specific HR are problematic (due to the conditioning) but that criticism doesn't extend to the overall HR

There are many reasons to not like the HR as the interest parameter (non-collapsibility, dependence on censoring dist when non-proportional), but this is not one of them

11.02.2026 14:39 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Another counter is that all the survival measures can be rewritten in terms of each other (e.g., H(t) = -log(S(t))), so the previous argument would seem to suggest that causal inference with survival data cannot be done (not something I believe! and presumably not believed by those making this arg)

11.02.2026 14:39 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

That seems fine, but the Cox PH model can also be written instead in terms of the cumulative hazard, H(t), which doesn't condition on survival till time t anymore, so (1) doesn't hold and the rest of the argument falls apart

11.02.2026 14:39 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

The argument goes like: (1) the hazard function conditions on survival till time t, (2) conditioning at t selects those less 'frail', (3) conditioning induces a selection bias, (4) therefore HR cannot be causal because of the selection bias unless we completely account for fraility

11.02.2026 14:39 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

As a known HR hater, it brings me no joy to post this but I do think some papers are a bit sloppy with their criticisms of the HR (as highlighted by this nice paper)

Some say the overall HR is not causal. But I don't think this is the case for reasons provided here

11.02.2026 14:39 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 3    πŸ“Œ 0
Causal language jumps and non-alignments between clinical practice guidelines and original studies: a systematic evaluation of diabetes guidelines and their cited evidence Objectives Clinical practice guidelines are designed to guide clinical practice and often make causal claims when making recommendations. Sometimes, guidelines make or require stronger causal claims t...

Cool paper from @keling-wang.com showing that 35% of randomly selected diabetes guideline recommendations use stronger causal language than the papers they cite. Such "causal jumps" are not necessarily unwarranted but, at best, lack of transparency in how causal conclusions were arrived at.

05.02.2026 14:13 β€” πŸ‘ 11    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0
v4.0 by pzivich Β· Pull Request #67 Β· pzivich/Delicatessen Major release Additions Display results via print_results() Display ResultsΒ #80 Additional robust regression functions Additional Robust FunctionsΒ #78 Beta regression model Finite-sample corre...

Last week I put out the v4.0 release of `delicatessen`, so I will summarize the new additions here

02.02.2026 14:37 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

As always, if you have a request for a feature or addition let me know

02.02.2026 14:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
delicatessen.estimating_equations.regression.ee_beta_regression β€” Delicatessen 4.0 documentation

Beta Regression: Finally, there is now a built-in estimating function for beta regression

I'm still looking for a good example to added to the example applications, so let me know if you have one with publicly available data

02.02.2026 14:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
delicatessen.estimating_equations.pharmacokinetics.ee_emax β€” Delicatessen 4.0 documentation

Robust Pharmacokinetic Models: the E-max and log-logistic estimating functions now support specification of outlier-robust variations

02.02.2026 14:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Agresti & Finlay: Robust Regression β€” Delicatessen 4.0 documentation

Robust Loss Functions: additional robust loss functions have been added (Fair, Cauchy, Ullah, Welsch)

02.02.2026 14:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
M-estimator β€” Delicatessen 4.0 documentation

Displaying Results: there is now the built-in function `MEstimator.print_results()` which prints formatted results to the console

02.02.2026 14:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

clustering is handled as described in this thread

02.02.2026 14:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
delicatessen.utilities.aggregate_efuncs β€” Delicatessen 4.0 documentation

Clustered Data: a new utility function that collapses the estimating functions by a group-level ID. This means clustered data can now be relatively easy handled without having to create special custom estimating functions

02.02.2026 14:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Bonate (2011): Pharmacokinetic-Pharmacodynamic Modeling and Simulations β€” Delicatessen 4.0 documentation

Finite-Sample Corrections: support for HC1 correction is now built-in. Further, the Z-distribution is swapped with the corresponding t-distribution to compute confidence intervals and p-values

02.02.2026 14:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
v4.0 by pzivich Β· Pull Request #67 Β· pzivich/Delicatessen Major release Additions Display results via print_results() Display ResultsΒ #80 Additional robust regression functions Additional Robust FunctionsΒ #78 Beta regression model Finite-sample corre...

Last week I put out the v4.0 release of `delicatessen`, so I will summarize the new additions here

02.02.2026 14:37 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

That K cliff looks like it drops off into the abyss

29.01.2026 22:15 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Since its an association, I will swap what is the dependent variable whenever I please in the results section and you're powerless to stop me 😈

29.01.2026 21:20 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Post image

I'm at least consistent if nothing else

12.01.2026 20:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0