基于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爬虫之cookie使用方法
Feb 17 Python
python安装教程 Pycharm安装详细教程
May 02 Python
python实现发送邮件功能
Jul 22 Python
Python unittest模块用法实例分析
May 25 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
Jun 26 Python
Django CBV与FBV原理及实例详解
Aug 12 Python
一行Python代码制作动态二维码的实现
Sep 09 Python
Python新手学习装饰器
Jun 04 Python
Keras之fit_generator与train_on_batch用法
Jun 17 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 Python
python利用xpath爬取网上数据并存储到django模型中
Feb 26 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文本数据库的搜索方法
2006/10/09 PHP
php中sql注入漏洞示例 sql注入漏洞修复
2014/01/24 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
JavaScript动态创建form表单并提交的实现方法
2015/12/10 Javascript
jquery html动态添加的元素绑定事件详解
2016/05/24 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
vue-cli配置环境变量的方法
2018/07/09 Javascript
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
Vue中key的作用示例代码详解
2020/06/10 Javascript
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
Python基础之getpass模块详细介绍
2017/08/10 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
用python制作个视频下载器
2021/02/01 Python
经典c++面试题三
2015/07/08 面试题
SQL Server笔试题
2012/01/10 面试题
《诚实与信任》教学反思
2014/04/10 职场文书
合同纠纷调解书
2015/05/20 职场文书
大学组织委员竞选稿
2015/11/21 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python