python中计算如何实现_基于python如何实现计算两组数据P值
我們在做A/B試驗(yàn)評估的時候需要借助p_value,這篇文章記錄如何利用python計算兩組數(shù)據(jù)的顯著性。
一、代碼# 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檢驗(yàn):兩樣本T檢驗(yàn)
兩樣本t檢驗(yàn)是比較兩個樣本所代表的兩個總體均值是否存在顯著差異。除了要求樣本來自正態(tài)分布,還要求兩個樣本的總體方差相等也就是“方差齊性”。
檢驗(yàn)原假設(shè):樣本均值無差異(μ=μ0)
Python命令stats.ttest_ind(data1,data2)
當(dāng)不確定兩總體方差是否相等時,應(yīng)先利用levene檢驗(yàn)檢驗(yàn)兩總體是否具有方差齊性stats.levene(data1,data2)如果返回結(jié)果的p值遠(yuǎn)大于0.05,那么我們認(rèn)為兩總體具有方差齊性。如果兩總體不具有方差齊性,需要加上參數(shù)equal_val并設(shè)定為False,如下。
stats.ttest_ind(data1,data2,equal_var=False) // TTest中默認(rèn)是具有方差齊性
三、結(jié)果解釋
當(dāng)p值小于某個顯著性水平α(比如0.05)時,則認(rèn)為樣本均值存在顯著差異,具體的分析要看所選擇的是雙邊假設(shè)還是單邊假設(shè)(又分小于和大于)注意stats.ttest_ind進(jìn)行雙側(cè)檢驗(yàn)。
當(dāng)t值大于0,則有((1-p)* 100)%的把握認(rèn)為認(rèn)為第一組數(shù)據(jù)好與第二組數(shù)據(jù)。例如p=0.05,那么我們有95%的把握認(rèn)為第一組數(shù)據(jù)好于第二組數(shù)據(jù)。
以上就是基于python如何實(shí)現(xiàn)計算兩組數(shù)據(jù)P值的詳細(xì)內(nèi)容,更多請關(guān)注隨便開發(fā)網(wǎng)其它相關(guān)文章!
總結(jié)
以上是生活随笔為你收集整理的python中计算如何实现_基于python如何实现计算两组数据P值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用explain进行SQL语句调优
- 下一篇: 排序算法——归并排序的相关问题