Rob Cavanaugh's Avatar

Rob Cavanaugh

@rbcavanaugh.bsky.social

Assistant Professor in quantitative methods @mghinstitute, speech-language pathologist by training. Enthusiastic about quantitative methods in rehabilitation research and health services research for aphasia. ๐Ÿฅพ๐Ÿ”๏ธ๐Ÿฆฎ๐Ÿ•

469 Followers  |  521 Following  |  90 Posts  |  Joined: 02.12.2023  |  2.2295

Latest posts by rbcavanaugh.bsky.social on Bluesky

Psychology adjacent here but Google scholar searches index article bodies; Iโ€™ve had some success searching something like โ€œfavorite journal name(s)โ€ AND โ€œlme4โ€ AND โ€œosf.ioโ€ AND โ€œrandomizedโ€

15.12.2025 13:02 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
course schedule as a table. Available at the link in the post.

course schedule as a table. Available at the link in the post.

I'm teaching Statistical Rethinking again starting Jan 2026. This time with live lectures, divided into Beginner and Experienced sections. Will be a lot more work for me, but I hope much better for students.

I will record lectures & all will be found at this link: github.com/rmcelreath/s...

09.12.2025 13:58 โ€” ๐Ÿ‘ 658    ๐Ÿ” 236    ๐Ÿ’ฌ 12    ๐Ÿ“Œ 20

Numerically. The same pp difference at baseline becomes very exaggerated in pomp terms as baseline scores improve.

09.12.2025 14:04 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Right. 16.7 vs 20 in pomp terms even with the exact same % point gain. More exaggerated at the tails too. Iโ€™m skeptical that requiring those with worse baseline scores to improve more in %point terms to have the same pomp scores is a desirable measurement property in most circumstances.

09.12.2025 12:34 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Doesnโ€™t pomp potentially conflate differences baseline ratings with group differences? Both groups could have similar improvements on the ordinal scale but quite different pomp scores if they start with different satisfaction ratings.

09.12.2025 12:13 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Or at least that using a linear model on an ordinal outcome risks mis-specifying the difference between men and women if the variances of their sleep satisfaction also differ.

09.12.2025 11:55 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
CAC 2026 The 55th Clinical Aphasiology Conference Tuesday May 26th โ€“ Friday May 29th, 2026Sheraton Hotel at Station Square, Pittsburgh, Pennsylvania, USA The annual Clinical Aphasiology Conference (CAโ€ฆ

Call for papers ๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿšจ clinicalaphasiologyconference.org/cac-2026/

04.12.2025 12:12 โ€” ๐Ÿ‘ 3    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

โ€œThe gang goes to city hallโ€ in which the gang compete to fix a clerical error with the city. Mac and Dennis try to resolve the issue amicably at city hall. Dee tries secretly dating an officer of the liquor control board. Charlie and Frank hatch a plan to get Frank elected mayor.

02.12.2025 00:19 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Analyzing ordinal data with metric models: What could possibly go wrong? - Media Collections Online

For those unfamiliar: adding this fantastic recorded lecture on the topic from John Kruschke. media.dlib.indiana.edu/media_object...

01.12.2025 16:56 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Folks who teach stats to graduate students in applied fields - do you discuss ordinal methods in depth? The Liddell and Kruschke paper? (Analyzing ordinal data with metric models: What could possibly go wrong?)

What do you recommend to students who often use ordinal outcomes? #statssky

01.12.2025 16:56 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
โ€œCake causes herpes?โ€ - promiscuous dichotomisation induces false positives - BMC Medical Research Methodology Background Continuous biomedical data is often dichotomized into two or more groups for analysis, despite long-standing warnings from statisticians that this constitutes bad practice. This dichotomisa...

Nice one, from @drg.bsky.social and @jamesheathers.bsky.social

link.springer.com/article/10.1...

13.11.2025 19:46 โ€” ๐Ÿ‘ 51    ๐Ÿ” 20    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 4

oh that is slick!

10.11.2025 19:23 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I know itโ€™s often not identifiable and challenging to fit but I get very nervous about the exclusion of the time|id random slope in these models based on the 2013 Barr paper.

10.11.2025 19:08 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
image of code with BLUPs

image of code with BLUPs

output of code

output of code

Oh you know I assumed you were plotting the RE estimates like this. If its just the observed data, probably min/max if few estimates/group and Q3/Q1 if many. You could probably even do tiny box plots if you didn't have too many groups.

28.10.2025 21:57 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I think to some extent the knee jerk reaction against the strong claim in the paper is due to the muddiness that (unfortunately) exists between prediction and causal claims. "Who is most as risk" as you state vs. why.

28.10.2025 13:14 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

If they were bars it would be a caterpillar plot right? What about blupergram. Has a nice ring to it

28.10.2025 11:25 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
A "methods primer" article in the journal "BMJ Medicine", titled "Factors associated with: problems of using exploratory multivariable regression to identify causal risk factors"

A "methods primer" article in the journal "BMJ Medicine", titled "Factors associated with: problems of using exploratory multivariable regression to identify causal risk factors"

We wrote an article explaining why you shouldn't put several variables into a regression model and report which are statistically significant - even as exploratory research. bmjmedicine.bmj.com/content/4/1/.... How did we do?

27.10.2025 17:39 โ€” ๐Ÿ‘ 276    ๐Ÿ” 110    ๐Ÿ’ฌ 26    ๐Ÿ“Œ 20

Pretty sure this is one of those sexy offers two very smart podcasters told me to run away from. So Iโ€™m going to say maybe ๐Ÿ˜‚

24.10.2025 00:05 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Love it! Will you be sharing data? (You knowโ€ฆ for those of us teaching stats to CSD PhD students struggling to find cool and salient datasets)

23.10.2025 21:21 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

Monty Python understood p-hacking

23.10.2025 08:43 โ€” ๐Ÿ‘ 499    ๐Ÿ” 143    ๐Ÿ’ฌ 5    ๐Ÿ“Œ 10

In all fairness, glmer does spit out a warning about non integers.

22.10.2025 19:32 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Anything can be an integer with round(x, 0)!

22.10.2025 19:27 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Iโ€™m very curious about what the third one is doing. Modeling a proportion without weighting by the number of trials? Could this could be useful if the proportion is not built out of independent Bernoulli trials?

22.10.2025 16:06 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
If your random seed is 42 I will come to your office and set your computer on fire๐Ÿ”ฅ Figuratively. More likely you'll get a stern talking to.

We need to have a conversation about random seeds. Don't use 42.
blog.genesmindsmachines.com/p/if-your-ra...

22.10.2025 12:49 โ€” ๐Ÿ‘ 89    ๐Ÿ” 35    ๐Ÿ’ฌ 16    ๐Ÿ“Œ 15

Any #rstats folks know the differences in lme4::glmer()'s specification for aggregated binomials? (or reading rec's?) I'd like to confirm my understanding of these:

cbind(successes, failures) ~ ...

successes/trials ~ ..., weights = trials

successes/trials ~ ..., weights = NULL (or unspecified)

22.10.2025 14:42 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
How I, a non-developer, read the tutorial you, a developer, wrote for me, a beginner - annie's blog โ€œHello! I am a developer. Here is my relevant experience: I code in Hoobijag and sometimes jabbernocks and of course ABCDE++++ (but never ABCDE+/^+ are you kidding? ha!)  and I like working with ...

"How I, a non-developer, read the tutorial you, a developer, wrote for me, a beginner" by Annie Mueller ๐Ÿ˜… ๐Ÿ˜‚ ๐Ÿ˜ญ

anniemueller.com/posts/how-i-...

23.09.2025 07:57 โ€” ๐Ÿ‘ 326    ๐Ÿ” 95    ๐Ÿ’ฌ 15    ๐Ÿ“Œ 31

So I should just ask students to explain each meme for their stats midterm right?

17.09.2025 15:05 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

Join us Monday, September 15th from 4:00 pm to 5:00 pm ET for a talk by Simona Mancini, Ikerbasque Research Associate Professor / Neurolinguistics and Aphasia group leader at the Basque Center on Cognition Brain and Language.

Register now at https://bit.ly/45LjrF1

03.09.2025 15:15 โ€” ๐Ÿ‘ 9    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

fantastic! Straight into the reading list for graduate stats. One thing that might be useful is a conceptual paragraph about how statistical power/sample size estimation changes. I can imagine (enthusiastic) students stuck on how to adjust what they know about study planning.

26.08.2025 14:07 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Models as Prediction Machines: How to Convert Confusing Coefficients into Clear Quantities

Abstract
Psychological researchers usually make sense of regression models by interpreting coefficient estimates directly. This works well enough for simple linear models, but is more challenging for more complex models with, for example, categorical variables, interactions, non-linearities, and hierarchical structures. Here, we introduce an alternative approach to making sense of statistical models. The central idea is to abstract away from the mechanics of estimation, and to treat models as โ€œcounterfactual prediction machines,โ€ which are subsequently queried to estimate quantities and conduct tests that matter substantively. This workflow is model-agnostic; it can be applied in a consistent fashion to draw causal or descriptive inference from a wide range of models. We illustrate how to implement this workflow with the marginaleffects package, which supports over 100 different classes of models in R and Python, and present two worked examples. These examples show how the workflow can be applied across designs (e.g., observational study, randomized experiment) to answer different research questions (e.g., associations, causal effects, effect heterogeneity) while facing various challenges (e.g., controlling for confounders in a flexible manner, modelling ordinal outcomes, and interpreting non-linear models).

Models as Prediction Machines: How to Convert Confusing Coefficients into Clear Quantities Abstract Psychological researchers usually make sense of regression models by interpreting coefficient estimates directly. This works well enough for simple linear models, but is more challenging for more complex models with, for example, categorical variables, interactions, non-linearities, and hierarchical structures. Here, we introduce an alternative approach to making sense of statistical models. The central idea is to abstract away from the mechanics of estimation, and to treat models as โ€œcounterfactual prediction machines,โ€ which are subsequently queried to estimate quantities and conduct tests that matter substantively. This workflow is model-agnostic; it can be applied in a consistent fashion to draw causal or descriptive inference from a wide range of models. We illustrate how to implement this workflow with the marginaleffects package, which supports over 100 different classes of models in R and Python, and present two worked examples. These examples show how the workflow can be applied across designs (e.g., observational study, randomized experiment) to answer different research questions (e.g., associations, causal effects, effect heterogeneity) while facing various challenges (e.g., controlling for confounders in a flexible manner, modelling ordinal outcomes, and interpreting non-linear models).

Figure illustrating model predictions. On the X-axis the predictor, annual gross income in Euro. On the Y-axis the outcome, predicted life satisfaction. A solid line marks the curve of predictions on which individual data points are marked as model-implied outcomes at incomes of interest. Comparing two such predictions gives us a comparison. We can also fit a tangent to the line of predictions, which illustrates the slope at any given point of the curve.

Figure illustrating model predictions. On the X-axis the predictor, annual gross income in Euro. On the Y-axis the outcome, predicted life satisfaction. A solid line marks the curve of predictions on which individual data points are marked as model-implied outcomes at incomes of interest. Comparing two such predictions gives us a comparison. We can also fit a tangent to the line of predictions, which illustrates the slope at any given point of the curve.

A figure illustrating various ways to include age as a predictor in a model. On the x-axis age (predictor), on the y-axis the outcome (model-implied importance of friends, including confidence intervals).

Illustrated are 
1. age as a categorical predictor, resultings in the predictions bouncing around a lot with wide confidence intervals
2. age as a linear predictor, which forces a straight line through the data points that has a very tight confidence band and
3. age splines, which lies somewhere in between as it smoothly follows the data but has more uncertainty than the straight line.

A figure illustrating various ways to include age as a predictor in a model. On the x-axis age (predictor), on the y-axis the outcome (model-implied importance of friends, including confidence intervals). Illustrated are 1. age as a categorical predictor, resultings in the predictions bouncing around a lot with wide confidence intervals 2. age as a linear predictor, which forces a straight line through the data points that has a very tight confidence band and 3. age splines, which lies somewhere in between as it smoothly follows the data but has more uncertainty than the straight line.

Ever stared at a table of regression coefficients & wondered what you're doing with your life?

Very excited to share this gentle introduction to another way of making sense of statistical models (w @vincentab.bsky.social)
Preprint: doi.org/10.31234/osf...
Website: j-rohrer.github.io/marginal-psy...

25.08.2025 11:49 โ€” ๐Ÿ‘ 1009    ๐Ÿ” 288    ๐Ÿ’ฌ 47    ๐Ÿ“Œ 22

@rbcavanaugh is following 20 prominent accounts