【问题标题】:Multivariate random variables with scipy.stats rvs() function具有 scipy.stats rvs() 函数的多元随机变量
【发布时间】:2021-01-07 03:58:01
【问题描述】:

scipy.stats 统计分布套件(scipy.stats.normscipy.stats.uniformscipy.stats.t 等)都使用自己的 .rvs() 函数生成单变量数据序列,并且只有一个具有多变量再现:multivariate_normal,对应于numpynumpy.random.randn((N,K))。事实上,在numpy.random 中发现的几乎所有统计分布都可以产生多变量数据。

我如何将scipy.stats 中的单变量分布函数扩展到多变量数字生成,因为它具有numpy.random 中没有的一些分布,例如johnsonsu?我必须自己手动制作一个将多个单变量连接在一起的循环函数吗?那应该是什么样子的

【问题讨论】:

    标签: python random distribution scipy.stats


    【解决方案1】:

    我认为您只想将size 参数传递给rvs。例如:

    from scipy import stats
    
    stats.norm.rvs(size=10)
    

    会给你一个充满 10 个标准正态变量的向量。

    请注意,多变量意味着统计中的特定事物,而不仅仅是 IID 相同的副本(这是 size 所做的)。例如multivariate_normalcov 参数指定一次绘制中所有变量的协方差矩阵。

    再比如multinomial类似,但分布的参数明显不同。

    stats.multinomial.rvs(n=5, p=[0.5, 0.5], size=10)
    

    告诉你投掷硬币 5 次得到多少正面和反面,重复 10 次。即行是单独的绘图,列是绘图中的值

    【讨论】:

      猜你喜欢
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      • 2018-02-21
      • 1970-01-01
      • 2020-05-10
      相关资源
      最近更新 更多