irene
irene

Reputation: 2243

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?

Upvotes: 9

Views: 4789

Answers (2)

Dr. Duke
Dr. Duke

Reputation: 61

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

Upvotes: 3

Alec Peters
Alec Peters

Reputation: 251

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.

Upvotes: 2

Related Questions