基于python如何实现计算两组数据P值


本文摘自php中文网,作者coldplay.xixi,侵删。

我们在做A/B试验评估的时候需要借助p_value,这篇文章记录如何利用python计算两组数据的显著性。

一、代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

# 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%的把握认为第一组数据好于第二组数据。

相关学习推荐:python视频教程

以上就是基于python如何实现计算两组数据P值的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python有eval函数吗

Python怎么安装jieba库

Python里range什么意思

Python获取人脸的代码分享

浅谈Python中重载isinstance继承关系的问题

crypto算法库是什么?crypto算法库的详解

Python怎么截图

Python是什么意思?

Python 2种方法实现叠加矩形框图层

Python怎么安装库

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...