Как получить функцию от оценки плотности ядра?

Я пытался внедрить KDE, но немного застрял в математике.

Я дам псевдокод моего текущего способа выполнения KDE, чтобы лучше показать вам мою проблему.

(Я повторил пример из Википедии: https://en.wikipedia.org/wiki/Kernel_density_estimation )

  1. Определите интервал KDE и количество используемых точек ([-6, 11] и я использовал 1000 «точек» между -6,0 и 11,0])

  2. Переберите все точки и дайте каждой точке вероятность, добавив ядра из заданных точек данных. Теперь каждая точка от -6 до 11 имеет вероятность быть выбранной.

  3. Убедитесь, что вероятность всех точек в сумме составляет 100%, и сделайте выборки в соответствии с вероятностью точек.

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

Было бы неплохо не вычислять вероятность для каждой точки интервала, а просто получить формулу из KDE, которой я даю случайные числа и получаю выборки в соответствии с вероятностью. Кто-нибудь знает как это сделать?

Кстати, я использую С++ и хотел бы продолжать это делать.


person Clutterhead    schedule 02.09.2019    source источник


Ответы (1)


Если вам сообщили, что ваш образец следует некоторому распределению, и вы знаете параметры и уравнение PDF, вы можете построить их с помощью уравнения, но если распределение не задано, вы не можете создать формулу или, по крайней мере, ее следует избегать . Пример: если образец следует гауссовскому закону, можно найти среднее значение и дисперсию и подставить их в уравнение Гаусса, а затем построить PDF.

KDE используется для поиска функции плотности вероятности (PDF) для конечных выборок данных, и вы не можете получить формулу/уравнение для выборки, которую можно использовать непосредственно для сюжет PDF. Вся идея KDE состоит в том, чтобы иметь общую оценку для PDF (гладкая кривая), а не уравнение.

И то, как работает KDE, упомянуто вами выше и приведено в вики с примером: - 1. Рассчитайте вероятность (частоту) для каждой точки. 2. Нарисуйте ядра Гаусса для каждой точки с той же точкой в ​​качестве среднего и некоторой полосой пропускания (параметром). 3. Суммируйте все эти ядра, чтобы получить окончательный результат.

Основная причина, по которой у вас не может быть уравнения, заключается в неизвестном параметре - пропускная способность в KDE. Кривая будет продолжать изменяться для образца по мере изменения полосы пропускания, и уравнение не может быть записано в какой-либо форме полиномиального уравнения.

person Prashant Solanki    schedule 02.09.2019