python scipy 密度函数 分位数 累计函数计算p值 卡方检验 t检验 F检验 假设检验 AB实验 显著性检验

article/2025/9/17 21:37:32

AB实验:

1. 人均类->t检验
# 计算t值
def get_t(x):# 遍历看x需要几次的显著性检验。可能有多个实验组,需要一对一检验x1 = x[x.分组.astype('str')=='1'].iloc[0] # 对照组,组号固定为1,转为Series格式for i in x[x.分组.astype('str')!='1'].分组:x2 = x[x.分组==i].iloc[0] # 实验组i,组号为i# 计算t值,由于输入的是x2-x1,故t值越大,说明x2越大于x1。t = (x2.均值-x1.均值) / np.sqrt( (1/x2.样本量+1/x1.样本量) * (( x2.样本量-1)*x2.方差 + (x1.样本量-1)*x1.方差) / ( x2.样本量 + x1.样本量 - 2 ) )# 计算p值,无论t值的正负,均按照正的处理。n = x1.样本量+x2.样本量-2  # 总体方差相等时的自由度p_value = stats.t.sf(abs(t), n)*2 x.loc[x.分组==i, 't值'] = tx.loc[x.分组==i, 'p值'] = p_valuereturn xsign = sign.groupby('指标').apply(get_t)
sign

sign:
在这里插入图片描述

2. 比值类->delta method + t检验
# 比值类,两个正态分布相比,需要对方差进行delta method修正
def get_t3(x):# 遍历看x需要几次的显著性检验。可能有多个实验组,需要一对一检验x1 = x[x.分组.astype(str)=='1'].iloc[0] # 对照组,组号固定为1,转为Series格式for i in x[x.分组.astype(str)!='1'].分组:x2 = x[x.分组==i].iloc[0] # 实验组i,组号为i# delta method方法计算t值var1 = (1/x1.样本量) * (x1['分子-方差']/x1['分母-均值']**2 + (x1['分子-均值'])**2*x1['分母-方差']/x1['分母-均值']**4)var2= (1/x2.样本量) * (x2['分子-方差']/x2['分母-均值']**2 + (x2['分子-均值'])**2*x2['分母-方差']/x2['分母-均值']**4)t = (x2['分子-均值']/x2['分母-均值']-x1['分子-均值']/x1['分母-均值']) / np.sqrt(var1 + var2)n = x1.样本量+x2.样本量-2# 计算p值p_value = stats.t.sf(abs(t), n)*2 x.loc[x.分组==i, 't值'] = tx.loc[x.分组==i, 'p值'] = p_valuereturn x

输入:
在这里插入图片描述

3. 用户转化类
x1 = 1    # "对照组-点击人数"
x2 = 2    # "实验组-点击人数"
p1 = 1 / 1  # 对照组-点击到xx的用户转化率
p2 = 1 / 2  # 实验组-点击到xx的用户转化率
z = (p2-p1)*1.0000/np.sqrt((p2*(1-p2))/(x2)+(p1*(1-p1))/(x1))
print('zscore:', z)
p_value = stats.norm.sf(abs(z))*2
print('p值:', p_value)

还没写完,后续补上

旧版:

from scipy import stats# F分布
stats.f.ppf(0.95,n1,n2) # 0.95分位数求概率面积
stats.f.cdf(5.14,n1,n2) # 面积求概率----累计分布
stats.f.pdf(2,n1,n2) # 求x=2的概率----概率分布函数# 卡方分布
stats.chi2.ppf(vlas, df)# 计算p值--F检验
p_value = 1 - stats.f.cdf(F,n1,n2)# t检验
# p_value = 1 - stats.t.cdf(t, n1+n2-2) # t值 # 旧版
p_value = stats.t.sf(abs(t), n)*2 

1.

计算p值时要不要1-。如果t值大于0,要,如果t值小于0,不用。因为p值指的是这里:
在这里插入图片描述

2.

t = μ 2 − μ 1 ( n 1 − 1 ) S 1 2 + ( b 2 − 1 ) S 2 2 n 1 + n 2 − 2 t=\dfrac{\mu_2-\mu_1}{\sqrt{\frac{(n_1-1)S^2_1+(b2-1)S^2_2}{n_1+n2-2}}} t=n1+n22(n11)S12+(b21)S22 μ2μ1

t值用(实验组-对照组)或(对照组-实验组)都可以,注意看用的什么就行。

stats.chi2_contingency 列联表的独立性检验(卡方检验)

参考:scipy.stats.chi2分布(python scipy 卡方分布 )

3. 用户维度的数据,如何直接做t检验,不用手动计算均值方差

t, p,df=st.ttest_ind(对照组-每个用户的点击量, 实验组-每个用户的点击量,usevar='unequal') # usevar='unequal'表示两个总体方差不同
print('假设检验的t值=%.3f'%t,'自由度为%.3f'%df,'双尾检验p值=%.4f'%p)

http://chatgpt.dhexx.cn/article/dUZqSZmJ.shtml

相关文章

卡方检验c语言算法,R语言 | 卡方检验(Chi-squaretest)

卡方检验在计数资料中的应用,包括推断两个总体率或构成比之间有无差别、多个总体率或构成比之间有无差别、多个样本率间的多重比较、两个分类变量之间有无关联性、多维列联表的分析和频数分布拟合优度的卡方检验。选自:周支瑞老师 下面分别介绍计数资料怎么进行卡方检验。 目…

SPSS篇—卡方检验

今天依旧跟大家分享一个在SPSS中使用率比较高的分析方法:卡方检验。 在开始做分析之前,我们需要明白两件事情:卡方检验是什么?一般用来干什么?我们只有充分了解分析方法以后才能够正确的使用它。 卡方检验在百科中的…

四格表卡方检验.医学统计实例详解-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析

四格表卡方检验是医学统计学中常用的一种方法,用于确定两个分类变量之间是否存在关联。在医学研究中,四格表卡方检验被广泛应用于研究疾病和治疗方法之间的关联,以及预测疾病发展的风险因素。 四格表卡方检验基于一个二维表格,也…

卡方检验四格表怎么做_运用SPSS进行医学诊断数据的Kappa一致性检验 ——【杏花开医学统计】...

杏花开生物医药统计 一号在手,统计无忧! 关 注 运用SPSS进行医学诊断数据的 Kappa一致性检验 关键词:SPSS、 Kappa 导读 在医学诊断试验中,经常会遇到将待评价的诊断实验方法的诊断结果与金标准的诊断结果进行比较的情况,或者是将两种不同的诊断方法用于同一样本的诊断结果…

卡方检验四格表怎么做_等级变量的假设检验怎么做?

作者:丁点helper 来源:丁点帮你 今天,我们讲等级变量的假设检验。首先,回顾一下,什么叫等级变量,也称有序变量。 一般而言,等级变量属于分类变量(如上)的一种,与之相对的就是无序变…

Pearson卡方该如何计算?

一、Pearson卡方 Pearson卡方可用研究定类和定类数据的差异,比如性别和是否吸烟之间的差异关系。 二、分析 SPSSAU通用方法里面的‘交叉(卡方)’研究方法默认使用Pearson卡方,并且提供百分比按行或者按列两种方式。如下图&…

卡方检验概述

前言、什么是卡方检验 卡方检验是一种用途很广的计数资料的假设检验方法。它属于非参数检验的范畴,主要是比较两个及两个以上样本率( 构成比)以及两个分类变量的关联性分析。其根本思想就是在于比较理论频数和实际频数的吻合程度或拟合优度问题。 它在…

Python计算卡方值

Python代码 import numpy as np from scipy.stats import chi2_contingencyd np.array([[2, 1, 1, 0, 276], [9, 7, 4, 2, 258]]) print(chi2_contingency(d)) # 第一个值为卡方值, # 第二个值为P值, # 第三个值为自由度, # 第四个为与原数…

卡方检验值转换为P值

卡方检验作为一种常见的假设检验,在统计学中的地位是显而易见的,如果你还不太清楚可以参看这篇博文:卡方检验用于特征选择,写的非常的浅显易懂,如果你还想再扩展点卡方检验方面的知识,可以参看这篇博文卡方检验基础&am…

别错过,卡方检验实用总结!

通常情况下,卡方检验是研究分类数据与分类数据之间关系的分析方法,如性别和是否戴隐形眼镜之间的关系。卡方检验通常会涉及卡方值和P值两个名词术语。卡方值与P值有对应关系,P值小于0.05则说明有差异存在,即性别与是否戴隐形眼镜之…

【数据分析与数据挖掘】四、多因子与复合分析(上)

这一章内容:属性与属性之间常见的联系。 理论铺垫: 假设检验与方差检验;相关系数:皮尔逊、斯皮尔曼;回归:线性回归;PCA与奇异值分解; 1.假设检验 概念:做出一个假设&…

2020淘宝双11超级星秀猫怎么踢人 最强星秀猫怎么退出队伍

2020年的天猫双十一的喵币活动是叫—超级星秀猫,还是一个养猫的活动,不过是可以组队的,有的朋友是想把临时的人踢出队伍或者是自己离开队伍,但是不知道怎么操作,下面就来为大家详细的介绍一下。 1、踢人:今…

单点登录 ( 踢人模式 )

这是最终效果图 实现用户账号在别处登陆,踢出上个已经登陆的账号 单点登陆基本原理: 项目Demo结构 项目 demo 源码 https://github.com/610627597/TestDemo

Spring Security OAuth2 实现多人登录互踢下线

背景说明 一个账号只能一处登录,类似的业务需求在现有后管类系统是非常常见的。但在原有的 spring security oauth2 令牌方法流程(所谓的登录)无法满足类似的需求。 我们先来看 TokenEndpoint 的方法流程 客户端 带参访问 /oauth/token 接…

csgo服务器取消自动踢人,CSGO踢出玩家Kick相关控制台指令

本文将介绍CSGO一些关于踢人/KICK控制台指令,如果你自建服务器或本地建房的话,可能会用得上。 mp_autokick 如果你不想让好友因为队友伤害或挂机/AFK被服务器自动踢出,那么需要输入: mp_autokick 0 这样,服务器中的玩家…

单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现?

单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现? 一般情况下,用户登录,有两种方式:cookie方式,session方式。一般情况下,session方式是使用最…

【开发经验】客户端互踢实现思路

文章目录 场景如下实现思路 踢用户实现思路、用户单个客户端登录。冻结用户实现 场景如下 每个用户只能登录一个客户端,如微信、支付宝等app,只能在一个手机登录,如果再别的手机登录,则会踢掉之前的那个。冻结账户,账…

登录超时提示+踢人下线实现(spring security)

前言 最近,说有可能要上只允许一个地方登录,还要配合信息推送,今天有空,就起个头,把登录超时、登录踢人下线一起做了。信息推送的,后面再说,留好口子就行。 一、背景 这里是spring security&am…

【LEDE】树莓派上玩LEDE终极指南-86-OpenWrt增加踢人功能

查看文章 欢迎您! 返回首页 最后修改于:2018-03-27 20:03:12 修改 导出 原理 ubus call hostapd.wlan1 del_client "{addr:AC:0D:1B:D0:60:29, reason:5, deauth:false, ban_time:0}" 步骤 修改/usr/lib/lua/luci/view/admin_status/index.ht…