How To Perform Welchís Anova In Python?

Welch's ANOVA, is an expansion of the standard ANOVA test that allows for different sample sizes and variances. Frequently, the samples that are being compared in an ANOVA test may not have comparable variances or sample sizes. In certain situations, Welch's ANOVA should be performed rather than the standard ANOVA test since it can not be acceptable. In this post, we'll take a detailed look at Welch's ANOVA

What is Welch’s ANOVA?

Welch's ANOVA is a variant of the ANOVA test, which is used to compare the means of two or more samples. ANOVA determines if the means of two or more samples differ substantially from one another. Welch's ANOVA is an extension of the classic ANOVA test that is used when the variances or sample sizes of the samples are uneven.

Unlike the usual ANOVA test, which assumes equal variances in the samples, Welch's ANOVA employs a modified F−statistic that accounts for uneven variances. As a result, it is a more robust test that can be utilized in a wider range of scenarios.

Implementing Welch’s ANOVA in Python

Python's scipy.stats.f oneway() method can be used to carry out Welch's ANOVA.


f_statistic, p_value = stats.f_oneway(sample1, sample2, sample3)

The F−statistic and p−value of the ANOVA test are returned by this function, which accepts three or more samples as input.


  • Importing scipy library.

  • Creating Sample data for the Anova operation.

  • Performing Anova Operation.

  • Printing the result.


An illustration of how to use this function to carry out Welch's ANOVA on three samples is provided below −

import scipy.stats as stats

# Sample data
sample1 = [1, 2, 3, 4, 5]
sample2 = [2, 3, 4, 5, 6]
sample3 = [3, 4, 5, 6, 7]

# Perform ANOVA
f_statistic, p_value = stats.f_oneway(sample1, sample2, sample3)

# Print results
print('F-statistic:', f_statistic)
print('p-value:', p_value)


F-statistic: 2.0
p-value: 0.177978515625

Welch's ANOVA will be conducted on the three samples in this example, and the f oneway() function will provide the F−statistic and p−value. A result as severe as the one observed is unlikely to occur, supposing the null hypothesis is true, according to the p−value and the F−statistic, respectively, which assess the ratio of between−group variation to within−group variance.

If there is a substantial difference between the sample means, you can use these numbers to quantify it. You can reject the null hypothesis and find there is a significant difference between the sample means if the p-value is less than a preset threshold (often 0.05).


In conclusion, Welch's ANOVA test is equivalent to the conventional ANOVA test. The null hypothesis can be disregarded and it can be judged that there is a significant difference between the sample means if the test's p-value is less than a preset threshold, often 0.05. Welch's ANOVA's conclusion, like the results of any statistical test, is only as trustworthy as the information and presumptions upon which it is based. The test's assumptions and data must be carefully considered by the analyst in order to interpret the test's results appropriately.

Updated on: 28-Dec-2022


Kickstart Your Career

Get certified by completing the course

Get Started