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

标签 python matplotlib plot dice cdf

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

现在我想获得它们的最大距离,即它们彼此相距最远的点。

最佳答案

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

关于python - 计算两个 CDF 的最大逐点距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59339359/

相关文章:

python - 将函数应用于数据帧以创建列表的矢量化方式

python - 打印最长单词的长度时出错?

python - test_on_batch 和 train_on_batch 的不同损失值

python - 在 Matplotlib 中,在鼠标单击事件发生时,填充鼠标单击右侧的图

python - 从 matplotlib 中的直方图数据绘制折线图

r - 具有良好分辨率的绘图用于打印和屏幕显示

python - 安装几乎所有库的 pip 问题

python - Matplotlib-Imported PNG 不会在 3D 绘图中显示

javascript - Bokeh:鼠标移动或单击的 CustomJS 回调

r - R中的箱线图显示平均值