计算两个CDF的最大逐点距离

问题描述 投票:3回答:1

我有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()

直方图:histogram

现在我用以下代码绘制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()

CDF plot

现在,在同一图中绘制2个观测值以查看它们之间的差异:

2 observation plot

现在我想获得它们之间的最大距离,因此它们在哪一点上彼此最远。

python matplotlib plot dice cdf
1个回答
0
投票

为了按照标准中的描述测量两个这样的CDF图之间的距离,可以使用Kolmogorov–Smirnov测试两个分布之间的相等性。或者您可以使用两个CDF的最大逐点距离。我认为这可能会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.