在 Python 中计算两组数据的 Cohen’s D 效应值

今日研究美国商务部的NME倾销幅度计算程序,对DOC的 Differential Price Analysis 有了初步的理解。DOC在进行价格差异分析时,使用了Cohen’s D统计方法,来测试应诉企业的美国销售价格是否在不同的季度、不同的区域/州、不同的客户之间具有明显差异。

美国商务部的分析是在SAS中进行的。以下代码显示了如何在python中进行 Cohen’s D 的计算:

#*-* coding: utf-8

import numpy as np

def cohen_d(base, test, std_pooled=True):
    '''Calculate Cohen's D for two list of data.
    '''
    mean_base = np.mean(base)
    mean_test = np.mean(test)
    
    std_base  = np.std(base)
    std_test  = np.std(test)
    
    if not std_pooled:
        # TODO
        pass
    else:
        std_pooled = np.sqrt((std_base ** 2 + std_test ** 2)/2)
    
    d = (mean_base - mean_test) / std_pooled
    d = abs(d)
    
    return d

if __name__ == "__main__":
    '''用法示例
    '''
    base = [1,2,3,4,5]
    test = [2,4,6,8,10]
    d = cohen_d(base, test)
    print(d) # 1.3416407865

发表评论

电子邮件地址不会被公开。 必填项已用*标注