Matlab ksdensity для двумерных данных с большим количеством баллов оценки

Я запускаю код Matlab для плотности ядра, т. Е. [f,xi] = ksdensity(x), где x - двумерные данные с двумя столбцами. Результирующий результат f — это вектор плотности, а xi — это сетка точек оценки размером 30x30. См. документацию здесь: Ссылка.

Я пытаюсь увеличить количество оценочных баллов, которые я получаю от этого кода. В документации упоминается параметр 'NumPoints', который применим только для одномерных данных. Есть ли вариант или способы увеличить точки сетки точек оценки двумерных данных, скажем, до 100x100?


person Hosea    schedule 25.10.2017    source источник


Ответы (2)


Вам нужно использовать необязательный второй входной аргумент pts, чтобы указать диапазон и количество выходных точек в вашей сетке. См. этот пример в документации. В зависимости от ваших входных данных вы можете указать что-то вроде этого:

pts = [linspace(min(x(:,1)),max(x(:,1)),1000).' linspace(min(x(:,2)),max(x(:,2)),1000).'];
person horchler    schedule 25.10.2017

NumPoints это npoints в ksdensity(). например, [f,xi] = ksdensity(x, 'npoints', 1000) вернет 1000 точек xi и f.

person TheWinterSoldierVn    schedule 13.10.2018