- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
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.