avatar
Julia M. Rohrer @dingdingpeng.the100.ci

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...

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. 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.
aug 25, 2025, 11:49 am • 914 277

Replies

avatar
Gerard Cramer DVM DVSc @dairycowfootdoc.bsky.social

📌

aug 26, 2025, 3:53 pm • 0 0 • view
avatar
Sebastian E. Wenz @sewenz.bsky.social

📌

aug 25, 2025, 12:33 pm • 1 0 • view
avatar
Solomon Kurz @solomonkurz.bsky.social

Just shared this on the Stan forums to answer a question

aug 25, 2025, 2:48 pm • 7 0 • view
avatar
Ozma @rowyourbot.bsky.social

📌

aug 25, 2025, 9:23 pm • 0 0 • view
avatar
Greg Faletto @gregoryfaletto.com

It's that "age as a predictor" plot from like a month ago! Looks great!

A man sitting in a chair with his legs stretched out, holding a drink can and a cigarette in one hand while pointing with the other. He appears to be reacting strongly to something off-screen.
aug 25, 2025, 3:08 pm • 12 1 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

hahaha omg that meme choice is just perfect. Yes, that's what I've been mainly working on for the last months.

aug 25, 2025, 3:09 pm • 2 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

And many thanks 😊

aug 25, 2025, 3:10 pm • 2 0 • view
avatar
Valentine @jalapena.bsky.social

📌

aug 27, 2025, 12:43 pm • 3 0 • view
avatar
Denis Mongin @denismongin.bsky.social

Thank you, and bravo, you are amazing (both).

aug 26, 2025, 5:53 am • 2 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Many thanks, glad if you liked it!

aug 26, 2025, 5:59 am • 1 0 • view
avatar
Denis Mongin @denismongin.bsky.social

I am reading, and I feel super proud: In my last study (here www.medrxiv.org/content/10.1...), I model incidence of ED use with exponential on distance. I actually did counterfactual approach, and named it "counterfactual"!! (wanted to see ED use if everybody was "living" 5 km from the ED)

aug 26, 2025, 10:06 am • 3 0 • view
avatar
Will Lowe @conjugateprior.org

Sometimes I stare at a table of regression coefficients & wonder what calcified disciplinary conventions are doing with all of our lives.

aug 25, 2025, 2:51 pm • 9 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Are you??? Your midlife crisis must be a lot more sophisticated than mine.

aug 25, 2025, 2:58 pm • 4 0 • view
avatar
Will Lowe @conjugateprior.org

lol, doubtful. Someone must be capable of sophisticated crises, but personally I think that's only in novels. I suppose the therapists would be able to tell us.

aug 25, 2025, 3:16 pm • 5 0 • view
avatar
Carlos E Lourenco (Caê) @caerib.bsky.social

📌

sep 20, 2025, 1:47 pm • 1 0 • view
avatar
Kendra Maas, PhD @dnakendra.bsky.social

📌

aug 26, 2025, 1:33 am • 0 0 • view
avatar
Jamie Reilly 🦜 @reilly-coglab.com

sometimes I stare at my email inbox and watch the colors change from across the room as new messages pile in - tears filling my eyes. Then I’ll unstandardize all my regression coefficients

aug 25, 2025, 2:12 pm • 3 0 • view
avatar
profradii.bsky.social @profradii.bsky.social

Yes!

aug 25, 2025, 3:51 pm • 2 0 • view
avatar
Phyllis Lee @pili-scotland.bsky.social

📌

aug 27, 2025, 2:15 pm • 0 0 • view
avatar
Fred Oswald @foswald.bsky.social

This is a really great paper - thank you, @dingdingpeng.the100.ci and @vincentab.bsky.social!

aug 25, 2025, 8:00 pm • 2 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Thank you for the kind words Fred!

aug 26, 2025, 3:46 am • 1 0 • view
avatar
Michael Höfler @tontrug.bsky.social

That's how I've been teaching it for a while. Glad to see that there is now a paper on it that I can use to justify this ☀️

sep 11, 2025, 6:20 am • 2 0 • view
avatar
Riccardo Fusaroli @fusaroli.bsky.social

Ah! I’ve been using this idea for a while now, but havnet found the time to get into marginaleffects yet (all my early attempts crashed against the issues it has with models using the gr(,by) notation). This is my chance, thanks! Also,

aug 25, 2025, 1:39 pm • 3 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

Not sure what gr() is, but if you post a problematic minimal reproducible example to github, I'll look into it.

aug 25, 2025, 3:34 pm • 2 0 • view
avatar
Riccardo Fusaroli @fusaroli.bsky.social

I keep getting the equivalent of this (on much more complex models, see screenshot): github.com/vincentarelb... But I'm currently unable to compile the latest dev version, so I'll need to wait til I solve that issue to see if my new repr ex would have an issue w that.

image
aug 26, 2025, 8:21 am • 1 0 • view
avatar
Riccardo Fusaroli @fusaroli.bsky.social

What do you think of eg zero inflated models on this? I always end up first adopting the prediction machine perspective and then writing an appendix deconstructing the impact of the components of the mixture.

aug 25, 2025, 1:39 pm • 2 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

I don’t have much experience with these models but my first impulse would be to use marginaleffects to try to crank out predictions 😂

aug 25, 2025, 1:57 pm • 2 0 • view
avatar
Riccardo Fusaroli @fusaroli.bsky.social

I do the same, but the I second guess myself and go through predictions at single component level, just to be sure I actually understand what’s going on 🤷 but I haven’t seen any discussion of best practices or anybody else doing that

aug 25, 2025, 2:09 pm • 2 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

For many multi-part models, you can use the `type` argument to specify which part you are interested in. So you can learn about the effect of X on Pr(S=1) or on Pr(Y=1) separately.

aug 25, 2025, 3:33 pm • 2 0 • view
avatar
Kevin M. King @kevinmking.bsky.social

We do zi models all the time and we always use this approach.

aug 25, 2025, 1:59 pm • 2 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

"zi models" -- for a second I though you were imitating a strong German accent

aug 25, 2025, 2:05 pm • 8 0 • view
avatar
Will Lowe @conjugateprior.org

"Return of the ZI" (because I can pronounce 'z' properly 😉)

aug 26, 2025, 8:08 am • 4 0 • view
avatar
Brent W. Roberts @bwroberts.bsky.social

I thought that was a French model...

aug 25, 2025, 2:05 pm • 6 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

"draw me like one of zi French models"

aug 25, 2025, 2:06 pm • 9 0 • view
avatar
Brenton Wiernik @bwiernik.bsky.social

I will never forget the groans Niels Waller elicited by teaching “A correlation is just a covariance computed in France—between z scores!”

aug 25, 2025, 4:09 pm • 27 3 • view
avatar
Stephen Wild @stephenjwild.bsky.social

My day is ruined now, thank you.

aug 25, 2025, 5:23 pm • 6 0 • view
avatar
Brenton Wiernik @bwiernik.bsky.social

Rest assured I taught all my students this terrible joke too

aug 25, 2025, 7:21 pm • 7 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Wow what omg

aug 25, 2025, 4:12 pm • 1 0 • view
avatar
Brent W. Roberts @bwroberts.bsky.social

That's a dad joke quality joke.

aug 25, 2025, 5:19 pm • 5 0 • view
avatar
Brent W. Roberts @bwroberts.bsky.social

As opposed to my stereotype of Deutsch which would be something like "Die Fit Indices sind zu Groẞ!" which in pigeon english would be "die you fit indices you're too gross."

aug 25, 2025, 2:12 pm • 3 1 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

As a native speaker, I have nothing to add to this. Except I would replace Fit Indices with Gütekriterien.

aug 25, 2025, 2:19 pm • 2 0 • view
avatar
Simon Columbus @simoncolumbus.bsky.social

As a native speaker who didn't study in Germany, I have nothing to add to this. Except I wouldn't replace Fit Indices with Gütekriterien.

aug 25, 2025, 2:23 pm • 2 0 • view
avatar
Michel Nivard @michelnivard.bsky.social

Gütekreterien as an R package, generate any fit criterion for anything, always fails on install because ü

aug 25, 2025, 2:41 pm • 2 0 • view
avatar
Brent W. Roberts @bwroberts.bsky.social

I'm confused by the implicit optimism of Gütekriterien. It seems to conflict with the German demeanor.

aug 25, 2025, 4:01 pm • 1 0 • view
avatar
Kevin M. King @kevinmking.bsky.social

image
aug 25, 2025, 3:15 pm • 5 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Just perfect

aug 25, 2025, 3:16 pm • 1 0 • view
avatar
Richard D. Morey @richarddmorey.bsky.social

In my head I actually read the sentence "We do zi models all zi time und ve alvays use zis apprhoach," because it showed up in my feed without the context above it

aug 25, 2025, 7:41 pm • 5 0 • view
avatar
Kevin M. King @kevinmking.bsky.social

Honestly that's a spot on impression of me.

aug 26, 2025, 12:27 pm • 2 0 • view
avatar
jgeller1phd.bsky.social @jgeller1phd.bsky.social

Check out my paper for zero-inflated beta models with marginaleffects: osf.io/preprints/ps...

aug 25, 2025, 6:09 pm • 6 0 • view
avatar
andrés castro araújo @acastroaraujo.bsky.social

fantastic title 10/10

aug 26, 2025, 3:39 pm • 1 0 • view
avatar
Riccardo Fusaroli @fusaroli.bsky.social

it's on the reading list :-)

aug 26, 2025, 8:22 am • 1 0 • view
avatar
jgeller1phd.bsky.social @jgeller1phd.bsky.social

I will say that for hefty models with lots of data marginaleffects struggles (e.g., Weiner diffusion).

aug 25, 2025, 6:12 pm • 2 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

You may be in World #3 from here. In any case, if you have a simple example with public data, I'd like to profile and see. Most of the time, the issue is that `predict()` takes a long time, but there might be something we can do to make things faster. bsky.app/profile/vinc...

aug 25, 2025, 9:26 pm • 2 0 • view
avatar
jgeller1phd.bsky.social @jgeller1phd.bsky.social

I should have added that it is fast when you calculate MEM but if you want AME it can take a looongg time.

aug 25, 2025, 10:20 pm • 5 0 • view
avatar
Robert (Bob) Kubinec @rmkubinec.bsky.social

If your data are massive, you can fit the AME to a sample.

aug 26, 2025, 1:50 pm • 0 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

and if predictors are categorical, shrink it to unique combinations and re-expand by using the `wts` argument.

aug 26, 2025, 1:53 pm • 3 0 • view
avatar
Robert (Bob) Kubinec @rmkubinec.bsky.social

Or could it be possible to calculate the derivatives with sparse matrices? There are fancy computation speed-ups in the ML packages like PyTorch etc.

aug 26, 2025, 3:31 pm • 0 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

Also in the works, but every prediction and aggregation function needs to be written manually from scratch, so it's a big project. On big datasets, it can be crazy fast. see benchmarks. github.com/arcruz0/marg...

aug 26, 2025, 3:42 pm • 22 4 • view
avatar
Robert (Bob) Kubinec @rmkubinec.bsky.social

Hmm good idea. Might even be worth a convenience function...

aug 26, 2025, 1:54 pm • 0 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

There's code in `marginaleffects` already but it's not activated currently. When I'm done with this major refactor, I'll work on bringing this back as an automatic convenience when it works.

aug 26, 2025, 3:41 pm • 3 0 • view
avatar
Rob Davies @robayedavies.bsky.social

This looks great! Really clearly written and nice plots: thanks for sharing

aug 25, 2025, 7:54 pm • 3 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Many thanks 😊

aug 26, 2025, 3:46 am • 1 0 • view
avatar
John Burn-Murdoch @jburnmurdoch.ft.com

This is fantastic! Bravo both 👏👏👏👏

aug 25, 2025, 2:33 pm • 7 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Oh, many thanks 😊

aug 25, 2025, 2:37 pm • 1 0 • view
avatar
Federico @federicovaggi.bsky.social

Two points! When varying multiple covariates (for a model that's locally differentiable) - it can make a big difference whether you make a first or second order approximation to estimate the local effect - and that's crucial to understand how to interpret the estimate.

aug 25, 2025, 6:33 pm • 1 0 • view
avatar
Federico @federicovaggi.bsky.social

Second point! For people that are not ML practicioners - if you are using a flexible non-linear model, it's absolutely crucial to assess goodness of fit on held out data. Any sufficiently flexible non-linear model can trivially get a perfect R^2 on the dataset it's fit on.

aug 25, 2025, 6:37 pm • 1 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

For your second point — I do wonder whether there’s anything systematic in the extent to which that actually affects focal quantities? We do some additional variations in the website and the comparison of interest seems completely unchanged even when a covariate is overfitted probably a lot.>

aug 25, 2025, 7:00 pm • 0 0 • view
avatar
Federico @federicovaggi.bsky.social

I think what is probably happening is that - if you fit a "standard" non-linear model in R (like, a spline, or a GBT) - the fitting procedure has defaults to regularize the fit to mitigate overfitting and make it easier to use out of the box. However...

aug 26, 2025, 12:41 am • 1 0 • view
avatar
Federico @federicovaggi.bsky.social

If you roll your arbitrary non-linear model (even something as simple as a linear model + higher order polynomial features) and then fit it with a gradient based optimizer with no regularization, you will almost certainly overfit and obtain absurd results for your sensitivities.

aug 26, 2025, 12:43 am • 1 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

I did some search on that but I couldn’t really find the intersection of concerns about overfitting when what’s of interest is not the model as a whole, but rather something like an average comparison.

aug 25, 2025, 7:01 pm • 0 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

PS there’s a (mildly) updated version available now: osf.io/g4s2a_v2

sep 11, 2025, 6:11 am • 13 1 • view
avatar
Stephen Senn @stephensenn.bsky.social

This looks interesting. I shall check it out. This pubmed.ncbi.nlm.nih.gov/7171691/ Is a favourite paper of mine. Turning regression into predictions has been a feature of Genstat ever since the 1980s. Peter Lane did the programming.

sep 11, 2025, 6:31 am • 11 1 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Oh wow! Yes, that seems like they were already working on this very idea. That's amazing, thank you for the pointer!

sep 11, 2025, 9:51 am • 2 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

This is in a certain sense the follow-up to a blog post I wrote 3 years ago (!) after I had looked into the topic for a paper with Felix Elwert, who is thus once again to blame for large chunks of my output. www.the100.ci/2022/05/27/%...

aug 25, 2025, 12:13 pm • 45 5 • view
avatar
econmaett @econmaett.github.io

📌

aug 26, 2025, 8:31 pm • 0 0 • view
avatar
Mayflower Watson @mayflowerwatson.bsky.social

📌

aug 25, 2025, 1:42 pm • 0 0 • view
avatar
jgeller1phd.bsky.social @jgeller1phd.bsky.social

Need to cite this in my Beta paper!

aug 25, 2025, 5:58 pm • 4 0 • view
avatar
Caroline Fiennes @carolinefiennes.bsky.social

Speaking as a person just (belatedly) learning regression: er, yes!

aug 25, 2025, 12:37 pm • 2 0 • view
avatar
G Brueckmann @brueckmann.bsky.social

This is really nice! Just a tiny hint, there is a miniscule error here: j-rohrer.github.io/marginal-psy... The link to the helper script on the top is leading to a 404: github.com/j-rohrer/mar...

aug 25, 2025, 12:13 pm • 3 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Oh, many thanks for the pointer! I think that's because the repository was private (while the page wasn't); it should work now (or in a bit; I have the feeling settings on GitHub sometimes take some minutes to actually go into effect)

aug 25, 2025, 12:16 pm • 2 0 • view
avatar
G Brueckmann @brueckmann.bsky.social

No worries, I think it'll work soon enough. + just a suggestion: Maybe consider adding "download as ZIP" after "Replication Package" for clarity. I didn't know there is no link to another website but immedeiately the download at first click but this could be "on me". Sorry if that's useless

aug 25, 2025, 12:21 pm • 1 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

No it's not on you 😂 I'd also probably be surprised, lemme quickly update this...

aug 25, 2025, 12:23 pm • 2 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Link in menu leading to ZIP is a bit like when you text somebody "Sure, let's meet some day" and suddenly the person is standing in front of your door.

aug 25, 2025, 12:24 pm • 4 0 • view
avatar
G Brueckmann @brueckmann.bsky.social

Phew, happy you see it like this :)

aug 25, 2025, 12:54 pm • 1 0 • view
avatar
Jeremy Labrecque 🇨🇦 @jeremylabrecque.bsky.social

I’ve read the paper but I’m still wondering what I’m doing with my life.

aug 25, 2025, 3:56 pm • 2 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Me too, which is why I never implied any logical connection between the two sentences 😋

aug 25, 2025, 3:58 pm • 1 0 • view
avatar
Jeremy Labrecque 🇨🇦 @jeremylabrecque.bsky.social

Foolish me. But your paper is awesome. It will save me having soooo many conversations!

aug 25, 2025, 7:45 pm • 1 0 • view
avatar
James Steele @jamessteeleii.bsky.social

Oh gosh, stuff like this makes me sad I'm not teaching students anymore and able to utilise such great resources for those purposes... Looks great though so will channel that into introducing colleagues and collaborators to the wonders of marginaleffects 😊

aug 25, 2025, 12:42 pm • 2 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Thank you for the kind words 😊

aug 25, 2025, 12:50 pm • 1 0 • view
avatar
Alt NIH Bluesky 🧪 @altnih4science.bsky.social

Haha

aug 28, 2025, 12:43 am • 0 0 • view
avatar
jknowles.bsky.social @jknowles.bsky.social

Thank you for writing this - it looks great! I can't wait to dig in.

aug 27, 2025, 2:18 pm • 1 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Hope you’ll enjoy reading it!

aug 27, 2025, 2:34 pm • 0 0 • view
avatar
Karsten Konrad 🇪🇺 @zabong69.bsky.social

Never. That’s for you stats people.

aug 26, 2025, 3:53 pm • 1 0 • view
avatar
Andrea Howard @drandreahoward.bsky.social

📌

aug 25, 2025, 11:56 am • 1 0 • view
avatar
David R. Quiroga-Martinez 🧠👂🎵🎸🇨🇴🕺 @dquiroga.bsky.social

📌

aug 25, 2025, 12:10 pm • 1 0 • view
avatar
Daniel 🕹️ @strengejacke.de

Nice paper! I would add some more context on the term "counterfactual", probably some/many readers are not familiar with that term, and I think it's an important information because - unlike the pure coefficients - counterfactual predictions involve some "data manipulation".

aug 25, 2025, 1:14 pm • 8 0 • view
avatar
Daniel 🕹️ @strengejacke.de

I.e., while for simple predictions, it is easily possible to calculate expected outcomes with "y = b0 + b1 * x1 + b2 * x2...", setting non-focal "x" to mean or zero (for factors), counterfactual predictions "clone" the sample.

aug 25, 2025, 1:14 pm • 4 0 • view
avatar
Dr Mircea Zloteanu ☀️ 🌊🌴 @mzloteanu.bsky.social

V important point. I think I've bugged @vincentab.bsky.social with so many questions about counterfactuals over the years in an attempt to get these that he could have blocked me by now and id have said "fair" :p

aug 25, 2025, 9:35 pm • 2 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Good point, will add that to my notes for the next iteration!

aug 25, 2025, 1:23 pm • 0 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

100%. This is a great suggestion.

aug 25, 2025, 1:26 pm • 0 0 • view
avatar
Darakhshan Nehal @darakhshann.bsky.social

Super cool!✨️

aug 25, 2025, 10:18 pm • 3 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Thank you 🦄

aug 26, 2025, 3:47 am • 1 0 • view
avatar
Darakhshan Nehal @darakhshann.bsky.social

📌

aug 25, 2025, 10:15 pm • 0 0 • view
avatar
Fabian Dablander @fdabl.bsky.social

Doing the Lord's work, Julia & Vincent! The marginaleffects package is so damn good, happy I can refer to this paper now in reviews :-)

sep 1, 2025, 1:15 pm • 4 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Thanks Fabian, writing papers that are referenced during the peer-review process is sort of my thing 😂

sep 1, 2025, 1:20 pm • 3 0 • view
avatar
econmaett @econmaett.github.io

📌

aug 26, 2025, 4:33 pm • 0 0 • view
avatar
Just a Regular Person @superawesomepossum.bsky.social

This is great! Thank you!

aug 25, 2025, 1:24 pm • 2 0 • view
avatar
Peter Tennant @pwgtennant.bsky.social

📌

sep 1, 2025, 2:29 pm • 0 0 • view
avatar
public health guy @publichealthguy1.bsky.social

@andrew.heiss.phd

aug 25, 2025, 1:23 pm • 5 0 • view
avatar
Saloni @scientificdiscovery.dev

Some pretty graphs here! 🤩

aug 25, 2025, 11:53 am • 9 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

omg I'm such a fan. And you commented on a paper of mine! (Julia drew all the graphs.)

aug 25, 2025, 12:02 pm • 7 0 • view
avatar
Saloni @scientificdiscovery.dev

Wait, of mine? But you're doing such cool stuff. Is it legal for people to be fans of each other?

aug 25, 2025, 12:33 pm • 10 0 • view
avatar
econmaett @econmaett.github.io

aug 26, 2025, 8:30 pm • 3 0 • view
avatar
Rob Cavanaugh @rbcavanaugh.bsky.social

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.

aug 26, 2025, 2:07 pm • 2 0 • view
avatar
Jacqueline Toussaint @jackietoussaint.bsky.social

If you stare really hard at the cutpoint coefficients from a partial proportional odds ordered logistic, they stare back

aug 26, 2025, 2:57 pm • 4 0 • view
avatar
Stephen Hampshire @shampshire.bsky.social

This looks really interesting!

aug 25, 2025, 12:06 pm • 2 0 • view
avatar
Guido Biele @guidobiele.bsky.social

Very cool! I'm intrigued by the treatment of ordinal variables, and I have a question. Will this approach: avg_comparisons(mod_ord, variables = "partner", hypothesis = ~ I(sum(x * 1:5))) also give a good answer when the response-distribution is unbalanced, e.g. most people responded on level 1?

aug 25, 2025, 3:25 pm • 1 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

I would be so disappointed if that one doesn’t spark controversy 😂 in my mind it gives you a good answer to exactly the question it’s asking, but apparently that’s not the smartest question to ask (Vincent made me move it to online-only)

aug 25, 2025, 3:49 pm • 2 0 • view
avatar
Dr Mircea Zloteanu ☀️ 🌊🌴 @mzloteanu.bsky.social

I was surprised it was there as well. In a thread on the marginaleffects github, I asked about computing the expected value in this manner and Vincent said "it can be done, but don't do it" :p

aug 26, 2025, 11:50 am • 2 0 • view
avatar
Guido Biele @guidobiele.bsky.social

wrote a bit fast, that's probably not an issue if one assumes the proportional odds assumtions holds and models the data accordingly, as done in the example. If one relaxes the assumption and models category specific effects, things are probably different.

aug 25, 2025, 3:34 pm • 1 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

You may be interested in the article by Mize and Han cited at the top of this page (and also might want to look at the examples on the page). marginaleffects.com/bonus/total_...

aug 25, 2025, 3:36 pm • 3 0 • view
avatar
Ales Vomacka @alesvomacka.bsky.social

This is amazing! My one wish is that you’d have also touched on the difference between average marginal effect/slope vs marginal effect at the mean. In sociology, model almost always have large-ish number of controls and dealing with them is a hassle.

aug 25, 2025, 3:57 pm • 5 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

TLDR: avg mfx if your sample is representative; weighted avg mfx if you need weights; mfx at mean only if your computer is slow.

aug 25, 2025, 4:36 pm • 6 0 • view
avatar
Malcolm 朝精 Barrett @malcolmbarrett.malco.io

Petition to rename the package mfx

aug 25, 2025, 7:31 pm • 2 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

You can be on @gmcd.bsky.social 's "I love short aliases" team, and I'll stay here by myself screaming "tab completion works well enough". 😂

aug 25, 2025, 8:29 pm • 5 0 • view
avatar
Malcolm 朝精 Barrett @malcolmbarrett.malco.io

It’s not the brevity I like. It’s the alternative pronunciation

aug 25, 2025, 8:37 pm • 1 0 • view
avatar
Vincent Arel-Bundock @vincentab.bsky.social

lol

aug 25, 2025, 8:37 pm • 1 0 • view
avatar
Grant McDermott @gmcd.bsky.social

"emeffex" compromise solution?

aug 25, 2025, 9:22 pm • 3 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Oh that’s a good one tho, I’ll add a note that we add this when we revise it! Only takes a couple of words

aug 25, 2025, 3:59 pm • 3 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

Thanks for the pointer, you'll get an acknowledgment 😋

aug 25, 2025, 4:00 pm • 1 0 • view
avatar
Darren Dahly @statsepi.bsky.social

Well...no...but I'm still glad y'all wrote this.

aug 25, 2025, 3:04 pm • 8 0 • view
avatar
Julia M. Rohrer @dingdingpeng.the100.ci

For you the question would be: Ever stared at people staring at regression coefficients and wondered what you're doing with your life?

aug 25, 2025, 3:06 pm • 12 1 • view
avatar
Jacques S. @jshebehe.bsky.social

📌

aug 26, 2025, 8:06 pm • 0 0 • view