我目前正在处理一项任务,您必须使用帕累托分布的逆累积函数生成帕累托观察值。我以前从未设法真正反转统计函数,而且我似乎无法正确地做到这一点。我理解公式 X=F^1(U),其中 X 是帕累托分布随机变量,U 是标准均匀随机变量,对于生成观察很重要,但我不知道如何计算反函数。
我希望对如何解决这个问题有一些见解。
我目前正在处理一项任务,您必须使用帕累托分布的逆累积函数生成帕累托观察值。我以前从未设法真正反转统计函数,而且我似乎无法正确地做到这一点。我理解公式 X=F^1(U),其中 X 是帕累托分布随机变量,U 是标准均匀随机变量,对于生成观察很重要,但我不知道如何计算反函数。
我希望对如何解决这个问题有一些见解。
得到的方程是反演公式。现在通过插入几个 U 值进行“健全性检查”:0 获得最小值,1 获得最大值,0.5 获得中值。
示例:A Uniform(a, b)F(x) = (x - a) / (b - a)
对于 a ≤ x ≤ b 具有 CDF,并且具有最小值 a、最大值 b 和中值 (a + b) / 2。
测试用例:
实现(在 Ruby 中,因为您没有指定语言):
def uniform(a, b)
return a + (b - a) * rand # rand with no arguments returns a U(0,1)
end