舍选抽样法代码python
时间: 2023-11-12 10:58:13 浏览: 94
好的,以下是舍选抽样法的 Python 代码:
```python
import random
def rejection_sampling(p, q, samples):
"""
p: 目标分布
q: 提议分布
samples: 样本数量
"""
x = []
for i in range(samples):
z = random.uniform(0, 1)
y = q()
if z < p(y) / q(y):
x.append(y)
return x
```
其中,`p` 和 `q` 都是概率密度函数,`q` 是一个提议分布,用于生成样本。`rejection_sampling` 函数会返回 `samples` 个符合目标分布 `p` 的样本。
阅读全文