Подходящий объект ядерного распределения к данным

В этом примере показано, как соответствовать, вероятностное распределение ядра возражают против выборочных данных.

Шаг 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 object. The axes object 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 object. The axes object with title Random Numbers Generated From Distribution contains 2 objects of type patch, line. This object represents r.

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

Смотрите также

| |

Похожие темы