非正态分布大样本能否使用t-test?AB测试两类统计方案合理性咨询
AB测试统计方法选型问题解答
第一种方案合理性判断
该方案基本正确。双样本t检验的正态性假设约束的是样本均值的抽样分布,而非用户原始会话时长的分布。根据中心极限定理,当样本量足够大(通常n≥30即可满足要求,你的场景样本量达100K远高于阈值),无论原始数据是否服从正态分布,样本均值的抽样分布都会趋近于正态分布,此时计算t值得出的显著性结论是准确的,一类错误率可以得到有效控制。
唯一需要额外确认两个前提:
- 两组用户是严格独立随机分流的,不存在人群属性的系统性偏差
- 如果两组方差差异过大,建议改用
Welch's t检验,不需要满足方差齐性假设,适配性更强
第二种方案合理性判断
该方案完全错误,核心问题是样本单元选择不符合检验要求:
你将30天的日均会话时长作为30个独立样本执行t检验,但本质上这30个数据是对同一批用户群体的重复测量,样本间存在极强的时间自相关性,完全不满足t检验要求的样本独立性假设,检验结果的一类错误率会严重偏高,结论完全不可信。
另外从你给出的示例数据也能看到,A组会话时长随天数有明显上升趋势,时间本身就是混淆变量,天粒度聚合数据无法剥离时间维度的干扰,不可能得到准确的组间差异结论。
大样本场景下t检验的合理性
大样本场景下使用t检验完全合理。当样本自由度超过100之后,t分布已经和标准正态分布几乎重合,100K样本量下t检验和z检验的计算结果误差可以忽略不计,结论可信度没有差异。
如果对原始数据非正态的问题仍有顾虑,可以补充做*曼-惠特尼U检验(秩和检验)*作为非参数校验,两种检验结果一致的话结论会更稳妥。
该场景最优实践建议
直接用用户粒度的原始会话时长数据做Welch's t检验即可,如果担心极端值干扰结果,可以先对会话时长做99分位的截尾处理后再检验,结果会更稳健。不要使用天粒度的聚合数据做组间差异检验。
内容的提问来源于stack exchange,提问作者aysegul1263
相关产品推荐
相关产品推荐

