Измерение плотности для трехмерных данных (в Matlab) - PullRequest
0 голосов
/ 16 марта 2012

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

Итак, моя проблема состоит из двух этапов:

  • 1: Определите, где плотность распределения точек самая высокая

  • 2: Определите, какая точка является ближайшей к точке, найденной в 1

Точкой 2 я могу управлять, но я не уверен, как решить пункт 1. Я знаю, что в Matlab есть много функций для оценки плотности, но я не уверен, какая из них будет наиболее подходящей, или прост в использовании.

Кто-нибудь знает?


Моя команда статистики немного ржавая, но, насколько я могу судить, этот тип проблем требует многомерного анализа. Кто-то предложил мне использовать многомерную оценку плотности ядра, но я не совсем уверен, что это лучшее решение.

1 Ответ

1 голос
/ 16 марта 2012

Плотность является мерой массы на единицу объема.Предполагая, что все ваши очки имеют одинаковую массу, то вы, я полагаю, пытаетесь измерить количество очков на единицу объема.Таким образом, один из подходов состоит в том, чтобы разделить ваше подмножество евклидова пространства на множество маленьких единичных томов (назовем их вокселями, как это делают все) и посчитать, сколько точек в каждом.Воксель с наибольшим количеством точек - это то место, где плотность точек максимальная.Это, конечно, своего рода численное интегрирование.Если ваши баллы были распределены в соответствии с какой-то аналитической функцией (а я полагаю, что это не так), вы могли бы решить проблему карандашом и бумагой.

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

Я надеюсь, что это поможет вам начать с вашей точки 1;вы, кажется, в порядке с пунктом 2, поэтому я сейчас остановлюсь.

РЕДАКТИРОВАТЬ

Похоже, что triplequad может быть то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...