gpt4 book ai didi

Python 截断指数分布

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

我正在尝试生成 3 个具有截断指数分布的随机数,其分布函数为:F(x) = 1-(math.exp(-(x+100*math.log(1-((1-0.05)** (1/100))))/1.5)),当x>-100*math.log(1-((1-0.05)**(1/100)))

问题是我不明白如何在没有上限时设置 x 值的概念。有什么想法可以让这 3 个数字在数学上正确吗?

最佳答案

我不确定你的分布函数,它对我来说看起来有点困惑(注意:(1-0.05)**(1/100)=(0.95**0.01))但你可以使用系统 max-绑定(bind)作为上限,使用 random.uniform() 生成随机变量 x,然后您可以计算 F(x) 以获得属于您的分布的随机值。这可以像下面这样完成:

import sys
import math
import random

def F(x):
return 1-(math.exp(-(x + 100*math.log(1-(0.95**0.01)))/1.5))

def get_random_value_from_distribution():
x = random.uniform(-100 * math.log(1- (0.95**0.01)), sys.maxsize)
y = F(x)
return y

print("x1:", get_random_value_from_distribution())
print("x2:", get_random_value_from_distribution())
print("x3:", get_random_value_from_distribution())

注意:您的分布函数在某个区间内固定为 1,因此您需要研究一下: enter image description here

关于Python 截断指数分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55874209/

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