从 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 (将#修改为@)