How To Perform Dunnís Test In Python?


Dunn's test is a statistical technique for comparing the means of several samples. When it's required to compare the means of numerous samples to identify which ones are noticeably different from one another, Dunn's test is frequently employed in a range of disciplines, including biology, psychology, and education. We shall examine Dunn's test in−depth in this article, along with a python implementation.

What is Dunn’s Test?

Dunn's test is a statistical analysis used to compare the means of numerous samples. It is a form of multiple comparison test used to compare the means of more than two samples to identify which samples differ substantially from one another.

When the assumption of normality is violated, Dunn's test is sometimes used with the non-parametric Kruskal−Wallis test to compare the means of several samples. If there are any notable differences between the sample means, the Kruskal−Wallis test is employed to find them. The means of the samples are compared pairwise to identify which samples are substantially different from one another and if there are significant differences. Dunn's test is then used to compare the means of the samples.

Performing Dunn’s test in Python

To run Dunn's test in Python, we can use the scikit-posthocs library's posthoc dunn() method.

The code below demonstrates how to use this function −

Syntax

sp.posthoc_dunn(data, p_adjust = 'bonferroni')

Bartlett's test statistic and the p-value are returned by this function after it receives an array of data.

Parameters

  • p_adjust is a p−value adjustment method

To demonstrate the test in Python, consider the following scenario: Researchers want to discover if three different fertilizers result in various degrees of plant growth. They choose 30 different plants at random and divide them into three groups of ten, each with a different fertilizer. They measure the height of each plant at the end of one month.

Algorithm

  • Installing scikit-posthocs library

  • Specifying the data of growth of 10 plants groupwise

  • Merging all the 3 groups in one data

  • Performing Dunn's test using a Bonferonni correction for the p-values

Example

Using the scikit-posthocs lib to run Dunn’s test is demonstrated here −

!pip install scikit-posthocs

#specify the growth of the 10 plants in each group
group1 = [9, 10, 16, 9, 10, 5, 7, 13, 10, 9]
group2 = [16, 19, 15, 17, 19, 11, 6, 17, 11, 9]
group3 = [7, 9, 5, 8, 8, 14, 11, 9, 14, 8]
data = [group1, group2, group3]

#perform Dunn's test using a Bonferonni correction for the p-values
import scikit_posthocs as sp
sp.posthoc_dunn(data, p_adjust = 'bonferroni')

Output

The adjusted p-value for the distinction between groups 1 and 2 is 0.115458.
The adjusted p-value for the distinction between groups 1 and 3 is 1.000000.
The adjusted p-value for the distinction between groups 2 and 3 is 0.27465.

Conclusion

Dunn's test is widely used in a number of domains, including biology, psychology, and education, where the means of numerous samples must be compared to discover whether samples are substantially different from one another. It is especially beneficial when the assumption of normalcy is violated because it is a non-parametric test that does not rely on this assumption.

Dunn's test can be used in education to compare the means of many samples of data from various schools or classes in order to find whether schools or classrooms have substantially different means. It might be used, for example, to compare the average test scores of different schools or the average grades of different classrooms.

Updated on: 28-Dec-2022

877 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements