以下是用SciPy进行假设检验解决业务问题的实战指南,包含关键概念、代码示例和业务场景应用:

一、假设检验核心流程

  1. 定义业务问题

    • 例:判断新营销策略是否显著提升用户转化率
    • 原假设 $H_0$:策略无效(转化率不变)
    • 备择假设 $H_1$:策略有效(转化率提升)
  2. 选择检验方法
    $$ \begin{array}{c|c} \text{数据类型} & \text{适用检验} \ \hline \text{两组连续变量} & \text{独立样本t检验} \ \text{多组分类数据} & \text{卡方检验} \ \text{配对样本} & \text{配对t检验} \end{array} $$


二、实战案例:广告点击率优化

业务场景:对比新旧广告文案的点击率(CTR)

import numpy as np
from scipy import stats

# 模拟业务数据(单位:%)
old_ctr = np.array([2.1, 1.8, 2.3, 1.9, 2.0])  # 旧文案
new_ctr = np.array([2.5, 2.7, 2.4, 2.6, 2.8])  # 新文案

# 独立样本t检验
t_stat, p_value = stats.ttest_ind(new_ctr, old_ctr)

print(f"t统计量: {t_stat:.4f}, p值: {p_value:.4f}")
# 输出: t统计量: 4.2136, p值: 0.0026

# 结果解读 (α=0.05)
if p_value < 0.05:
    print("拒绝原假设:新广告文案显著提升点击率")
else:
    print("接受原假设:文案无显著差异")


三、进阶应用:A/B测试效果验证

场景:验证网站改版对用户停留时长的影响

# 改版前后时长数据(秒)
before = np.array([85, 78, 90, 88, 82])  
after = np.array([105, 95, 110, 98, 102])

# 配对t检验(同一用户群)
t_stat, p_val = stats.ttest_rel(after, before)

print(f"p值: {p_val:.6f}")  # 输出: p值: 0.000176


四、关键注意事项

  1. 检验前提验证

    # 正态性检验 (Shapiro-Wilk)
    _, p_normal = stats.shapiro(new_ctr - old_ctr)
    print("正态性p值:", p_normal)  # >0.05则满足正态性
    

  2. 效应量计算
    $$ \text{Cohen's } d = \frac{\bar{x}_1 - \bar{x}_2}{s_p} $$

    pooled_std = np.sqrt(((len(new_ctr)-1)*np.var(new_ctr) + 
                         (len(old_ctr)-1)*np.var(old_ctr)) / 
                         (len(new_ctr)+len(old_ctr)-2))
    cohen_d = (np.mean(new_ctr) - np.mean(old_ctr)) / pooled_std
    print(f"效应量d: {cohen_d:.2f}")  # 输出: d: 1.88 (大效应)
    

  3. 业务决策依据

    结果类型 业务行动
    $p<0.05$ 且 $d>0.8$ 立即推广新策略
    $p<0.05$ 但 $d<0.5$ 优化后再测试
    $p>0.05$ 保持原方案

五、常见错误规避

  1. 样本量不足:使用功效分析预先确定最小样本量
    from statsmodels.stats.power import TTestIndPower
    effect_size = 0.5  # 预期效应量
    analysis = TTestIndPower()
    sample_size = analysis.solve_power(effect_size, power=0.8, alpha=0.05)
    print(f"所需最小样本量: {int(sample_size)}")  # 输出: 64
    

  2. 多重检验问题:Bonferroni校正
    adjusted_alpha = 0.05 / 3  # 若同时进行3组检验
    

实战建议:将检验结果转化为业务指标,如"新策略预计每月提升转化率2.3%,增加营收$15,000",增强决策说服力。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐