8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

不同的 Beta 分布样本

Nate 3月前

31 0

给定此 python 代码success = np.array([1, 2, 3, 4, 5])failure = np.array([12, 13, 14, 15, 16])beta_samples = np.random.beta(success + 1, Failure + 1, size = 5)print(beta_samples)beta_sam...

给出这个python代码


success = np.array([1, 2, 3, 4, 5])
failure = np.array([12, 13, 14, 15, 16])

beta_samples = np.random.beta(success + 1, failure + 1, size = 5)
print(beta_samples)

beta_samples2 = [np.random.beta(success[i] + 1, failure[i] + 1) for i in range(5)]
print(beta_samples2)

python代码的输出是:

[0.22023725 0.18643029 0.14765836 0.12017337 0.39477445]
[0.22605254862542162, 0.12566539444840888, 0.13290508184544317, 0.2718239044172474, 0.1464185003569084]

为什么我使用相同的 success failure 数组,却得到两个完全不同的 Beta 分布样本?哪一个是正确的,哪一个是错误的?这是因为稍后我需要使用函数选择这些 Beta 样本中最大值的位置/索引, argmax(...) 而目前,这两个样本都会给我不同的索引/位置。

帖子版权声明 1、本帖标题:不同的 Beta 分布样本
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Nate在本站《numpy》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 这是设计使然。伪随机数生成器通常需要某种 种子 (不完全是起始值,但类似)。该种子通常是基础设施的某种状态(例如时间),但您也可以手动设置它。使用种子,您可以重现伪随机数。请参见 此处 :

    我们的 RNG 是确定性序列,可以通过指定种子整数来重现以得出其初始状态。...

    因此,您可以使用 np.random.seed 并执行

    import numpy as np
    
    seed = 12345
    
    success = np.array([1, 2, 3, 4, 5])
    failure = np.array([12, 13, 14, 15, 16])
    
    np.random.seed(seed)
    beta_samples = np.random.beta(success + 1, failure + 1, size = 5)
    print(beta_samples)
    
    np.random.seed(seed)
    beta_samples2 = [np.random.beta(success[i] + 1, failure[i] + 1) for i in range(5)]
    print(beta_samples2)
    

    以获得合适的样本。

返回
作者最近主题: