【发布时间】:2015-03-04 14:56:16
【问题描述】:
我正在编写一些模拟,我发现我需要对正态分布的尾部进行过采样,以便为特定变量获得足够低值的样本。还有比这更好的吗?
from scipy.stats import norm, uniform
tail_high = .01
n_samples = 1000
tail_rvs = norm.ppf(uniform.rvs(0, tail_high, n_samples))
【问题讨论】:
-
理想情况下,最好的方法是从截断的正态分布en.wikipedia.org/wiki/Truncated_normal_distribution 中进行采样,该分布在 scipy 中实现。我不知道它当前的实现是否针对尾部采样进行了优化。另一种可能性是您“做错了”,并且您实际上想从信息量较少的分布中进行采样(可能像柯西分布或具有更多方差的正态分布)。
标签: python scipy simulation