如何在 Python 中進行單樣本 t 檢驗?


簡介

單樣本 t 檢驗是一種統計假設檢驗,用於確定總體均值是否與假設值存在顯著差異。Python 為我們提供了執行此檢驗所需的資源。在本文中,我們將逐步介紹如何在 Python 中使用 SciPy 庫進行單樣本 t 檢驗。

進行單樣本 t 檢驗

進行單樣本 t 檢驗的第一步是陳述零假設和備擇假設。零假設是假設總體均值等於假設值。備擇假設與零假設相反。它是假設總體均值不等於假設值。

假設我們有一組資料和一個總體均值的假設值,我們可以執行單樣本 t 檢驗以確定總體均值是否與假設值存在顯著差異。以下是使用 SciPy 庫在 Python 中進行單樣本 t 檢驗的步驟:

步驟 1:匯入所需的庫

第一步將是匯入必要的庫。為了在 Python 中執行單樣本 t 檢驗,我們需要匯入 NumPy 和 SciPy 庫。SciPy 庫用於執行統計運算,而 NumPy 庫用於執行數學運算。

import numpy as np
from scipy.stats import ttest_1samp

步驟 2:載入資料

然後必須將資料載入到 Python 中。NumPy 模組中的 loadtxt() 方法可以幫助我們做到這一點。檔名作為引數傳遞給 loadtxt() 函式,該函式生成一個包含內容的陣列。

data = np.loadtxt('data.txt')

步驟 3:定義假設值

我們必須指定總體均值的假設值。此數字將作為基線,以評估總體均值是否與估計值存在顯著偏差。

hypothesized_value = 50

步驟 4:執行單樣本 t 檢驗

現在我們準備執行單樣本 t 檢驗。可以使用 SciPy 庫的 ttest_1samp() 函式來執行單樣本 t 檢驗。ttest_1samp() 函式需要兩個引數:資料和假設值。

t_statistic, p_value = ttest_1samp(data, hypothesized_value)

ttest_1samp() 函式的結果是檢驗統計量和 p 值。t 統計量計算樣本均值與假設值之間方差的標準誤差。p 值是在零假設下生成與觀察到的 t 統計量一樣極端的 t 統計量的可能性。

步驟 5:解釋結果

最後,我們必須解釋單樣本 t 檢驗的結果。我們可以透過比較 p 值和顯著性水平來做到這一點。顯著性水平是拒絕零假設的截止值。如果 p 值小於 0.05(這是傳統的顯著性水平),則拒絕零假設。

if p_value <r; 0.05:
   print('Reject Null Hypothesis')
else:
   print('Fail to Reject Null Hypothesis')

如果 p 值小於 0.05,我們拒絕零假設並得出結論,即總體均值與假設值存在顯著差異。如果 p 值大於或等於 0.05,則我們無法拒絕零假設,並得出結論,即總體均值與假設值之間沒有顯著差異。

需要注意的是,單樣本 t 檢驗假設資料呈正態分佈。如果資料不是正態分佈的,我們可能需要使用其他統計檢驗,例如 Wilcoxon 符號秩檢驗。單樣本 t 檢驗還假設資料是獨立的並且是從總體中隨機抽取的。如果某些假設不滿足,則檢驗結果可能不準確。

程式碼和輸出示例

以下是如何在 Python 中使用 SciPy 庫執行單樣本 t 檢驗的示例:

假設我們有一組資料,其中包含蘋果樣本的重量。我們希望確定總體蘋果平均重量是否與 100 克存在顯著差異。我們可以使用 Python 如下執行單樣本 t 檢驗:

import numpy as np
from scipy.stats import ttest_1samp

# Load the data
data = np.array([98, 102, 95, 105, 99, 101, 97, 103, 100, 98])

# Define the hypothesized value
hypothesized_value = 100

# Perform the One Sample T-Test
t_statistic, p_value = ttest_1samp(data, hypothesized_value)

# Interpret the results
if p_value < 0.05:
   print('Reject Null Hypothesis')
else:
   print('Fail to Reject Null Hypothesis')

輸出

Fail to Reject Null Hypothesis

在本例中,由於 p 值大於 0.05,因此我們無法拒絕零假設。我們得出結論,在 0.05 的顯著性水平下,蘋果的總體平均重量與 100 克之間沒有差異。

結論

總之,在 Python 中執行單樣本 t 檢驗相當簡單。SciPy 庫為我們提供了執行檢驗所需的工具。只需匯入資料,提供假設值,使用 ttest_1samp() 函式執行單樣本 t 檢驗,然後將 p 值與顯著性水平進行比較以解釋結果。這些步驟使我們能夠評估總體均值是否與假設值存在顯著差異。

更新於: 2023-07-13

1K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.