В этом примере показано, как подогнать объект распределения вероятностей ядра к данным выборки.
Загрузите образцы данных.
load carsmall;Эти данные содержат мили на галлон (MPG) измерения для различных марок и моделей автомобилей, сгруппированных по стране происхождения (Origin), модельный год (Year) и другие характеристики транспортного средства.
Использовать fitdist чтобы подогнать объект распределения вероятности ядра к милям на галлон (MPG) данные для всех марок автомобилей.
pd = fitdist(MPG,'Kernel')pd =
KernelDistribution
Kernel = normal
Bandwidth = 4.11428
Support = unbounded
Это создает prob.KernelDistribution объект. По умолчанию fitdist использует нормальную функцию сглаживания ядра и выбирает оптимальную полосу пропускания для оценки нормальных плотностей, если не указано иное. Можно получить доступ к информации о посадке и выполнить дальнейшие вычисления с помощью связанных функций объекта.
Вычислите среднее, среднее и стандартное отклонение соответствующего распределения ядра.
m = mean(pd)
m = 23.7181
med = median(pd)
med = 23.4841
s = std(pd)
s = 8.9896
Вычислите и постройте график PDF-файла соответствующего дистрибутива ядра.
figure x = 0:1:60; y = pdf(pd,x); plot(x,y,'LineWidth',2) title('Miles per Gallon') xlabel('MPG')

На графике показан pdf дистрибутива ядра в соответствии с MPG данные по всем составам автомобилей. Распределение гладкое и достаточно симметричное, хотя немного перекошено более тяжёлым правым хвостом.
Создайте вектор случайных чисел из аппроксимированного распределения ядра.
rng('default') % For reproducibility r = random(pd,1000,1); figure hist(r); set(get(gca,'Children'),'FaceColor',[.8 .8 1]); hold on y = y*5000; % Scale pdf to overlay on histogram plot(x,y,'LineWidth',2) title('Random Numbers Generated From Distribution') hold off

Гистограмма имеет форму, аналогичную форме графика pdf, поскольку случайные числа, генерируемые из непараметрического распределения ядра, соответствуют данным выборки.
fitdist | KernelDistribution | ksdensity