Этот пример показывает аппроксимацию объекта распределения вероятностей ядра к выборочным данным.
Загрузите выборочные данные.
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