選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

SciPy 統計顯著性檢驗


什麼是統計顯著性檢驗?

在統計學中,統計顯著性意味著產生的結果是有原因的,不是隨機或偶然產生的。

SciPy 提供了一個名為 scipy.stats 的模組,其中包含執行統計顯著性檢驗的函式。

以下是執行此類測試時一些重要的技術和關鍵詞:


統計假設

假設是對總體引數的一種推測。


零假設(Null Hypothesis)

它假設觀察結果不具有統計顯著性。


備擇假設(Alternate Hypothesis)

它假設觀察結果是由於某些原因造成的。

它是零假設的替代。

示例

對於學生的評估,我們會這樣考慮:

“學生比平均水平差”——作為零假設,和

“學生比平均水平好”——作為備擇假設。


單尾檢驗(One tailed test)

當我們的假設只檢驗數值的一側時,稱為“單尾檢驗”。

示例

對於零假設

“均值等於 k”,我們可以有備擇假設

“均值小於 k”,或者

“均值大於 k”


雙尾檢驗(Two tailed test)

當我們的假設檢驗數值的兩側時。

示例

對於零假設

“均值等於 k”,我們可以有備擇假設

“均值不等於 k”

在這種情況下,均值小於或大於 k,並且需要檢查兩側。


Alpha 值(Alpha value)

Alpha 值是顯著性水平。

示例

在拒絕零假設之前,資料必須接近什麼程度的極端值。

通常取值為 0.01、0.05 或 0.1。


P 值(P value)

P 值告訴我們資料實際接近極端值的程度。

P 值和 Alpha 值進行比較,以確定統計顯著性。

如果 p 值 <= alpha,我們拒絕零假設,並認為資料在統計上是顯著的。否則,我們接受零假設。



T 檢驗(T-Test)

T 檢驗用於確定兩個變數的均值之間是否存在顯著差異,並讓我們知道它們是否屬於同一分佈。

這是一個雙尾檢驗。

函式 ttest_ind() 接收兩個大小相同的樣本,並生成一個包含 t 統計量和 p 值的元組。

示例

找出給定的值 v1 和 v2 是否來自同一分佈

import numpy as np
from scipy.stats import ttest_ind

v1 = np.random.normal(size=100)
v2 = np.random.normal(size=100)

res = ttest_ind(v1, v2)

print(res)

結果

  Ttest_indResult(statistic=0.40833510339674095, pvalue=0.68346891833752133)

自己動手試一試 »

如果您只想返回 p 值,請使用 pvalue 屬性

示例

...
res = ttest_ind(v1, v2).pvalue

print(res)

結果

  0.68346891833752133

自己動手試一試 »

KS 檢驗(KS-Test)

KS 檢驗用於檢查給定值是否符合某個分佈。

該函式將待檢驗的值和累積分佈函式(CDF)作為兩個引數。

CDF 可以是字串或返回機率的可呼叫函式。

它可以作為單尾或雙尾檢驗使用。

預設是雙尾檢驗。我們可以透過引數 alternative 傳入字串 'two-sided'、'less' 或 'greater'。

示例

找出給定的值是否符合正態分佈

import numpy as np
from scipy.stats import kstest

v = np.random.normal(size=100)

res = kstest(v, 'norm')

print(res)

結果

  KstestResult(statistic=0.047798701221956841, pvalue=0.97630967161777515)

自己動手試一試 »

資料的統計描述

為了檢視陣列中值的摘要,我們可以使用 describe() 函式。

它返回以下描述:

  1. 觀測值數量 (nobs)
  2. 最小值和最大值 = minmax
  3. 均值
  4. 方差
  5. 偏度
  6. 峰度

示例

顯示陣列中值的統計描述

import numpy as np
from scipy.stats import describe

v = np.random.normal(size=100)
res = describe(v)

print(res)

結果

  DescribeResult(
    nobs=100,
    minmax=(-2.0991855456740121, 2.1304142707414964),
    mean=0.11503747689121079,
    variance=0.99418092655064605,
    skewness=0.013953400984243667,
    kurtosis=-0.671060517912661
  )

自己動手試一試 »

正態性檢驗(偏度和峰度)

正態性檢驗基於偏度和峰度。

函式 normaltest() 返回零假設的 p 值

“x 來自正態分佈”.


偏度(Skewness)

資料的對稱性度量。

對於正態分佈,它為 0。

如果為負,則表示資料向左偏斜。

如果為正,則表示資料向右偏斜。


峰度(Kurtosis)

衡量資料與正態分佈相比是重尾還是輕尾。

正峰度表示重尾。

負峰度表示輕尾。


示例

找出陣列中值的偏度和峰度

import numpy as np
from scipy.stats import skew, kurtosis

v = np.random.normal(size=100)

print(skew(v))
print(kurtosis(v))

結果

  0.11168446328610283
  -0.1879320563260931

自己動手試一試 »

示例

找出資料是否來自正態分佈

import numpy as np
from scipy.stats import normaltest

v = np.random.normal(size=100)

print(normaltest(v))

結果

  NormaltestResult(statistic=4.4783745697002848, pvalue=0.10654505998635538)

自己動手試一試 »


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援