繁体   English   中英

我想知道如何使用特定的归一化分布函数生成随机数

[英]I would like to know how how to generate random numbers with a specific normalized distribution funtion

基本上,如果我的分布 function 是 f(v)= NormalDistribution(-u,sigma)+ NormalDistribution(u,sigma)

如何将 f 定义为 PDF,对其进行规范化,然后将一些随机变量命令应用于我的 PDF?

好吧,你有两个归一化高斯的总和,

f(x) = N(x|μ,σ) + N(x|-μ,σ)

∫ f(x) dx = 1 + 1 = 2

PDF(x|μ,σ) = N(x|μ,σ)/2 + N(x|-μ,σ)/2

因为 PDF 是对称的,所以采样很简单: select 一个高斯或另一个有 50% 的概率

沿线(未经测试)

import random

def sample(μ, σ):
    if random.random() < 0.5:
        return random.gauss(μ,σ)
    return random.gauss(-μ,σ)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM