mik*_*era 3 language-agnostic random statistics random-sample
我正在研究一些统计代码并探索从随机分布创建样本的不同方法 - 从随机数生成器开始,生成从0到1的统一浮点值
我知道通过将足够大量的独立的,相同分布的均匀随机变量(通过中心极限定理)加在一起,可以从正态分布生成近似样本.
是否有可能做类似的事情从物流分配中创建样本?我假设要添加的样本需要以某种方式加权或相关,以避免以正常结束.
PS我也知道可能有更有效的方法来生成随机样本,我问这个问题,因为我更感兴趣的是理解这样的发电机是如何工作而不是效率....
ars*_*ars 10
逻辑分布的倒数不难找到,因此您可以使用逆变换采样.基本算法是:
for each random variate x ~ logistic
generate a random variate y ~ Uniform(0, 1)
x := F^-1 (y)
Run Code Online (Sandbox Code Playgroud)
其中F ^ -1是逻辑或所需分布的逆CDF.大多数编程语言都允许您通过某种rand函数生成0到1之间的Uniform变量.
这是一些python代码,它从一个逻辑分布中生成1000个随机变量:
from random import random
import math
import pylab
loc, scale = 0, 1
randvars = []
for i in range(1000):
x = random()
y = loc + scale * math.log(x / (1-x))
randvars.append(y)
pylab.hist(randvars)
Run Code Online (Sandbox Code Playgroud)