如果我使用正态分布拟合单变量数据,我如何在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?我想我在这里缺少一些基本的数学。
答案 0 :(得分:1)
normfit
只是为您提供了拟合正常pdf的mu
和sigma
。从那些用normpdf
构建pdf的人。因此,输入y
的所需x
值为
y = normpdf(x,mu,sigma)
你可以用
绘图hold on
plot(x,y,'ro')
请注意,通过此过程,数据完全位于普通pdf上,即使这些数据实际上并未遵循正态分布。