Sign in

Ryan Batten, PhD(c)

@ryanbatten.bsky.social
117 followers 159 following 73 posts

- Biostatistician by trade - PhD candidate in Clinical Epidemiology at Memorial University - Love statistics & R! - Area of expertise: causal inference using real-world data Blog: www.causallycurious.com

PostsRepliesMedia
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 22/03/2026
Is there a reason that risk difference isn't used more for time to event outcomes? For example, estimate baseline hazard and hazard at 5 years, then take the difference (i.e., using a Royston-Parmar model) #CausalSky #StatsSky
010
Reposted by Ryan Batten, PhD(c)
Peter Tennant @pwgtennant.bsky.social · 12/03/2026
Draw a DAG to uncover your assumptions from the trenchcoat.
1191
Reposted by Ryan Batten, PhD(c)
Jeremy Labrecque @jeremylabrecque.bsky.social · 05/03/2026
A very nice to initiative where you can post your DAG: opencausal.org And because they're machine readable, they're much easier to search.
opencausal.org
Open Causal (Beta)
21410
Reposted by Ryan Batten, PhD(c)
Isabella Velásquez @ivelasq3.bsky.social · 03/03/2026
I rounded up a few Claude Skills for #RStats users. Huge thanks to the creators who developed them. They share Skills for everything from tidyverse code to brand.yml files to learning while using AI. Hope the list is useful, and please let me know what I missed! 🧡 rworks.dev/posts/claude...
rworks.dev
A Few Claude Skills for R Users – R Works
The community has come together to create some great Claude Skills that you can try out today.
415340
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 03/03/2026
No amount of statistical gymnastics will save data that doesn't support what you're trying to do
000
Reposted by Ryan Batten, PhD(c)
Mattan S. Ben-Shachar @mattansb.msbstats.info · 01/03/2026
This is great. I've given an example in class showing how priors can make some unidentified problems identifiable: a+b=6, solve for b. Prior: a=0~4
0133
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 27/02/2026
The more I learn about stats, the more I use these three things: 1/ Plots - a picture is worth a thousand words 2/ Probability can almost always guide you 3/ Simulation - when it doubt, simulate it out
010
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 18/12/2024
Average treatment effect in the overlap can be a tricky causal estimand. Why? The ATO is a little different than other estimands. Often, it's not well defined before the analysis. This is because there are many ways to define the population. Instead, it's based on the statistical method. 1/2
100
Reposted by Ryan Batten, PhD(c)
Dr Ellie Murray, ScD @epiellie.bsky.social · 17/12/2024
The third installment of the “how should we actually construct our causal graphs anyway” series is out now! 👇🏼 Nick & I ask the question: can we just get an LLM to tell us what belongs on the graph?
14313
Reposted by Ryan Batten, PhD(c)
Stephen Wild @stephenjwild.bsky.social · 17/12/2024
A few papers I think worth reading. Mostly open access. Causal inference is hard: www.nature.com/articles/s41...
nature.com
Causal inference on human behaviour - Nature Human Behaviour
In this Review, Drew Bailey et al. present an accessible, non-technical overview of key challenges for causal inference in studies of human behaviour as well as methodological solutions to these chall...
1016452
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 16/12/2024
The more obscure a statistical analysis method, the more I question the design. Not saying it's wrong, but I'd have questions why a more "common" approach wasn't used.
020
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 15/12/2024
Bootstrapping is sort of a semi-Bayesian approach when you think about it
030
Reposted by Ryan Batten, PhD(c)
Frank Harrell @f2harrell.bsky.social · 14/12/2024
Calling bullshit - a skill that every applied statistician should master. Unfortunately many of the younger statisticians I’ve worked with sometimes lack the bravery to do so. The book looks like a must-have. #Statistics #StatsSky @carlbergstrom.com @carlzimmer.bsky.social
45920
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 14/12/2024
A common critique of Bayesian methods is that priors are arbitrary. I think that's a good thing. It's an assumption, like much of science. Better to be explicit about assumptions (i.e., DAGs, priors, etc) than implicit
010
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 11/12/2024
It can be tempting to think of propensity scores as a prediction problem. This is problematic. Why? In prediction models, any variable that helps can be included. In causal inference, this can cause bias, e.g., collider bias. Instead, use a directed acyclic graph (DAG) for variable selection.
040
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 11/12/2024
Percentages > 100%...
media.tenor.com
a man in a suit and tie stands in front of two other men
ALT: a man in a suit and tie stands in front of two other men
010
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 11/12/2024
Fantastic initiative! Especially useful for papers using simulations
000
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 09/12/2024
Choosing a causal estimand is important. Why? To make sure the research question is answered! Certain methods can only estimate specific estimands. This is important when comparing methods. Let's use an example. Imagine we want to compare two methods: 1/3
100
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 08/12/2024
The best way to improve your analysis: Plot your data
000
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 07/12/2024
Too accurate
100
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 06/12/2024
This is a good example of how Bayes & Frequentist methods are different paradigms of stats. Not unlike calculus vs linear algebra. Both useful, but mixing them is problematic.
020
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 06/12/2024
Nominal coverage helped me with confidence intervals: If you repeat an analysis 1,000 times, nominal coverage is the % of intervals that capture the true effect. For 95% CIs, we'd expect ~950/1,000 to include the true value. It's a long-run frequency idea, not a guarantee for any single interval!
100
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 05/12/2024
Censoring can result in selection bias for survival data. A solution is to use inverse probability of censoring weights. Why? IPCW creates a pseudo-population where censoring is independent of certain covariates! This is similar to how inverse probability of treatment weighting works. 1/n
320
Reposted by Ryan Batten, PhD(c)
Maarten van Smeden @maartenvsmeden.bsky.social · 05/12/2024
Finally, another real advantage of causal inference is that you will better recognise situations where you cannot actually estimate the causal effect you are interested in, in any reliable way. So it is a good way to avoid doing things that are hopeless
3377
Reposted by Ryan Batten, PhD(c)
Frank Harrell @f2harrell.bsky.social · 24/11/2024
#Statistics and #RStats thought of the day: Before analyzing data or doing multiple imputation, explore missingness extents and patterns in your data: hbiostat.org/rflow/missing - see especially the interactive NA Combinations tab. #StatsSky
hbiostat.org
R Workflow - 6  Missing Data
210122
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 04/12/2024
Statistical Rethinking is such a fantastic name. Really has changed the way I think (at least so far, ~80% of the way through the book)
011
Reposted by Ryan Batten, PhD(c)
Peter Tennant @pwgtennant.bsky.social · 02/12/2024
The {marginaleffects} package is an EXTREMELY useful tool for R & Python users that revolutionises the interpretation of models with complicated non-linear features. Be sure to check out this introduction from @vincentab.bsky.social, @noahgreifer.bsky.social. and @andrew.heiss.phd! #EpiSky
38620
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 28/11/2024
The more experience I get, the more I appreciate George Box's quote "All models are wrong, but some are useful"
000
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 27/11/2024
Causal inference, DAGs especially, force you to be explicit about the assumptions you're making. Learning about Bayesian statistics, feels like it's similar
130
Reposted by Ryan Batten, PhD(c)
Miguel Hernan @miguelhernan.org · 26/11/2024
Does #randomization ensures balance of risk factors between groups? Consider this: In Denmark 860 individuals were randomly allocated to either intervention or control. Individuals were unaware of their allocation. No intervention took place. Mortality was higher in the intervention group (p=0.003)
712347
Reposted by Ryan Batten, PhD(c)
Stephen Wild @stephenjwild.bsky.social · 24/11/2024
My advice (for what little it's worth): pick a topic that interests you, pick statistics you can practice, and apply it there. Read widely and be judicious in who you follow and take advice from on social media. Importantly: have fun while doing it. If you aren't having fun, you won't pursue it
3186
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 19/11/2024
Simulation has now become my default to answer questions. Any stats question I'm curious about? Or situation I don't know about? Head straight to the sim-mobile
100
Ryan Batten, PhD(c) @ryanbatten.bsky.social · 19/11/2024
The purrr package is phenomenal. Have been using map_* for a while but only recently found out about reduce! Great for combining plots if you have a bunch stored in a list
000