我的正常分布范围从10到100,平均值为25.我想随机抽样。使用:
random.gauss(25, 5)
我可以获得一个样本,其中平均值为25,标准差为6.意味着只有1%的可能性超出我的下限。显然,虽然这没有足够高的等待我的上限,我最多会达到40。
目前我认为达到上限的唯一方法是使用决策规则来查看上限和下限,使用
查看上半部分50%random.gauss(25, 25)
的时间,并降低其他50%,并有第一个片段。只考虑高于上限的平均值而小于另一个的平均值。
还有其他方法我可以做到这一点更精确。我已经看到了扭曲正常分布的在线方式,但不确定我如何才能使其工作,因为我的统计数据确实不那么强大。
我想要的发行版似乎是
提前感谢您的任何帮助。
更新: 在查看并同意一些我相信我需要忽略我最初的想法,因为没有工作和使用
np.random.lognormal(mu, sigma)
但有人知道如何将mu和sigma设置为我需要代表的东西吗?
答案 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值。