在 R 中生成具有特定累积分布的随机变量

问题描述

有谁知道从 $F(x) = \Pi_{i=1}^n F_i(x)$ 分布中生成随机变量的算法,其中 $i=1,2,..,n$ 在 R 中?

解决方法

这相当于说 Pr{X12 n i 独立生成,并取最大值。独立生成给你一个满足个体分布要求的集合,取最大值满足联合概率语句的要求。

在 Fi 是可逆的并且对于所有 i 都相同的特殊情况下,这可以通过单个逆变换来完成。让我们调用 Fi(x) === G(x) 以避免绊倒符号。则 F(x) = Gn(x),并且根据 inverse transform 定理 Gn(X) 对于随机变量在 0 和 1 之间均匀分布X. 因此,对于 U ~ uniform(0,1) 并从你关于 F(x) 的陈述开始:

  • F(X) = Gn(X) = U
  • G(X) = U1/n
  • X = G-1(U1/n)

这给出了生成 n 个独立同分布随机变量 X 的最大值的一步方法,而不是必须生成其中的 n 个并取最大值。