基於python實現計算兩組資料P值
阿新 • • 發佈:2020-07-13
我們在做A/B試驗評估的時候需要藉助p_value,這篇文章記錄如何利用python計算兩組資料的顯著性。
一、程式碼
# TTest.py # -*- coding: utf-8 -*- ''' # Created on 2020-05-20 20:36 # TTest.py # @author: huiwenhua ''' ## Import the packages import numpy as np from scipy import stats def get_p_value(arrA,arrB): a = np.array(arrA) b = np.array(arrB) t,p = stats.ttest_ind(a,b) return p if __name__ == "__main__": get_p_value([1,2,3,5,],[6,7,8,9,10])
二、T檢驗:兩樣本T檢驗
兩樣本t檢驗是比較兩個樣本所代表的兩個總體均值是否存在顯著差異。除了要求樣本來自正態分佈,還要求兩個樣本的總體方差相等也就是“方差齊性”。
檢驗原假設:樣本均值無差異(μ=μ0)
Python命令stats.ttest_ind(data1,data2)
當不確定兩總體方差是否相等時,應先利用levene檢驗檢驗兩總體是否具有方差齊性stats.levene(data1,data2)如果返回結果的p值遠大於0.05,那麼我們認為兩總體具有方差齊性。如果兩總體不具有方差齊性,需要加上引數equal_val並設定為False,如下。
stats.ttest_ind(data1,data2,equal_var=False) // TTest中預設是具有方差齊性
三、結果解釋
當p值小於某個顯著性水平α(比如0.05)時,則認為樣本均值存在顯著差異,具體的分析要看所選擇的是雙邊假設還是單邊假設(又分小於和大於)注意stats.ttest_ind進行雙側檢驗。
當t值大於0,則有((1-p)* 100)%的把握認為認為第一組資料好與第二組資料。例如p=0.05,那麼我們有95%的把握認為第一組資料好於第二組資料。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。