问题描述
为了评估系统,我测量了三个不同配置(设置)中的一个感兴趣的指标。因此,我有三个观察值数组,例如 observations_setting_1
、observations_setting_2
和 observations_setting_3
,如下所示:
# len(observations_setting_1): 90,000.
observations_setting_1 = [1.56,23.7782,10.46799,3.013,...,15.522]
# len(observations_setting_2): 90,000.
observations_setting_2 = [11.8242,3.998,3.427,13.324,8.01]
# len(observations_setting_3): 82,129.
observations_setting_3 = [4.2532,19.75,12.851,9.0032,1.296]
导致 observations_setting_1
的设置被认为是基线,而后两个设置修改了一些环境条件,以查看系统的性能如何变化。从我的示例中可以看出,对于其中一项设置,由于实验收集错误,我不得不删除一些观察值(此时我无法重复实验)。
我现在想量化从设置 2 和 3 获得的感兴趣指标的经验分布有多少偏离基线。第 1 次 Wasserstein 距离(也称为 Earth Mover 距离)似乎非常适合于此。 SciPy 提供了一个计算距离的函数:scipy.stats.wasserstein_distance。
我的问题:鉴于设置 1 和设置 2 与设置 3 之间的观察数量存在差异,我是否仍然可以使用 scipy.stats.wasserstein_distance 计算的值来说明设置 3 与设置 1 的差异程度?
>换句话说,给定:
2_diverges_from_1 = scipy.stats.wasserstein_distance(observations_setting_1,observations_setting_2)
3_diverges_from_1 = scipy.stats.wasserstein_distance(observations_setting_1,observations_setting_3)
尽管输入数组的长度不同,但我能否就设置 3 与基线设置 1 的偏离程度与设置 2 与基线设置 1 的偏离程度进行陈述?如果我以这种方式使用 SciPy 的 1st Wasserstein 距离,我会犯统计错误吗?如果是这样的话,我有什么办法可以解决这个问题吗?
如果相等大小是一个约束,我会期望 SciPy 拒绝我的输入数组,但是没有返回错误。
感谢您对此的任何帮助,谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)