【问题标题】:Assign outcomes to discrete distribution Matlab将结果分配给离散分布 Matlab
【发布时间】:2018-04-28 12:21:39
【问题描述】:

我正在尝试将分布拟合到离散数据集。 可能的结果是A = [1 3 4 5 9 10],具有相应的概率

prob = [0.2 0.15 0.1 0.05 0.35 0.15];

我已经使用 makedist 找到了分布

pd = makedist('Multinomial','probabilities', prob);

我想知道是否有办法将 A 的结果 1 到 10 包含在分布中,这样我就可以用 var(pd)、mean(pd) 计算可能结果的均值和方差。到目前为止,平均值是 3.65,但我的目标是让 mean(pd) = 5.95,这是可能结果的加权和。提前致谢。

【问题讨论】:

    标签: matlab distribution multinomial


    【解决方案1】:

    解决方案非常简单。多项分布的可能结果由从1 开始到numel(prob) 结束的一系列值定义。从这个官方文档页面:

    为具有三个分布的分布创建多项分布对象 可能的结果。结果 1 的概率为 1/2,结果 2 的概率为 概率为 1/3,结果 3 的概率为 1/6。

    pd = makedist('Multinomial','probabilities',[1/2 1/3 1/6])
    

    基本上,您的可能结果向量包括一些与空概率(信号为0)相关的值。因此,如下定义您的分布以获得预期结果:

    p = [0.20 0.00 0.15 0.10 0.05 0.00 0.00 0.00 0.35 0.15];
    pd = makedist('Multinomial','probabilities',p);
    
    mean(pd) % 5.95
    var(pd) % 12.35
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      相关资源
      最近更新 更多