简体   繁体   中英

Welch's ANOVA in Python

I'm not sure if stackoverflow is the best forum for this, but anyway...

Scipy implements ANOVA using stats.f_oneway , which assumes equal variances. It says in the docs that if the variances are unequal, one could consider the Kruskal-Wallis test instead.

However, what I want is Welch's ANOVA. Scipy has a Welch t-test, but of course this doesn't work if I have more than two groups.

What I find interesting is that scipy used to have stats.oneway which allowed for an equal variance setting. However, it has been deprecated .

Is there an easy way to implement Welch's ANOVA in Python?

Just required the same thing. I had to copy code from R package. Also requested scipy.stats to add this feature. Here is the ~10 lines of code for the implementation

https://github.com/scipy/scipy/issues/11122

The pingouin package has a Welch's ANOVA implemented. You can find the documentation for it at https://pingouin-stats.org/generated/pingouin.welch_anova.html .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM