Do you really need a multilevel model? A preview of powerlmm 0.4.0
In this post I will show some of the new simulation features that will be available in powerlmm 0.4.0
. You can already install the dev version from GitHub.
The revamped simulation functions offer 3 major new features:
- Compare multiple model formulas, including OLS models (no random effects).
- Evaluate a “forward” or “backward” model selection strategy using LRT.
- Apply a data transformation during the simulation, this makes it possible to compare e.g. an ANCOVA versus a 2-level LMM, or write your own custom MNAR or MAR missing data function.
I will cover these new function in two examples.
Example 1
Do I really need a LMM? 2-lvl LMM versus ANCOVA
This example will show both the new data_transform
argument and the new support for multiple formulas, and formulas without random effects. Each formula is fit to the same data set (or a transformed version) during the simulation. Let’s assume we’ll do a trial where we measure patients for 11 weeks, from baseline to week 10. We can analyze such data in many ways, as an example we will compare 3 popular models:
- t-test: group differences at posttest
- ANCOVA: group differences at posttest adjusting for pretest values
- LMM: group differences in change over time using a 2-level linear-mixed effects model with a random intercept and slope
To make the LMM more similar to the ANCOVA we also fit a constrained model where we assume there is no group differences at baseline (which there isn’t). Let’s setup the models and run the simulation, we will try different amounts of random slope variance compared to the within-subjects variance (var_ratio
), and with or without dropout (30 % at posttest).
Let’s summarize the results for the treatment effect.
Since we have 16 × 4 model results, it is probably better to plot the results.
We can see that for complete data ANCOVA is generally more powerful than the standard LMM as heterogeneity increases (“variance ratio”), whereas the constrained LMM is even more powerful. The difference between ANCOVA and t-test (“posttest”) also decrease with increasing heterogeneity in change over time—since this leads to a weaker correlation between pretest and posttest. For the scenarios with missing data, LMM is more powerful, as would be expected—the cross-sectional methods have 30 % of the observations missing, whereas the LMMs can include the available responses up until dropout occurs.
It is worth noting that the 2-lvl LMM with 11 repeated measures is not always more powerful than a “cross-sectional” t-test at posttest. Obviously, this is a limited example, but it demonstrates that it is a mistake to base sample size calculations on a t-test, when a LMM is planned, with the motivation that “a LMM will have more power” (I see such motivations quite often).
Example 2
Do I really need a multilevel model? Using LRT to perform model selection
A common strategy when analyzing (longitudinal) data is to build the model in a data driven fashion—by starting with a random intercept model, then add a random slope and perform a likelihood ratio test (LRT) and keep the random slope if it is significant, and so on. We can investigate how well such a strategy works using sim_formula_compare
. We’ll define our model formulas, starting with a 2-level random intercept model and working up to a 3-level random intercept and slope model. The true model is a 3-level model with only a random slope. Let’s first setup the models
Then we run the simulation, the four model formulas in f
will be fit the each data set.
During each simulation the REML log-likelihood is saved for each model, we can therefore perform the model selection in the summary method, as a post-processing step. Since REML is used it is assumed the fixed effects are the same, and that we compare a “full model” to a “reduced model”. Let’s try a forward selection strategy, where start with the first model and compare it to the next. If the comparison is significant we continue testing models, else we stop. The summary function performs this model comparison for each of the nsim
simulations and returns the results from the “winning” model in each simulation replication.
The point of the model selection algorithm is to mimic a type of data driven model selection that is quite common. We see that this strategy do not lead to nominal Type I errors in this scenario. The cluster-level is left out of the model too often, leading to Type I errors around 12 %. However, it is fairly common to increase the LRT’s alpha level to try to improve this strategy. Let’s try a range of alpha level to see the impact.
The figure shows that the LRT alpha level need to be very liberal to keep Type I errors, for the treatment effect, close to the 5 % level.
We can also see the results from each of the four models. Here we will just look at the time:treatment
effect.
We see that the 2-lvl random intercept model lead to substantially inflated Type I errors = 0.495. The 2-level model that also adds a random slope is somewhat better but still not good, Type I errors = 0.215. The correct 3-level model that account for the third level using a random slope have close to nominal Type I errors = 0.054. The full 3-level that adds an unnecessary random intercept is somewhat conservative, Type I errors = 0.043.
When choosing a strategy Type I errors is not only factor we want to minimize, power is also important. So let’s see how power is affected.
We can note that power for the treatment effect based on LRT model selection is only slightly higher than for the correct 3-level model. If we balance this slight increase in power compared to the noticeable increase in Type I errors, it might be reasonable to conclude that for these data we should always fit the 3-level model. Lastly, the overspecified 3-level model that include an unnecessary random intercept loses some power.
Summary
The improved simulation method in powerlmm
makes it really convenient to plan and evaluate the analysis of longitudinal treatment trials with a possible third level of clustering (therapists, schools, groups, etc). The support for data transforms and single level (lm()
) models also enables a lot of custom models to be fit.
Feedback, bugs, etc
I appreciate all types of feedback, e.g. typos, bugs, inconsistencies, feature requests, etc. Open an issue on github.com/rpsychologist/powerlmm/issues, common on this post, or contact me here rpsychologist.com/about.
Written by Kristoffer Magnusson, a researcher in clinical psychology. You should follow him on Twitter and come hang out on the open science discord Git Gud Science.
Published May 04, 2018 (View on GitHub)
Buy Me A Coffee
A huge thanks to the 152 supporters who've bought me a 361 coffees!
Jason Rinaldo bought ☕☕☕☕☕☕☕☕☕☕ (10) coffees
I've been looking for applets that show this for YEARS, for demonstrations for classes. Thank you so much! Students do not need to tolarate my whiteboard scrawl now. I'm sure they'd appreciate you, too.l
JDMM bought ☕☕☕☕☕ (5) coffees
You finally helped me understand correlation! Many, many thanks... 😄
@VicCazares bought ☕☕☕☕☕ (5) coffees
Good stuff! It's been so helpful for teaching a Psych Stats class. Cheers!
Dustin M. Burt bought ☕☕☕☕☕ (5) coffees
Excellent and informative visualizations!
Someone bought ☕☕☕☕☕ (5) coffees
@metzpsych bought ☕☕☕☕☕ (5) coffees
Always the clearest, loveliest simulations for complex concepts. Amazing resource for teaching intro stats!
Ryo bought ☕☕☕☕☕ (5) coffees
For a couple years now I've been wanting to create visualizations like these as a way to commit these foundational concepts to memory. But after finding your website I'm both relieved that I don't have to do that now and pissed off that I couldn't create anything half as beautiful and informative as you have done here. Wonderful job.
Diarmuid Harvey bought ☕☕☕☕☕ (5) coffees
You have an extremely useful site with very accessible content that I have been using to introduce colleagues and students to some of the core concepts of statistics. Keep up the good work, and thanks!
Michael Hansen bought ☕☕☕☕☕ (5) coffees
Keep up the good work!
Michael Villanueva bought ☕☕☕☕☕ (5) coffees
I wish I could learn more from you about stats and math -- you use language in places that I do not understand. Cohen's D visualizations opened my understanding. Thank you
Someone bought ☕☕☕☕☕ (5) coffees
Thank you, Kristoffer
Pål from Norway bought ☕☕☕☕☕ (5) coffees
Great webpage, I use it to illustrate several issues when I have a lecture in research methods. Thanks, it is really helpful for the students:)
@MAgrochao bought ☕☕☕☕☕ (5) coffees
Joseph Bulbulia bought ☕☕☕☕☕ (5) coffees
Hard to overstate the importance of this work Kristoffer. Grateful for all you are doing.
@TDmyersMT bought ☕☕☕☕☕ (5) coffees
Some really useful simulations, great teaching resources.
@lakens bought ☕☕☕☕☕ (5) coffees
Thanks for fixing the bug yesterday!
@LinneaGandhi bought ☕☕☕☕☕ (5) coffees
This is awesome! Thank you for creating these. Definitely using for my students, and me! :-)
@ICH8412 bought ☕☕☕☕☕ (5) coffees
very useful for my students I guess
@KelvinEJones bought ☕☕☕☕☕ (5) coffees
Preparing my Master's student for final oral exam and stumbled on your site. We are discussing in lab meeting today. Coffee for everyone.
Someone bought ☕☕☕☕☕ (5) coffees
What a great site
@Daniel_Brad4d bought ☕☕☕☕☕ (5) coffees
Wonderful work!
David Loschelder bought ☕☕☕☕☕ (5) coffees
Terrific work. So very helpful. Thank you very much.
@neilmeigh bought ☕☕☕☕☕ (5) coffees
I am so grateful for your page and can't thank you enough!
@giladfeldman bought ☕☕☕☕☕ (5) coffees
Wonderful work, I use it every semester and it really helps the students (and me) understand things better. Keep going strong.
Dean Norris bought ☕☕☕☕☕ (5) coffees
Sal bought ☕☕☕☕☕ (5) coffees
Really super useful, especially for teaching. Thanks for this!
dde@paxis.org bought ☕☕☕☕☕ (5) coffees
Very helpful to helping teach teachers about the effects of the Good Behavior Game
@akreutzer82 bought ☕☕☕☕☕ (5) coffees
Amazing visualizations! Thank you!
@rdh_CLE bought ☕☕☕☕☕ (5) coffees
So good!
Amanda Sharples bought ☕☕☕ (3) coffees
Soyol bought ☕☕☕ (3) coffees
Someone bought ☕☕☕ (3) coffees
Kenneth Nilsson bought ☕☕☕ (3) coffees
Keep up the splendid work!
@jeremywilmer bought ☕☕☕ (3) coffees
Love this website; use it all the time in my teaching and research.
Someone bought ☕☕☕ (3) coffees
Powerlmm was really helpful, and I appreciate your time in putting such an amazing resource together!
DR AMANDA C DE C WILLIAMS bought ☕☕☕ (3) coffees
This is very helpful, for my work and for teaching and supervising
Georgios Halkias bought ☕☕☕ (3) coffees
Regina bought ☕☕☕ (3) coffees
Love your visualizations!
Susan Evans bought ☕☕☕ (3) coffees
Thanks. I really love the simplicity of your sliders. Thanks!!
@MichaMarie8 bought ☕☕☕ (3) coffees
Thanks for making this Interpreting Correlations: Interactive Visualizations site - it's definitely a great help for this psych student! 😃
Zakaria Giunashvili, from Georgia bought ☕☕☕ (3) coffees
brilliant simulations that can be effectively used in training
Someone bought ☕☕☕ (3) coffees
@PhysioSven bought ☕☕☕ (3) coffees
Amazing illustrations, there is not enough coffee in the world for enthusiasts like you! Thanks!
Cheryl@CurtinUniAus bought ☕☕☕ (3) coffees
🌟What a great contribution - thanks Kristoffer!
vanessa moran bought ☕☕☕ (3) coffees
Wow - your website is fantastic, thank you for making it.
Someone bought ☕☕☕ (3) coffees
mikhail.saltychev@gmail.com bought ☕☕☕ (3) coffees
Thank you Kristoffer This is a nice site, which I have been used for a while. Best Prof. Mikhail Saltychev (Turku University, Finland)
Someone bought ☕☕☕ (3) coffees
Ruslan Klymentiev bought ☕☕☕ (3) coffees
@lkizbok bought ☕☕☕ (3) coffees
Keep up the nice work, thank you!
@TELLlab bought ☕☕☕ (3) coffees
Thanks - this will help me to teach tomorrow!
SCCT/Psychology bought ☕☕☕ (3) coffees
Keep the visualizations coming!
@elena_bolt bought ☕☕☕ (3) coffees
Thank you so much for your work, Kristoffer. I use your visualizations to explain concepts to my tutoring students and they are a huge help.
A random user bought ☕☕☕ (3) coffees
Thank you for making such useful and pretty tools. It not only helped me understand more about power, effect size, etc, but also made my quanti-method class more engaging and interesting. Thank you and wish you a great 2021!
@hertzpodcast bought ☕☕☕ (3) coffees
We've mentioned your work a few times on our podcast and we recently sent a poster to a listener as prize so we wanted to buy you a few coffees. Thanks for the great work that you do!Dan Quintana and James Heathers - Co-hosts of Everything Hertz
Cameron Proctor bought ☕☕☕ (3) coffees
Used your vizualization in class today. Thanks!
eshulman@brocku.ca bought ☕☕☕ (3) coffees
My students love these visualizations and so do I! Thanks for helping me make stats more intuitive.
Someone bought ☕☕☕ (3) coffees
Adrian Helgå Vestøl bought ☕☕☕ (3) coffees
@misteryosupjoo bought ☕☕☕ (3) coffees
For a high school teacher of psychology, I would be lost without your visualizations. The ability to interact and manipulate allows students to get it in a very sticky manner. Thank you!!!
Chi bought ☕☕☕ (3) coffees
You Cohen's d post really helped me explaining the interpretation to people who don't know stats! Thank you!
Someone bought ☕☕☕ (3) coffees
You doing useful work !! thanks !!
@ArtisanalANN bought ☕☕☕ (3) coffees
Enjoy.
@jsholtes bought ☕☕☕ (3) coffees
Teaching stats to civil engineer undergrads (first time teaching for me, first time for most of them too) and grasping for some good explanations of hypothesis testing, power, and CI's. Love these interactive graphics!
@notawful bought ☕☕☕ (3) coffees
Thank you for using your stats and programming gifts in such a useful, generous manner. -Jess
Mateu Servera bought ☕☕☕ (3) coffees
A job that must have cost far more coffees than we can afford you ;-). Thank you.
@cdrawn bought ☕☕☕ (3) coffees
Thank you! Such a great resource for teaching these concepts, especially CI, Power, correlation.
Julia bought ☕☕☕ (3) coffees
Fantastic work with the visualizations!
@felixthoemmes bought ☕☕☕ (3) coffees
@dalejbarr bought ☕☕☕ (3) coffees
Your work is amazing! I use your visualizations often in my teaching. Thank you.
@PsychoMouse bought ☕☕☕ (3) coffees
Excellent! Well done! SOOOO Useful!😊 🐭
Dan Sanes bought ☕☕ (2) coffees
this is a superb, intuitive teaching tool!
@whlevine bought ☕☕ (2) coffees
Thank you so much for these amazing visualizations. They're a great teaching tool and the allow me to show students things that it would take me weeks or months to program myself.
Someone bought ☕☕ (2) coffees
@notawful bought ☕☕ (2) coffees
Thank you for sharing your visualization skills with the rest of us! I use them frequently when teaching intro stats.
Andrew J O'Neill bought ☕ (1) coffee
Thanks for helping understand stuff!
Someone bought ☕ (1) coffee
Someone bought ☕ (1) coffee
Shawn Hemelstrand bought ☕ (1) coffee
Thank you for this great visual. I use it all the time to demonstrate Cohen's d and why mean differences affect it's approximation.
Adele Fowler-Davis bought ☕ (1) coffee
Thank you so much for your excellent post on longitudinal models. Keep up the good work!
Stewart bought ☕ (1) coffee
This tool is awesome!
Someone bought ☕ (1) coffee
Aidan Nelson bought ☕ (1) coffee
Such an awesome page, Thank you
Someone bought ☕ (1) coffee
Ellen Kearns bought ☕ (1) coffee
Dr Nazam Hussain bought ☕ (1) coffee
Someone bought ☕ (1) coffee
Eva bought ☕ (1) coffee
I've been learning about power analysis and effect sizes (trying to decide on effect sizes for my planned study to calculate sample size) and your Cohen's d interactive tool is incredibly useful for understanding the implications of different effect sizes!
Someone bought ☕ (1) coffee
Someone bought ☕ (1) coffee
Thanks a lot!
Someone bought ☕ (1) coffee
Reena Murmu Nielsen bought ☕ (1) coffee
Tony Andrea bought ☕ (1) coffee
Thanks mate
Tzao bought ☕ (1) coffee
Thank you, this really helps as I am a stats idiot :)
Melanie Pflaum bought ☕ (1) coffee
Sacha Elms bought ☕ (1) coffee
Yihan Xu bought ☕ (1) coffee
Really appreciate your good work!
@stevenleung bought ☕ (1) coffee
Your visualizations really help me understand the math.
Junhan Chen bought ☕ (1) coffee
Someone bought ☕ (1) coffee
Someone bought ☕ (1) coffee
Michael Hansen bought ☕ (1) coffee
ALEXANDER VIETHEER bought ☕ (1) coffee
mather bought ☕ (1) coffee
Someone bought ☕ (1) coffee
Bastian Jaeger bought ☕ (1) coffee
Thanks for making the poster designs OA, I just hung two in my office and they look great!
@ValerioVillani bought ☕ (1) coffee
Thanks for your work.
Someone bought ☕ (1) coffee
Great work!
@YashvinSeetahul bought ☕ (1) coffee
Someone bought ☕ (1) coffee
Angela bought ☕ (1) coffee
Thank you for building such excellent ways to convey difficult topics to students!
@inthelabagain bought ☕ (1) coffee
Really wonderful visuals, and such a fantastic and effective teaching tool. So many thanks!
Someone bought ☕ (1) coffee
Someone bought ☕ (1) coffee
Yashashree Panda bought ☕ (1) coffee
I really like your work.
Ben bought ☕ (1) coffee
You're awesome. I have students in my intro stats class say, "I get it now," after using your tool. Thanks for making my job easier.
Gabriel Recchia bought ☕ (1) coffee
Incredibly useful tool!
Shiseida Sade Kelly Aponte bought ☕ (1) coffee
Thanks for the assistance for RSCH 8210.
@Benedikt_Hell bought ☕ (1) coffee
Great tools! Thank you very much!
Amalia Alvarez bought ☕ (1) coffee
@noelnguyen16 bought ☕ (1) coffee
Hi Kristoffer, many thanks for making all this great stuff available to the community!
Eran Barzilai bought ☕ (1) coffee
These visualizations are awesome! thank you for creating it
Someone bought ☕ (1) coffee
Chris SG bought ☕ (1) coffee
Very nice.
Gray Church bought ☕ (1) coffee
Thank you for the visualizations. They are fun and informative.
Qamar bought ☕ (1) coffee
Tanya McGhee bought ☕ (1) coffee
@schultemi bought ☕ (1) coffee
Neilo bought ☕ (1) coffee
Really helpful visualisations, thanks!
Someone bought ☕ (1) coffee
This is amazing stuff. Very slick.
Someone bought ☕ (1) coffee
Sarko bought ☕ (1) coffee
Thanks so much for creating this! Really helpful for being able to explain effect size to a clinician I'm doing an analysis for.
@DominikaSlus bought ☕ (1) coffee
Thank you! This page is super useful. I'll spread the word.
Someone bought ☕ (1) coffee
Melinda Rice bought ☕ (1) coffee
Thank you so much for creating these tools! As we face the challenge of teaching statistical concepts online, this is an invaluable resource.
@tmoldwin bought ☕ (1) coffee
Fantastic resource. I think you would be well served to have one page indexing all your visualizations, that would make it more accessible for sharing as a common resource.
Someone bought ☕ (1) coffee
Fantastic Visualizations! Amazing way to to demonstrate how n/power/beta/alpha/effect size are all interrelated - especially for visual learners! Thank you for creating this?
@jackferd bought ☕ (1) coffee
Incredible visualizations and the best power analysis software on R.
Cameron Proctor bought ☕ (1) coffee
Great website!
Someone bought ☕ (1) coffee
Hanah Chapman bought ☕ (1) coffee
Thank you for this work!!
Someone bought ☕ (1) coffee
Jayme bought ☕ (1) coffee
Nice explanation and visual guide of Cohen's d
Bart Comly Boyce bought ☕ (1) coffee
thank you
Dr. Mitchell Earleywine bought ☕ (1) coffee
This site is superb!
Florent bought ☕ (1) coffee
Zampeta bought ☕ (1) coffee
thank you for sharing your work.
Mila bought ☕ (1) coffee
Thank you for the website, made me smile AND smarter :O enjoy your coffee! :)
Deb bought ☕ (1) coffee
Struggling with statistics and your interactive diagram made me smile to see that someone cares enough about us strugglers to make a visual to help us out!😍
Someone bought ☕ (1) coffee
@exerpsysing bought ☕ (1) coffee
Much thanks! Visualizations are key to my learning style!
Someone bought ☕ (1) coffee
Sponsors
You can sponsor my open source work using GitHub Sponsors and have your name shown here.
Backers ✨❤️
Questions & Comments
Please use GitHub Discussions for any questions related to this post, or open an issue on GitHub if you've found a bug or wan't to make a feature request.
Webmentions
0 0
(Webmentions sent before 2021 will unfortunately not show up here.)
Archived Comments (1)
Hi, could you please help me out and explain if there is a possibility to simulate data and power for studies where with cont. predictors at different levels of analysis (e.g.level1 and level2) - specifically without any groups? To be more specific I'm trying to simulate `y` (as in `y ~ 1 + (1|id)`) for a given between / within variance ratio, and then add to it continuous `x1` and `x2` covariates and analyse `y ~ x1 + x2 + (x1 | id)`. I'd really use some advice and help. Been stuck with this problem for a week now. Thank you