基于python實現計算兩組數據P值
我們在做A/B試驗評估的時候需要借助p_value,這篇文章記錄如何利用python計算兩組數據的顯著性。
一、代碼
# TTest.py# -*- coding: utf-8 -*-’’’# Created on 2020-05-20 20:36# TTest.py# @author: huiwenhua’’’## Import the packagesimport numpy as npfrom scipy import statsdef get_p_value(arrA, arrB): a = np.array(arrA) b = np.array(arrB) t, p = stats.ttest_ind(a,b) return pif __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%的把握認為第一組數據好于第二組數據。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: