【问题标题】:Draw a random value from a given distribution [closed]从给定分布中抽取一个随机值[关闭]
【发布时间】:2015-01-14 17:00:34
【问题描述】:

我有一个array 的值,这些值是从观察值y1 开始生成的,并假设该值具有poissonian 分布:

array = np.random.poisson(np.real(y1), 10000)

如果我想从array 中提取一个随机值,该随机值是泊松分布的,因此有一个在y1 处达到峰值的“最可能值”?我怎样才能做到这一点?它是通过简单的随机提取工作,还是需要指定其他内容?

编辑:试图更具体。我有一个数组,其元素是泊松分布的。如果我想从该数组中随机提取一个元素,我应该告诉方法有关数组分布的信息,还是没有必要? 我希望这会澄清一点。

【问题讨论】:

  • 不管数组中的数据如何,如果你想生成一个随机索引来从数组中获取一个值,你只需使用random.randint(0, arraySize)
  • 您的问题有点难以解释...例如,根据我的解释,如果您有分布 [.25, .75],您希望随机选择类似于[1, 0, 1, 1, 1, 0, 1, 1...],即 1 的数量大约是 0 的 3 倍?或者,按照 Alex 和 mickey 的解释,你的 1 和 0 一样多?那么你想要哪个(或其他)?
  • @tom10,对不起,我不明白你的问题。我的意思是,在泊松分布中,有一个更可能的值(峰值)和不太可能的值(尾部)。当方法从泊松分布数组中随机选择时,它是否需要知道分布,或者这不是必需的,因为分布已经在数组中定义了?
  • “随机”这个词是不够的。如您所知,随机数可以有分布。您是要以相等的概率还是基于此分布(即,与分布中值的概率)来选择每个元素。因此,再次重申,如果您的分布是 [.25, .75],您希望选择 0.25 的频率与选择 0.75 的频率相同,还是希望更频繁地选择 0.75,因为它是更可能的值。
  • @tom10,是的,我希望随机选择更频繁地选择更可能的值,当然。但是,我的疑问是:如果更可能的值也更频繁,模块是否需要知道分布?即,如果我们有 [.25, .75, .75, .75],自然会更频繁地提取更可能的值......

标签: python numpy random poisson


【解决方案1】:

只是

import random
randval = random.choice(array)

应该适合你。一旦生成了array,为了从它的项目中随机选择一个,首先通过什么过程或根据什么分布填充array 就不再重要了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多