【问题标题】:Random python selection within a ranged distribution范围分布内的随机 python 选择
【发布时间】:2015-07-09 14:16:36
【问题描述】:

我的正态分布范围为 10 到 100,平均为 25。我想对此进行随机抽样。使用:

random.gauss(25, 5)

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

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

random.gauss(25, 25) 

的时间并降低其他 50% 并获得第一个 sn-p。只考虑高于平均值的值和低于平均值的值。

有没有其他方法可以使这个更精确。我在网上看到了扭曲正态分布的方法,但不确定如何让它发挥作用,因为我的统计数据真的不是那么强。

我想要的分布是这样的

提前感谢您的帮助。

更新: 在查看并同意一些之后,我相信我需要忽略我最初的想法,因为它不起作用并使用

np.random.lognormal(mu, sigma) 

但有人知道如何将 mu 和 sigma 设置为我需要表示的内容吗?

【问题讨论】:

  • 如果平均值不在范围的中心,这将不是一个正态分布。你知道你希望发行版是什么样子吗?你想要浮点样本还是整数样本?
  • 看起来像这里第一张图的倾斜性质i.stack.imgur.com/srHxy.jpg
  • 看起来你想要一个对数正态分布lognormvariate(mu, sigma),但我不知道如何设置 mu 和 sigma 来得到你想要的。
  • 看了之后好像是这样,因为你我不知道如何设置mu和sigma
  • 由于范围是有界的,它看起来更像是一个缩放和移动的beta distribution,可以参数化以满足您的需求。对数正态具有您似乎正在寻找的正偏斜的一般形状,但趋于无穷大。

标签: python random statistics


【解决方案1】:

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

您可以尝试对数正态(查看维基百科以了解 mu 和 sigma 如何与均值和方差相关)。通过在 Excel 中对这些公式进行数字匹配,我发现了以下拟合:

让 Y 是一个对数正态随机变量,mu = 2.65537 和 sigma = 0.324591 让 X = Y + 10。然后 X 接近你想要的 - X 的平均值为 25,标准差为 5。你不过,不会观察到很多 X 值高于 40,因为标准差只有 5。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-13
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 2011-02-14
    • 2012-12-21
    • 2011-04-04
    相关资源
    最近更新 更多