给定一个指数概率密度函数,如何使用Excel中的随机生成器生成随机值?

Given a exponential probability density function, how to generate random values using the random generator in Excel?

基于一组实验,生成了指数分布变量的概率密度函数 (PDF)。现在的目标是在 Monte carlo 模拟中使用此函数。我对 PDF 和随机生成器有点熟悉,尤其是对于正态分布和对数正态分布。但是,我不太明白这一点。如果有人能提供帮助就太好了。

函数如下:

f = γ/2R * exp⁡(-γl/2R) (1-exp⁡(-γ) )^(-1) H (2R-l)

嗯。我不知道如何在 Excel 中做到这一点,但是使用逆向方法很容易得到答案(假设有 RANDOM() 函数 returns 在 [0... 1] 范围)

l = -(2R/γ)*LOG(1 - RANDOM()*(1-EXP(-γ)))

易于检查边界值

如果 RANDOM()=0,则 l = 0

如果 RANDOM()=1,则 l = 2R

更新

所以有一个 PDF

PDF(l|R,γ) = γ/2R * exp⁡(-lγ/2R)/(1-exp⁡(-γ)), l 在范围 [0...2R]

首先,检查它是否被归一化

∫ PDF(l|R,γ) dl 从 02R = 1

好的,归一化了

然后计算 CDF(l|R,γ)

CDF(l|R,γ) = ∫ PDF(l|R,γ) dl 从 0l = (1 - exp⁡(-lγ/2R))/(1-exp⁡(-γ))

再次检查,CDF(l=2R|R,γ) = 1,很好。

现在设置 CDF(l|R,γ)=RANDOM(),用 l 求解并得到你的采样表达式。在 RANDOM() 返回 0 或 RANDOM() 返回 1 检查它,你应该得到 l 区间的终点。