我有2 CDF,必须找到最大的点向距离。我创建了直方图并绘制了两者。这些值是由一个随机函数生成的,该函数将两个随机数1-6之和取100次,类似于两个骰子。但是,我无法找到绘图上两条线之间的最大距离。
因此,在第一次运行中,我有100个观测值的列表,dicesum=: {1: 5, 2: 8, 3: 7, ...., 100:4}
。
1至100是旋转数,右侧是总和。通过此代码,我生成了直方图:
keys,values = zip(*dicesum.items())
plt.hist(values, bins=30)
plt.gca().set(title='Frequency Histogram', ylabel='Frequency');
plt.show()
现在我用以下代码绘制CDF:
x = np.sort(values)
y = np.arange(1, len(x)+1/float(len(x)))
plt.plot(x, y, color='b')
plt.xlabel('Sum')
plt.ylabel('CDF')
plt.show()
现在,在同一图中绘制2个观测值以查看它们之间的差异:
现在我想获得它们之间的最大距离,因此它们在哪一点上彼此最远。
为了按照标准中的描述测量两个这样的CDF图之间的距离,可以使用Kolmogorov–Smirnov测试两个分布之间的相等性。或者您可以使用两个CDF的最大逐点距离。我认为这可能会有所帮助。