范围分布中的随机python选择

时间:2015-04-30 02:56:51

标签: python random statistics

我的正常分布范围从10到100,平均值为25.我想随机抽样。使用:

random.gauss(25, 5)

我可以获得一个样本,其中平均值为25,标准差为6.意味着只有1%的可能性超出我的下限。显然,虽然这没有足够高的等待我的上限,我最多会达到40。

目前我认为达到上限的唯一方法是使用决策规则来查看上限和下限,使用

查看上半部分50%
random.gauss(25, 25) 

的时间,并降低其他50%,并有第一个片段。只考虑高于上限的平均值而小于另一个的平均值。

还有其他方法我可以做到这一点更精确。我已经看到了扭曲正常分布的在线方式,但不确定我如何才能使其工作,因为我的统计数据确实不那么强大。

我想要的发行版似乎是

http://i.stack.imgur.com/srHxy.jpg

提前感谢您的任何帮助。

更新: 在查看并同意一些我相信我需要忽略我最初的想法,因为没有工作和使用

np.random.lognormal(mu, sigma) 

但有人知道如何将mu和sigma设置为我需要代表的东西吗?

1 个答案:

答案 0 :(得分:0)

β分布可能符合评论中建议的有界范围,但如果保持平均值为25且标准差为5,则密度的形状将与您想要的不匹配。

您可以尝试lognormal(检查维基百科以了解mu和sigma与均值和方差的关系)。我通过在Excel中以数字方式匹配这些公式来找到以下内容:

设Y为对数正态随机变量,mu = 2.65537,sigma = 0.324591设X = Y + 10.然后X接近你想要的 - X的平均值为25,标准差为5。但是,由于标准偏差仅为5,因此不会观察到40以上的许多X值。