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


Posted in Python onJuly 10, 2020

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python通过websocket与js客户端通信示例分析
Jun 25 Python
在windows下快速搭建web.py开发框架方法
Apr 22 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
tensorflow 使用flags定义命令行参数的方法
Apr 23 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 Python
解决Python3 控制台输出InsecureRequestWarning问题
Jul 15 Python
Django1.11配合uni-app发起微信支付的实现
Oct 12 Python
Django框架下静态模板的继承操作示例
Nov 08 Python
使用python 计算百分位数实现数据分箱代码
Mar 03 Python
python读取mysql数据绘制条形图
Mar 25 Python
python机器学习实现oneR算法(以鸢尾data为例)
Mar 03 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 #Python
Python3爬虫中Ajax的用法
Jul 10 #Python
Python3爬虫中Selenium的用法详解
Jul 10 #Python
Python3爬虫中Splash的知识总结
Jul 10 #Python
Python3爬虫里关于Splash负载均衡配置详解
Jul 10 #Python
python3爬虫中异步协程的用法
Jul 10 #Python
浅析Python面向对象编程
Jul 10 #Python
You might like
PHP chmod 函数与批量修改文件目录权限
2010/05/10 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
javascript concat数组累加 示例
2009/09/03 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
2020/01/09 Python
tensorflow 初始化未初始化的变量实例
2020/02/06 Python
教师队伍管理制度
2014/01/14 职场文书
社区居务公开实施方案
2014/03/27 职场文书
《风筝》教学反思
2014/04/10 职场文书
培训科主任岗位职责
2014/08/08 职场文书
尊老爱幼演讲稿
2014/09/04 职场文书
企业愿景口号
2015/12/25 职场文书
2016年少先队活动总结
2016/04/06 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android
Spring Boot 实现 WebSocket
2022/04/30 Java/Android