【问题标题】:Is there a statistical test to check a difference in coefficient of variation (relative standard deviation) between groups in python?是否有统计测试来检查python中组之间的变异系数(相对标准偏差)的差异?
【发布时间】:2021-12-09 01:35:01
【问题描述】:
我计算了三个不同组中权重的变异系数 (CV)。 我的目标是检查其中一组的变异性是否低于其他组。我将结果绘制在条形图上,从视觉上我可以看出其中一个组的 CV 分数低于其他组(这转化为较低的可变性)。但是,我想使用统计测试来确认我的发现。我发现了以下用于测量组间 CV 差异的测试:
- “k 种群变异系数相等性的渐近检验”(Feltz 和 Miller 1996)
- “修正 CV 相等性的符号似然比检验 (SLRT)”(Krishnamoorthy 和 Lee 2014 年)
不幸的是,我只能找到 R 包来运行它们。有什么方法可以在 Python 中运行这些测试吗?您是否知道任何其他测试/方法可以凭经验检查组间 CV 之间的差异是否显着?
非常感谢!
【问题讨论】:
标签:
python
scipy
statistics
coefficients
【解决方案1】:
在没有现成的测试的情况下,您可以使用自举,或对变异系数进行逆向工程,以从每个数据点识别组件,并跨组对这些单独的组件进行非参数测试。
对于bootstrapping 测试 A 组的 CV 是否低于 B 组:
- 通过从 A 组中抽取 n 个随机值来创建 A 组的重采样变体(带有替换,因此可以多次抽取相同的值),其中 n是 A 组的原始大小。
- 为 B 组创建一个类似的重采样变体,大小与原始 B 组相同。
- 计算重采样组的 CV。
- 重复重采样数千次,跟踪重采样组 B 的 CV 高于重采样组 A 的频率。
- 如果重新采样的 B 组的 CV 很少高于重新采样的 A 组(小的 p-值),那么我们可以得出结论,A 组的 CV 显着低于 B 组。
另一个可行的选择可能是计算每个数据点的平方相对偏差,并使用非参数检验来比较组。
-
CV is calculated as 样本 SD / 样本均值 = 均方根相对偏差(但在计算均值时使用 N-1 而不是 N)。
- 如果 A 组有均值 xbar,则 A 组中点 x 的平方相对偏差是 (x - xbar)/xbar 的平方时间>。这是点 x 对 A 组 CV 计算的贡献。
- 至少如果组大小相同,那么我们可以通过使用均值差异的非参数检验比较不同组的平方相对偏差分数来间接比较 CV。