gpt4 book ai didi

python - Scipy - 来自自定义概率密度函数的逆采样方法

转载 作者:太空宇宙 更新时间:2023-11-03 15:25:08 30 4
gpt4 key购买 nike

我正在尝试根据自定义概率密度函数 (PDF) 执行逆采样。我只是想知道这是否可能,即整合 PDF,反转结果,然后解决给定的统一数字。 PDF 的形状为 f(x, alpha, mean(x))=(1/Gamma(alpha+1)(x))((x*(alpha+1)/mean(x))^(alpha+1 ))exp(-(alpha+1)*(x/mean(x)) 其中 x > 0。从形状来看,只有小于 150 的值是相关的,而对于我正在尝试执行的操作,小于 80 的值是足够好。不过,扩展范围应该不会太难。

我尝试过求逆法,但只找到了一种求积分的数值方法,考虑到我需要求逆函数来求解,这不一定有帮助:

u = integral(f(x, alpha, mean(x))dx) 从 0 到 y,其中 y 是未知的,u 是介于 0 和 1 之间的均匀随机变量。

积分有一个 gamma 函数和一个不完全的 gamma 函数,所以试图反转它有点麻烦。欢迎任何帮助。

提前致谢。

干杯

最佳答案

假设您的意思是您试图随机选择将根据您的 PDF 分配的值,那么是的,这是可能的。这在维基百科上被描述为 inverse transform sampling .基本上,这就是您所说的:整合 PDF 以产生累积分布 (CDF),将其反转(可以提前完成),然后选择一个随机数并通过反转的 CDF 运行它。

如果您的域是 0 到正无穷大,您的分布似乎与 gamma distribution 匹配它内置于 Numpy 和 Scipy 中,具有 theta = 1/alphak = alpha+1

关于python - Scipy - 来自自定义概率密度函数的逆采样方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8319498/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com