How to extract fitted data from normal probability

2019-09-09 19:55发布

If I fit a uni-variate data with normal distribution, how can i get back the fitted values in MATLAB. I am using this simple example

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 is giving the probabilities of xval values. Now, If I would like to extract the fitted values of 'x' after approximating it with the above normal distribution, how do I do that?. As can be seen in the picture the y-axis values are the pdf and lies between 0 and 1, however I want the corresponding fitted values from the data that follows normal distribution.

Would the fitted values be x_fitted = yval*sigma + mu? !I think I am missing some basic maths here.

1条回答
祖国的老花朵
2楼-- · 2019-09-09 20:39

normfit simply gives you the mu and sigma of the fitted normal pdf. From those you build that pdf with normpdf. So the desired y values for your input x would be

y = normpdf(x,mu,sigma)

which you could plot with

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

enter image description here

Note that, with this procedure, the data lie exactly on the normal pdf, even if those data do not actually follow a normal distribution.

查看更多
登录 后发表回答