如何在Python中執行Dunn檢驗?


Dunn檢驗是一種用於比較多個樣本均值的統計技術。當需要比較多個樣本的均值以識別哪些樣本之間存在顯著差異時,Dunn檢驗經常在許多學科中使用,包括生物學、心理學和教育學。在本文中,我們將深入探討Dunn檢驗,並提供Python實現。

什麼是Dunn檢驗?

Dunn檢驗是一種用於比較多個樣本均值的統計分析方法。它是一種多重比較檢驗,用於比較兩個以上樣本的均值,以識別哪些樣本之間存在顯著差異。

當違反正態性假設時,有時將Dunn檢驗與非引數Kruskal-Wallis檢驗一起使用來比較多個樣本的均值。如果樣本均值之間存在任何顯著差異,則使用Kruskal-Wallis檢驗來檢測它們。然後透過成對比較樣本均值來確定哪些樣本之間存在顯著差異。如果存在顯著差異,則使用Dunn檢驗來比較樣本均值。

在Python中執行Dunn檢驗

要在Python中執行Dunn檢驗,可以使用scikit-posthocs庫中的posthoc_dunn()方法。

以下程式碼演示瞭如何使用此函式:

語法

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

此函式接收一個數據陣列,並返回Bartlett檢驗統計量和p值。

引數

  • p_adjust是p值調整方法

為了在Python中演示該檢驗,考慮以下場景:研究人員想要確定三種不同的肥料是否會導致植物生長程度的不同。他們隨機選擇30株不同的植物,並將它們分成三組,每組10株,每組使用不同的肥料。他們在一個月後測量每株植物的高度。

演算法

  • 安裝scikit-posthocs庫

  • 指定10株植物的分組生長資料

  • 將所有三組資料合併到一個數據集中

  • 使用Bonferroni校正進行p值修正的Dunn檢驗

示例

此處演示瞭如何使用scikit-posthocs庫執行Dunn檢驗:

!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')

輸出

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.

結論

Dunn檢驗廣泛應用於許多領域,包括生物學、心理學和教育學,在這些領域中,需要比較多個樣本的均值以確定樣本之間是否存在顯著差異。它是一種非引數檢驗,不依賴於正態性假設,因此當違反正態性假設時,它尤其有用。

Dunn檢驗可用於教育領域,比較來自不同學校或班級的多個樣本資料的均值,以確定學校或班級是否存在顯著不同的均值。例如,它可以用來比較不同學校的平均考試分數或不同班級的平均成績。

更新於:2022年12月28日

1000+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告