2016-04-07 138 views
2

因为还有一个问题,我正在建设我的优质question如何使用概率分布对象计算一个点的概率?

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

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

我该如何计算概率?

回答

1

比方说,你有一个随机变量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(或任何特定的值)是零!一系列结果具有正概率,但个别结果总和不足的概率为零。

+0

非常感谢,但我最初想要的是P(X = a),这意味着a = b它将给出F(b) - F(a)= F(a) - F(a)= 0 – machinery

+0

@machinery yes , 那是对的。这就是为什么没有人要求P(X = a)用于正态分布或大多数其他连续分布(可能除了在测试或作业问题上,以测试理解)。对于具有连续概率密度函数的任意随机变量X,P(X = a)= 0。 –

+0

好的,但是在(高斯)朴素贝叶斯分类器中,你为每个特征拟合了一个正态分布,然后你必须计算P(X = a)来得到一个新的数据点...我可以使用这样的PDF值一个案例?当然pdf可以比一个更大,但更高的pdf值意味着更高的概率(密度)。 – machinery

4

如果分布是连续的,那么任何点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.在这种情况下非零概率是附加到区间而不是单独点的东西。你仍然可能想问一下在x附近获得价值的概率 - 但是你必须决定“near”的意思。例如,如果x是一个整数,那么您可能想知道获得四舍五入为x的值的概率。这将是:

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

谢谢你的回答。概率论不是我的力量。 ;)在我的情况下分布是连续的(正态分布)。 RHS和PMF是什么意思?我认为你的解释是针对离散分布的,但我怎样才能适应它的连续分布? – machinery

+0

@machinery您真的应该阅读如何使用概率密度函数和/或累积分布函数来计算各种结果的概率。 使用离散分布,可以总结各种较小的分量事件发生较大事件的概率。 (例如模具卷X为3或更小的概率是概率P(X = 1)+ P(X = 2)+ P(X = 3))。对于连续分布,类似于将概率质量功能是集成概率密度函数。整合基本上是总结。 –

+0

@MatthewGunn对概率密度函数进行积分正是我认为的Matlab的pdf函数,但这可能会变得比不再是真实概率的函数大。 – machinery