基于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 def函数的定义、使用及参数传递实现代码
Aug 10 Python
Python 加密的实例详解
Oct 09 Python
如何利用python查找电脑文件
Apr 27 Python
使用Python处理Excel表格的简单方法
Jun 07 Python
python实现自动发送报警监控邮件
Jun 21 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
PyTorch搭建一维线性回归模型(二)
May 22 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
Feb 10 Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 01 Python
Python关于拓扑排序知识点讲解
Jan 04 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 引用是个坏习惯
2010/03/12 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
2015/06/19 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
Angular之指令Directive用法详解
2017/03/01 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
python实现人人网登录示例分享
2014/01/19 Python
利用Python实现图书超期提醒
2016/08/02 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
Django框架实现的分页demo示例
2019/05/25 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
Snapfish英国:在线照片打印和个性化照片礼品
2017/01/13 全球购物
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
外语学院毕业生的自我鉴定
2013/11/28 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
人事专员的岗位职责
2014/03/01 职场文书
经营理念标语
2014/06/21 职场文书
合同意向书范本
2014/07/30 职场文书
2014年医生工作总结
2014/11/21 职场文书
客户经理岗位职责
2015/01/31 职场文书
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL