微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Python 中的联合概率分布生成双变量随机数

如何解决从 Python 中的联合概率分布生成双变量随机数

我在两个参数 h 和 t 上有两个分布。 h 是 Weibull 分布,而 t 以 h 为条件,并且是对数正态分布:

f_H = np.exp(-(h / alpha) ** beta) * (beta / alpha) * (h / alpha) ** (beta - 1)
f_TIH = np.exp(-(np.log(t) - mu_h) ** 2.0 / (2.0 * sigma_h ** 2)) / (t * sigma_h * np.sqrt(2.0 * np.pi))

哪里:

mu_h = a0 + a1 * h ** a2
sigma_h = b0 + b1 * np.exp(b2 * h)

和:

a0 = 0.7
a1 = 0.282
a2 = 0.167
b0 = 0.07
b1 = 0.3449
b2 = -0.2073
alpha = 1.76
beta = 1.59

h 和 t 的联合 PDF 给出如下:

f_joint = f_H * f_TIH

我的问题是如何从联合 PDF 中采样 h 和 t 的随机值?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。