统计学12:假设检验
·
定义:用于通过样本数据对总体参数的某种假设进行验证的方法。
其核心思想是:
- 提出假设:原假设H0,备择假设H1
- 构造检验统计量:基于样本数据计算一个统计量,用于衡量与原假设的偏离程度
- 决策规则:根据统计量的分布和显著性水平α,决定是否拒绝原假设
通俗就是:这次产品的功能上线之后效果是好的(+10%点击率),然后对测试结果进行统计,发现【不好是小概率事件】,也就是【拒绝了原假设】
原理:
1. 原假设与备择假设
- 原假设H0:希望拒绝的假设(如总体均值 μ=μ0)
- 备择假设H1:希望验证的假设(如总体均值 μ≠μ0)
- 单侧检验:方向明确的假设(如 μ>50),新策略是否提升转化率,是明确的检验
- 双侧检验:方向不明确(μ不等于50),新旧策略有差异,但不知提升还是下降
2. 检验统计量的构建
核心是构造一个服从特定分布的统计量(将分布的均值作为一个标准分布)。以均值检验为例:
Z检验统计量(已知总体方差或n>=30)
3. 显著性水平(α)与拒绝域
- 显著性水平α:允许犯第一类错误(错误拒绝 H0)的最大概率,通常取0.05或0.01
- 拒绝域:根据 α 和备择假设方向,确定统计量的临界值范围
- 双侧检验:拒绝域分布在分布的两侧(如 ∣Z∣>Zα/2)
- 单侧检验:拒绝域分布在单侧(如 Z>Zα)
- 例如:当α=0.05,双侧检验的Z临界值为 ±1.96,若计算出的 ∣Z∣>1.96,则拒绝 H0
4. P值的计算
- P值:在原假设成立时,观测到当前结果或更极端结果的概率。
- 若p值<α,则拒绝H0
5. 两类错误
- 第一类错误:错误拒绝 H0(概率为 α)。(本来没事,说成有事(虚惊一场)
- 第二类错误:错误接受 H0(概率为 β)。(本来有事,却认为没事(漏掉了真相)
- 功效(Power):正确拒绝 H0 的概率,即 1−β
注意:拒绝了原假设也不代表100%接受备择假设,只能提供“统计学证据”来反驳零假设的合理性,存在第一类错误的风险。
代码案例:
H0:A组和B组比例相等
H1:B组比例更大(单侧检验)
import numpy as np
import statsmodels.stats.proportion as smp
# 设置随机种子确保结果复现
np.random.seed(42)
# 定义模拟参数
n_A = 1000 # A组访问人数
n_B = 1000 # B组访问人数
p_A = 0.10 # A组假定点击率
p_B = 0.13 # B组假定点击率
# 模拟点击次数:服从 Binomial(n, p)
clicks_A = np.random.binomial(n_A, p_A) # A组点击人数
clicks_B = np.random.binomial(n_B, p_B) # B组点击人数
print("A组模拟点击人数 =", clicks_A)
print("B组模拟点击人数 =", clicks_B)
# 两组样本比例检验(单侧:检验 B组比例是否更大)
count = [clicks_A, clicks_B] # 成功次数(点击次数)
nobs = [n_A, n_B] # 实验次数(访问次数)
stat, p_value = smp.proportions_ztest(count, nobs, alternative='smaller')
print(f"Z统计量 = {stat:.3f}")
print(f"单侧 p值 = {p_value:.3f}")

结论:拒绝H0,B组比例更大
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)