Есть ли в MatLab встроенная функция для оценки плотности случайной величины из пользовательской гистограммы? (Я подозреваю, что, вероятно, есть много способов сделать это, я просто смотрю, есть ли уже какие-либо встроенные функции MatLab). Спасибо.
Пользовательская оценка плотности гистограммы в MatLab
Ответы (2)
Функция hist
дает приблизительную оценку плотности вероятности, которую вы оцениваете. .
Если вам нужно его непрерывное представление, эта статья из Matlab документация объясняет, как получить его с помощью команды spline
из набора инструментов Curve Fitting Toolbox. В основном статья объясняет, как сделать кубическую интерполяцию вашей гистограммы.
Полученный код:
y = randn(1,5001); % Replace y by your own dataset
[heights,centers] = hist(y);
hold on
n = length(centers);
w = centers(2)-centers(1);
t = linspace(centers(1)-w/2,centers(end)+w/2,n+1);
dt = diff(t);
Fvals = cumsum([0,heights.*dt]);
F = spline(t, [0, Fvals, 0]);
DF = fnder(F);
hold on
fnplt(DF, 'r', 2)
hold off
ylims = ylim;
ylim([0,ylims(2)]);
person
Harijoe
schedule
01.03.2015
Популярным способом является использование оценки плотности ядра. Самый простой способ сделать это в Matlab — использовать ksdensity
.
person
3lectrologos
schedule
01.03.2015
hist
?histc
?ksdensity
? - person A. Donda   schedule 28.02.2015