Распределение ядра является непараметрическим представлением функции плотности вероятности (PDF) случайной переменной. Можно использовать распределение ядра, когда параметрическое распределение не может правильно описать данные, или, когда это необходимо, постараться не делать предположения о распределении данных. Распределение ядра задано функцией сглаживания и значением пропускной способности, которые управляют гладкостью получившейся кривой плотности.
Средством оценки плотности ядра является предполагаемый PDF случайной переменной. Для любых действительных значений x формулой средства оценки плотности ядра дают
откуда x1, x2, …, xn является случайными выборками неизвестного распределения, n является объемом выборки, функция сглаживания ядра, и h является пропускной способностью.
Функция сглаживания ядра задает форму кривой, используемой, чтобы сгенерировать PDF. Подобно гистограмме распределение ядра создает функцию, чтобы представлять вероятностное распределение с помощью выборочных данных. Но различающийся гистограмма, которая помещает значения в дискретные интервалы, распределение ядра, суммирует функции сглаживания компонента для каждого значения данных, чтобы произвести сглаженную, непрерывную кривую вероятности. Следующие графики показывают визуальное сравнение гистограммы и распределения ядра, сгенерированного от тех же выборочных данных.
Гистограмма представляет вероятностное распределение путем установления интервалов и размещения каждого значения данных в соответствующий интервал.
SixMPG = [13;15;23;29;32;34]; figure histogram(SixMPG)
Из-за этого подхода количества интервала гистограмма производит функцию плотности дискретной вероятности. Эта сила быть неподходящим для определенных приложений, таким как генерация случайных чисел от подходящего распределения.
В качестве альтернативы распределение ядра создает PDF путем создания отдельной кривой плотности вероятности для каждого значения данных, затем подведения итогов плавных кривых. Этот подход создает одну сглаженную, непрерывную функцию плотности вероятности для набора данных.
figure pdSix = fitdist(SixMPG,'Kernel','BandWidth',4); x = 0:.1:45; ySix = pdf(pdSix,x); plot(x,ySix,'k-','LineWidth',2) % Plot each individual pdf and scale its appearance on the plot hold on for i=1:6 pd = makedist('Normal','mu',SixMPG(i),'sigma',4); y = pdf(pd,x); y = y/6; plot(x,y,'b:') end hold off
Меньшие пунктирные кривые являются вероятностными распределениями для каждого значения в выборочных данных, масштабировал для соответствия графику. Большая твердая кривая является полным распределением ядра SixMPG
данные. Функция сглаживания ядра относится к форме тех меньших кривых компонента, которые имеют нормальное распределение в этом примере.
Можно выбрать одну из нескольких опций для функции сглаживания ядра. Этот график показывает формы доступных функций сглаживания.
Установите спецификации графика
hname = {'normal' 'epanechnikov' 'box' 'triangle'}; colors = {'r' 'b' 'g' 'm'}; lines = {'-','-.','--',':'}; % Generate a sample of each kernel smoothing function and plot data = [0]; figure for j=1:4 pd = fitdist(data,'kernel','Kernel',hname{j}); x = -3:.1:3; y = pdf(pd,x); plot(x,y,'Color',colors{j},'LineStyle',lines{j}) hold on end legend(hname) hold off
Чтобы изучить эффект различных функций сглаживания ядра на форме получившейся оценки PDF, сравните графики данных о пробеге (MPG
) от carbig.mat
использование каждой доступной функции ядра.
load carbig % Set plot specifications hname = {'normal' 'epanechnikov' 'box' 'triangle'}; colors = {'r' 'b' 'g' 'm'}; lines = {'-','-.','--',':'}; % Generate kernel distribution objects and plot figure for j=1:4 pd = fitdist(MPG,'kernel','Kernel',hname{j}); x = -10:1:60; y = pdf(pd,x); plot(x,y,'Color',colors{j},'LineStyle',lines{j}) hold on end legend(hname) hold off
Каждая кривая плотности использует те же входные данные, но применяет различную функцию сглаживания ядра, чтобы сгенерировать PDF. Оценки плотности примерно сопоставимы, но форма каждой кривой варьируется немного. Например, ядро поля производит кривую плотности, которая меньше является гладкой, чем другие.
Выбор значения пропускной способности управляет гладкостью получившейся кривой плотности вероятности. Этот график показывает оценку плотности для того же MPG
данные, с помощью нормальной функции сглаживания ядра с тремя различной пропускной способностью.
Создайте объекты распределения ядра
pd1 = fitdist(MPG,'kernel'); pd2 = fitdist(MPG,'kernel','BandWidth',1); pd3 = fitdist(MPG,'kernel','BandWidth',5); % Compute each pdf x = -10:1:60; y1 = pdf(pd1,x); y2 = pdf(pd2,x); y3 = pdf(pd3,x); % Plot each pdf plot(x,y1,'Color','r','LineStyle','-') hold on plot(x,y2,'Color','k','LineStyle',':') plot(x,y3,'Color','b','LineStyle','--') legend({'BandWidth = Default','BandWidth = 1','BandWidth = 5'}) hold off
Пропускная способность по умолчанию, которая теоретически оптимальна для оценки плотности для нормального распределения [1], производит довольно плавную кривую. Определение меньшей пропускной способности производит очень грубую кривую, но показывает, что может быть два главных peaks в данных. Определение большей пропускной способности производит кривую, почти идентичную функции ядра, и так является гладким этим, это затеняет потенциально важные функции данных.
[1] Лучник, A. W. и А. Аццалини. Прикладные методы сглаживания для анализа данных. Нью-Йорк: Oxford University Press Inc., 1997.
KernelDistribution
| ksdensity