You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用statsmodels.stats.power计算效应量?代码输出及条件疑问

关于statsmodels独立样本t检验功效分析的效应量问题

1. 代码输出是否为效应量?

是的,你得到的输出0.01046481401112572就是效应量,具体是Cohen's d——独立样本t检验中最常用的效应量指标。

statsmodels.stats.power.TTestIndPower.solve_power()的核心逻辑是:当你传入除某一个参数外的所有必要参数时,它会求解出缺失的那个参数。你在代码中指定了样本量nobs1、检验功效power、显著性水平alpha、两组样本量比例ratio以及检验方向alternative,缺失的参数就是效应量,因此方法会返回满足该实验设计所需的最小Cohen's d值。

你的代码示例:

import statsmodels.stats.power as smp

power_analysis = smp.TTestIndPower()
effect_size = power_analysis.solve_power(
        nobs1=143293, 
        power=0.8, 
        alpha=0.05, 
        ratio=1.0*143398/143293,
        alternative='two-sided'
    )
print(effect_size)  # 输出:0.01046481401112572

2. 无两组样本均值及标准差的情况下,能否计算效应量?

分两种场景来看:

  • 如果仅缺少均值和标准差,没有其他实验设计参数:无法直接计算基于原始数据的Cohen's d(因为Cohen's d的定义是两组均值差除以合并标准差,公式为 $d = \frac{\mu_1 - \mu_2}{s_p}$)。
  • 但如果已知样本量、检验功效、显著性水平等实验设计参数:可以像你一样通过功效分析的反向计算得到效应量。这种方式常用于两种场景:
    • 事后功效分析:实验完成后,通过已知的样本量、检验结果,反推该实验能检测到的最小效应量;
    • 事前实验设计:确定为了达到指定的检验功效,需要检测到的最小效应量(或对应的样本量)。

内容的提问来源于stack exchange,提问作者Wenyi Yan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:25:21