我有一些来自未知来源的观察。这组观察值是 x,例如:
x = [97 , 102.3, 95.05 , 89.1 , 117 , ...]; % this is just an example. data set could contain any thing.
如果 x 足够大,我应该可以说一下概率分布函数,对吧?
那么我怎样才能在 MATLAB 中做到这一点,这样我才能得到p(x = 101)
or p(x = 5)
?第一个可能会非常高。
任何类型的假设(正态分布等)都可以,我只想要一个简单的概率答案。也许我不必明确知道PDF,我只需要一种实现方式p(x = x_star)
,其中x_star不一定是x的成员。我怎样才能做到这一点?
谢谢你的帮助 !
我的尝试
最简单的尝试是length(find(x==x_star))/length(x)
,但是如果例如101
观察中没有,则返回零。然而,从分布来看,它应该是一个很高的概率。
编辑 :
根据 Kamtal 的回答,我的功能:
function p = get_probability_from_sample_set(S, X)
% finds the probability that a sample from S is equal to X
[mu,sigma] = normfit(S);
z = 1:200;
xfit = normpdf(z,mu,sigma);
p = xfit(find(z == X));
end
p
返回[]
。我在哪里做错了?