如何从正态概率密度函数中提取拟合数据

时间:2013-11-06 10:37:03

标签: matlab normal-distribution probability-density

如果我使用正态分布拟合单变量数据,我如何在MATLAB中找回拟合值。 我正在使用这个简单的例子

load hospital % data
x = hospital.Weight;
[mu sigma]=normfit(x) %normal fitting
%To visualize the pdf
xval=min(x):0.1:max(x)
yval=normpdf(xval,mu,sigma)
plot(xval,yval)

yval给出了xval值的概率。现在,如果我想在用上述正态分布逼近之后提取'x'的拟合值,我该怎么做?从图中可以看出,y轴值是pdf并且位于0和1之间,但是我希望来自正态分布之后的数据的相应拟合值。

拟合值是否为x_fitted = yval * sigma + mu?我想我在这里缺少一些基本的数学。

1 个答案:

答案 0 :(得分:1)

normfit只是为您提供了拟合正常pdf的musigma。从那些用normpdf构建pdf的人。因此,输入y的所需x值为

y = normpdf(x,mu,sigma)

你可以用

绘图
hold on
plot(x,y,'ro')

enter image description here

请注意,通过此过程,数据完全位于普通pdf上,即使这些数据实际上并未遵循正态分布。