逆变换采样
大约 2 分钟约 465 字
一般的编程语言都具有(伪)随机数生成功能,如 python 的random.random()
函数,然而它们通常只对应均匀分布。那如果想生成符合任意概率分布的随机数,该如何在代码上实现呢?这就可以用到“逆变换采样”了。
1. 引理
假设为一个连续随机变量,其累积分布函数为,若随机变量,则服从区间上的均匀分布。
证明:已知:,且为单调递增函数。
综上,服从区间上的均匀分布。
2. 推论:逆变换采样
假设为一个连续随机变量,其累积分布函数为,则随机变量服从区间上的均匀分布。逆变换采样即是将该过程反过来进行:
- 首先对于随机变量,我们从中随机均匀抽取一个数;
- 由于,可求得随机数,故即可看作是从分布中生成的随机样本。
3. 联想
突然想到一个疑问,似乎概率论课堂中有讲过但是一时又无法想出解答,暂记如下:
问题:设有连续随机变量与,已知的概率密度为,且与有如下关系:
那么的概率密度可如何表示?