如何在Python中執行F檢驗


統計學家使用F檢驗來檢查兩個資料集是否具有相同的方差。F檢驗以羅納德·費希爾爵士命名。要使用F檢驗,我們提出兩個假設,一個零假設和一個備擇假設。然後,我們選擇F檢驗批准的這兩個假設中的任何一個。

方差是資料分佈度量,用於說明資料偏離均值的程度。較高的值表示比較低值更大的離散度。

在本文中,您將學習如何在Python程式語言中執行F檢驗及其用例。

F檢驗過程

執行F檢驗的過程如下:

  • 首先,定義零假設和備擇假設。

    • 零假設或H0:σ12 = σ22(總體方差相等)

    • 備擇假設或H1:σ12 ≠ σ22(總體方差不相等)

  • 選擇用於檢驗的統計量。

  • 計算總體的自由度。例如,如果m和n是總體樣本大小,則自由度分別表示為(df1) = m–1 和 (df2) = n – 1

  • 現在從F分佈表中查詢F值。

  • 最後,將alpha值除以2(用於雙尾檢驗)以計算臨界值。

因此,我們使用總體的自由度來定義F值。我們在第一行讀取df1,在第一列讀取df2。

對於不同型別的自由度,有各種F表。我們將步驟2中計算的F統計量與步驟4中計算的臨界值進行比較。如果臨界值小於F統計量,則可以拒絕零假設。相反,如果在某個顯著性水平下臨界值大於F統計量,則可以接受零假設。

假設

在根據資料集執行F檢驗之前,我們做一些假設。

  • 資料總體服從正態分佈,即符合鐘形曲線。

  • 樣本彼此不相關,即總體中不存在多重共線性。

除了這些假設之外,在執行F檢驗時,我們還應該考慮以下關鍵點:

  • 要執行右尾檢驗,最大方差值應位於分子中。

  • 在雙尾檢驗的情況下,將alpha值除以2後確定臨界值。

  • 檢查您是否有方差或標準差。

  • 如果F表中沒有自由度,則使用最大值作為臨界值。

Python中的F檢驗

語法

scipy stats.f()

引數

x :  quantiles
q :  lower or upper tail probability
dfn, dfd shape parameters
loc :location parameter
scale :  scale parameter (default=1)
size :  random variate shape
moments : [‘mvsk’] letters, specifying which moments to compute

解釋

在此方法中,使用者必須將f值和每個陣列的可迭代長度傳遞到scipy.stats.f.cdf()中,並將其與1相減以執行F檢驗。

演算法

  • 首先,匯入NumPy和Scipy.stats庫進行操作。

  • 然後建立兩個具有兩個不同變數名的隨機值列表,並將它們轉換為NumPy陣列,並使用Numpy計算每個陣列的方差。

  • 定義一個函式來計算F分數,首先我們將陣列的方差除以自由度為1。

  • 然後計算每個陣列的可迭代長度,並將f值(方差比)和長度傳遞給CDF函式,並從1中減去該值以計算p值。

  • 最後,函式返回p值和f值。

示例

import numpy as np
import scipy.stats

# Create data
group1 = [0.28, 0.2, 0.26, 0.28, 0.5]
group2 = [0.2, 0.23, 0.26, 0.21, 0.23]

# Converting the list to an array
x = np.array(group1)
y = np.array(group2)

# Calculate the variance of each group
print(np.var(group1), np.var(group2))

def f_test(group1, group2):
   f = np.var(group1, ddof=1)/np.var(group2, ddof=1)
   nun = x.size-1
   dun = y.size-1
   p_value = 1-scipy.stats.f.cdf(f, nun, dun)
   return f, p_value

# perform F-test
f_test(x, y)

輸出

Variances: 0.010464 0.00042400000000000017

您可以觀察到F檢驗值為4.38712,相應的p值為0.019127

由於p值小於.05,我們將放棄零假設。因此,我們可以說這兩個總體方差不相等。

結論

閱讀本文後,您現在知道了如何使用F檢驗來檢查兩個樣本是否屬於具有相同方差的總體。您學習了F檢驗的過程、假設和Python實現。讓我們總結一下本文的一些要點:

  • F檢驗告訴您兩個總體方差是否相等。

  • 計算自由度並計算臨界值。

  • 從F表中找到F統計量,並將其與上一步中計算的臨界值進行比較。

  • 根據臨界值和F統計量的比較結果,接受或拒絕零假設。

更新於:2023年4月28日

4K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.