Shehroz
Shehroz

Reputation: 447

How to extract fitted data from normal probability density function

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.

Upvotes: 0

Views: 1497

Answers (1)

Luis Mendo
Luis Mendo

Reputation: 112659

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.

Upvotes: 1

Related Questions