校正正态分布的时钟不精确

机器算法验证 错误 测量误差 指数分布
2022-03-05 13:21:53

我有一个实验,该实验在分布在世界各地的数百台计算机上执行,用于测量某些事件的发生情况。每个事件都相互依赖,因此我可以按递增顺序对它们进行排序,然后计算时间差。

事件应该呈指数分布,但是在绘制直方图时,这是我得到的:

事件直方图

计算机时钟的不精确导致某些事件被分配的时间戳早于它们所依赖的事件的时间戳。

我想知道时钟同步是否可以归咎于PDF的峰值不在0(他们将整个事情向右移动)这一事实?

如果时钟差异是正态分布的,我可以假设效果会相互补偿,因此只使用计算出的时间差异吗?

1个回答

时钟同步问题确实会导致峰值向右移动。R中的以下模拟显示了这种现象。我使用指数时间和正常时钟差异来获得与您的图片大致相似的形状:

时钟

左边的分布(实际差异,无误差测量)在 0 处有峰值,而右边的分布(有误差测量的差异)在 100 附近有峰值。

R代码:

set.seed(20120904)

# Generate exponential time differences:
x<-rexp(100000,1/900)

# Generate normal clock differences:
y<-rnorm(100000,0,50)

# Resulting observations:
xy<-x+y

# Truncate at 500:
xy<-xy[xy<=500]

# Plot histograms:
par(mfrow=c(1,2))
hist(x[x<=500],breaks=100,col="blue",main="Actual differences")
hist(xy,breaks=100,col="blue",main="Observed differences")
lines(c(0,0),c(0,550),col="red")

如果时钟差异是正常的,平均值为 0,则差异应该抵消,即观察到的差异的平均值应该等于实际差异的平均值。是否是这种情况取决于发生第一个事件的计算机和发生第二个事件的计算机之间是否存在系统差异。