【发布时间】:2018-05-17 11:11:00
【问题描述】:
我对 2 组不同的个体进行了大脑解剖测量。一组比另一组有更多的人(例如每个 n 和 m 个人)。我必须对这些数据进行 KS 测试。我对传递给 scipy 两个样本 KS 测试的论点有点不清楚。 scipy 2 样本 ks 测试的参数是否会是第 1 组中的每个人在 for 循环中针对第 2 组中的每个人?还是第 1 组中的每个特征都与第 2 组中的所有其他特征相对?
我写了这段代码,但这显然是错误的,因为我使用 iteritems() 来循环列,而它可能应该是 n*m ?
for group1, group2 in zip(group1.transpose().iteritems(),
group2.transpose().iteritems()):
value, pvalue = ks_2samp(np.array(group1[1]), np.array(group2[1]))
print(value, pvalue)
if pvalue > 0.05:
print('Samples are likely drawn from the same distributions
(fail to reject H0)')
else:
print('Samples are likely drawn from the different
distributions (reject H0)')
【问题讨论】:
-
添加一些数据来重现你的错误
-
我认为您需要每个组的经验分布函数,然后进行比较。
-
因为你已经使用了
tranpose()和iteritems()方法,我假设group1和group2是PandasDataFrames。对吗? -
另外,
asd和control是什么?您尚未在代码中定义它们。 -
@WarrenWeckesser 是的,它们是熊猫数据框。
标签: python numpy scipy statistics