9

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?

2 Answers 2

3

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

1
  • Thanks for creating the issue on scipy. I hope the devs include this in the next release.
    – irene
    Commented Nov 25, 2019 at 14:03
2

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.

0

Not the answer you're looking for? Browse other questions tagged or ask your own question.