exponenta event banner

Соответствие объекта распределения ядра данным

В этом примере показано, как подогнать объект распределения вероятностей ядра к данным выборки.

Шаг 1. Загрузить данные образца.

Загрузите образцы данных.

load carsmall;

Эти данные содержат мили на галлон (MPG) измерения для различных марок и моделей автомобилей, сгруппированных по стране происхождения (Origin), модельный год (Year) и другие характеристики транспортного средства.

Шаг 2. Поместите объект распространения ядра.

Использовать fitdist чтобы подогнать объект распределения вероятности ядра к милям на галлон (MPG) данные для всех марок автомобилей.

pd = fitdist(MPG,'Kernel')
pd = 
  KernelDistribution

    Kernel = normal
    Bandwidth = 4.11428
    Support = unbounded

Это создает prob.KernelDistribution объект. По умолчанию fitdist использует нормальную функцию сглаживания ядра и выбирает оптимальную полосу пропускания для оценки нормальных плотностей, если не указано иное. Можно получить доступ к информации о посадке и выполнить дальнейшие вычисления с помощью связанных функций объекта.

Шаг 3. Вычислить описательную статистику.

Вычислите среднее, среднее и стандартное отклонение соответствующего распределения ядра.

m = mean(pd)
m = 23.7181
med = median(pd)
med = 23.4841
s = std(pd)
s = 8.9896

Шаг 4. Вычислите и распечатайте pdf.

Вычислите и постройте график PDF-файла соответствующего дистрибутива ядра.

figure
x = 0:1:60;
y = pdf(pd,x);
plot(x,y,'LineWidth',2)
title('Miles per Gallon')
xlabel('MPG')

Figure contains an axes. The axes with title Miles per Gallon contains an object of type line.

На графике показан pdf дистрибутива ядра в соответствии с MPG данные по всем составам автомобилей. Распределение гладкое и достаточно симметричное, хотя немного перекошено более тяжёлым правым хвостом.

Шаг 5. Генерировать случайные числа.

Создайте вектор случайных чисел из аппроксимированного распределения ядра.

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

Figure contains an axes. The axes with title Random Numbers Generated From Distribution contains 2 objects of type patch, line. This object represents r.

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

См. также

| |

Связанные темы