【问题标题】:How to create a discrete distribution in OpenTURNS?如何在 OpenTURNS 中创建离散分布?
【发布时间】:2020-04-30 04:39:39
【问题描述】:

我有一个真实值样本,其中包含离散随机变量的独立实现,我想创建适合该数据的分布。

sample = [2.0, 2.0, 1.0, 1.0, 2.0, 3.0, 1.0, 2.0, 2.0, 1.0]

UserDefined 分布似乎是为此目的而设计的,但需要根据其在样本中的频率计算每个点的权重:

import openturns as ot
distribution = ot.UserDefined(points, weights)

但我们必须先计算pointsweights。为此,我使用 Numpy unique 函数计算了点和权重。但是,这听起来像是UserDefined 类的限制。我怎样才能更简单地做到这一点?

【问题讨论】:

    标签: openturns


    【解决方案1】:

    UserDefinedFactory 类通过估计样本中的pointsweights 来创建UserDefined 分布。 build 方法将样本作为输入,并返回适合数据的ot.UserDefined 对象。

    import openturns as ot
    sample = ot.Sample([[2.0], [2.0], [1.0], [1.0], [2.0], [3.0], [1.0], [2.0], [2.0], [1.0]])
    factory = ot.UserDefinedFactory()
    distribution = factory.build(sample)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      • 2020-04-04
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多