Как извлечь подогнанные данные из нормальной функции плотности вероятности

Если я подбираю одномерные данные с нормальным распределением, как я могу вернуть подобранные значения в 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? !Думаю, мне не хватает элементарной математики.


person Shehroz    schedule 06.11.2013    source источник


Ответы (1)


normfit просто дает вам mu и sigma подогнанного нормального PDF. Из тех, что вы создаете в формате PDF с помощью normpdf. Таким образом, желаемые значения y для вашего ввода x будут

y = normpdf(x,mu,sigma)

с которым вы могли бы построить

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

введите здесь описание изображения

Обратите внимание, что с помощью этой процедуры данные точно лежат в нормальном PDF, даже если эти данные фактически не следуют нормальному распределению.

person Luis Mendo    schedule 06.11.2013
comment
Спасибо. Значения y находятся в диапазоне [0,1], потому что это вероятность, как мы можем перевести их, чтобы они могли иметь величину, соответствующую исходным данным x? В моем примере выше mu=154 и sigma=26,57, но 0‹=y‹=1 - person Shehroz; 06.11.2013
comment
У вас уже есть величина исходных данных. Я не понимаю, как вы могли бы получить другую величину для подобранных данных, если вы этого хотите; Я не совсем уверен, что это даже имеет смысл - person Luis Mendo; 06.11.2013