将结果分配给离散分布 Matlab
Assign outcomes to discrete distribution Matlab
我正在尝试将分布拟合到离散数据集。
可能的结果是 A = [1 3 4 5 9 10]
,概率为 prob
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,但我的目标是使平均值 (pd) = 5.95,这是可能结果的加权和。提前致谢。
解决方法很简单。多项式分布的可能结果由从 1
开始到 numel(prob)
结束的一系列值定义。来自这个官方文档页面:
Create a multinomial distribution object for a distribution with three
possible outcomes. Outcome 1 has a probability of 1/2, outcome 2 has a
probability of 1/3, and outcome 3 has a probability of 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
我正在尝试将分布拟合到离散数据集。
可能的结果是 A = [1 3 4 5 9 10]
,概率为 prob
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,但我的目标是使平均值 (pd) = 5.95,这是可能结果的加权和。提前致谢。
解决方法很简单。多项式分布的可能结果由从 1
开始到 numel(prob)
结束的一系列值定义。来自这个官方文档页面:
Create a multinomial distribution object for a distribution with three possible outcomes. Outcome 1 has a probability of 1/2, outcome 2 has a probability of 1/3, and outcome 3 has a probability of 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