我正在编写一些模拟,我发现我需要对正态分布的尾部进行过采样,以便获得具有特定变量的低值的足够样本。还有什么比这更好的吗?
from scipy.stats import norm, uniform
tail_high = .01
n_samples = 1000
tail_rvs = norm.ppf(uniform.rvs(0, tail_high, n_samples))
答案 0 :(得分:1)
假设您确实需要从正态分布中进行采样,您可以DIY http://en.m.wikipedia.org/wiki/Marsaglia_polar_method或http://en.m.wikipedia.org/wiki/Box - Muller_transform
目前在scipy中实现了truncnorm的一个未解决的问题 https://github.com/scipy/scipy/issues/2477。原始票证提供了几个替代实现的链接。