如何使用概率分布对象计算点的概率?

How to calculate probability of a point using a probability distribution object?

我正在建立我以前的 因为还有一个问题。

我在 Matlab 中为我的数据向量安装了正态分布:PD = fitdist(data,'normal')。现在我有一个新的数据点进来(例如 x = 0.5),我想计算它的概率。

使用 cdf(PD,x) 将不起作用,因为它给出了点小于或等于 x(但不完全是 x)的概率。使用 pdf(PD,x) 只给出密度而不是概率,因此它可以大于一。

如何计算概率?

如果分布是连续的,则任何点 x 的概率为 0,几乎符合连续分布的定义。如果分布是离散的,而且分布的支持是整数集的子集,那么对于任何整数 x,它的概率是

cdf(PD,x) - cdf(PD,x-1)

更一般地,对于任何取整数值的随机变量 X,概率质量函数 f(x) 和累积分布 F(x) 之间的关系为

f(x) = F(x) - F(x-1)

右侧可以解释为离散导数,因此这是对连续情况下 pdf 是 cdf 的导数这一事实的直接模拟。

我不确定 matlab 是否有比像那样通过 cdf 更直接地获得概率质量函数的方法。

在连续的情况下,你的问题没有多大意义,因为正如我上面所说,概率为 0。在这种情况下,非零概率是附加到间隔而不是单个点的东西。您可能仍想询问获得值 near x 的概率——但随后您必须决定 "near" 的含义。例如,如果 x 是一个整数,那么您可能想知道得到一个四舍五入为 x 的值的概率。那将是:

cdf(PD, x + 0.5) - cdf(PD, x - 0.5)

假设您有一个随机变量 X 服从均值 mu 和标准差 s.

的正态分布

设 F 为均值 mu 和标准差 s 的正态分布的累积分布函数。随机变量X落在ab之间的概率,即P(a < X <= b) = F(b) - F(a).

在 Matlab 代码中:

P_a_b = normcdf(b, mu, s) - normcdf(a, mu, s);

注意:观察X恰好等于0.5(或任何特定值)的概率为零!一系列结果的概率为正,但单个结果的总和不足则概率为零。