2D-взвешенная оценка плотности ядра (KDE) в MATLAB

Я ищу доступный код, который может оценить плотность ядра набора 2D-взвешенных точек. До сих пор я нашел эту опцию для невзвешенного 2D KDE в MATLAB: http://www.mathworks.com/matlabcentral/fileexchange/17204-kernel-density-estimation

Однако он не включает взвешенную функцию. Есть ли какая-либо другая реализованная функция или библиотека, которая может пригодиться для этого? Я подумал о «взломе» проблемы, где, предположим, у меня есть простой вектор веса: [2 1 3 1], я могу буквально просто повторить каждую точку выборки дважды, один раз, три раза и один раз соответственно. Я не уверен, что это вычисление будет математически обоснованным. Опять же, проблема здесь в том, что вектор весов, который у меня есть, является десятичным, поэтому нормализация до минимального числа вектора, а затем умножение каждой другой записи подразумевает ошибки округления, особенно если веса имеют один и тот же порядок величины.

Примечание. Функция ksdensity в MATLAB имеет взвешенную опцию, но только для одномерных данных.


person Arturo    schedule 10.03.2014    source источник


Ответы (2)


Нашел это, так что проблема решена. (Наверное): http://www.ics.uci.edu/~ihler/code/kde.html

person Arturo    schedule 10.03.2014

Я использовал эту функцию и нашел чтобы было отлично. Я обсуждаю изменение параметра n (площадь, по которой рассчитывается плотность) в этом Сообщение о переполнении стека, содержащее несколько примеров 2D-графиков KDE с использованием контура3.

person Chris Parry    schedule 24.09.2015