我正在做一个实验,我得到了2D点形式的一组数据
# read csv file
samples = csvread('results.csv');
假设它们是正态分布,我可以计算它们的均值和协方差并评估pdf
mu = mean(samples);
sigma = cov(samples);
y = mvnpdf(X,mu,sigma);
其中X
是使用meshgrid
计算的2D网格。
我现在想做的是用等值线here绘制此分布。
而且,我想选择与协方差相关的特定值的轮廓,如下图所示:
作为一个例子,我应该知道点=(X:mu(1)+ sigma(1,1),Y:mu(1)+ sigma(1,1))的分布值。我的猜测是我可以通过这种方式使用normpdf函数
value = normpdf(point,mu,sigma)
但是我得到这个作为输出:
value =
116.39 297.63
297.63 409.88
我真的不知道该怎么解释。
可以请人告诉我怎么做吗?
谢谢。
答案 0 :(得分:1)
在您开始谈论normpdf时,我已经迷失了您。您有一个多元法线,这就是您需要进行的工作。不知道您期望从单变量法向中得到什么。
如果要在马氏距离为1(即距分布平均值的一个标准偏差)处获得多元正态的概率值,可以通过在值{{1}处评估mvnpdf来实现},[m+s,0]
和m = mu(1)
。
然后,您可以将其与适当的轮廓函数一起使用以获取所需的轮廓。
编辑:这是一个示例。
s = sqrt( sigma(1,1) )