如果我必须在模拟中使用均匀分布,你的下限和上限是什么意思?例如,使用指数分布,我必须指定两个事件之间的时间。并且均匀分布?
答案 0 :(得分:1)
下限和上限指定概率均匀的范围。例如,假设你去公交车站,那里的公共汽车每五分钟到达一次。如果您随机走到公交车站,您在停靠站的等待时间将为0分钟的上限和5分钟的上限。如果你要去公共汽车站1000次,并绘制你等待的时间,你会看到0到5分钟之间的均匀分布。
以下是如何在python中实现它:
import numpy as np
from matplotlib import pyplot as plt
t = np.random.uniform(low=0, high=5, size=1e3)
plt.hist(t, bins=25, color='#75BEBB')
plt.xlabel('Time waiting at bus stop [minutes]')
plt.ylabel('Number of Times')
plt.xlim([-1, 6])
plt.ylim([0, 75])
制作以下情节
如果您正在谈论概率,则需要按范围进行标准化。采用与上面相同的例子,通过将每个bin除以5(上限 - 下限)进行标准化将告诉我们将来可以等待多长时间。
这表明,对于任何一分钟,m,在0到5之间,我们有20%的机会等待公共汽车持续m分钟,并有0%的机会等待任何其他时间长度。
P(t)= 1/5,0 <= t <= 5,否则0
因此,对于模拟,如果必须指定具有均匀分布的两个事件之间的时间,分别具有l和u的下限和上限,则可以从均匀分布中绘制样本,如下所示:
t = np.random.uniform(low=l, high=u, size=numberSamplesInSimulation)
有关详细信息,请a nice writeup on wikipedia。