Рассчитать площадь точек - PullRequest
0 голосов
/ 11 января 2011

Мне не удалось найти хорошие ответы в Google, или, возможно, я просто упускаю правильные ключевые слова.Любая помощь или предложения приветствуются!

Моя проблема заключается в следующем: я хочу вычислить площадь, которую покрывает определенное облако точек (в 2D).Я знаю, что с математической точки зрения площадь равна 0, но я могу только взять точки выборки из правильного распределения.Кроме того, у меня нет никакой информации о границе облака точек, возможна любая форма, включая дыры и т. Д. Поэтому алгоритмы, использующие границу многообразия, работать не будут?!.

Поскольку функции, с которыми я работаю, гладкие, я могу предположить, что пространство между точками также принадлежит области, которую я хочу вычислить.

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

Есть ли более элегантное решение для этого?Есть идеи?

Спасибо, Томас


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

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

Кроме того, у меня есть пороговое значение, при котором я могу считать две точки «равными», или, другими словами, я знаю, какого результата я хочу достичь.


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

Я использую GPLVM для отображения из многомерного пространства в низкоразмерное пространство.Поэтому я думаю, что анализировать это напрямую сложно / невозможно.Они не очень интуитивны, и я думаю, что в этом случае проще работать непосредственно с двумерными точками ...

Ответы [ 3 ]

1 голос
/ 06 марта 2013

Существует простой статистический подход (см. Туоми и Ларджаваара, QJR Meteorol. Soc. (2005) 131, p. 1191, Приложение). Репрезентативной областью достаточно регулярного набора точек (скажем, ударов молнии под грозовой ячейкой) является A = 12 Sx Sy sqrt (1 - R2). Стандартные отклонения Sx и Sy (умноженные на постоянную) определяют прямоугольник, а коэффициент корреляции (R - коэффициент корреляции) показывает, насколько большая часть прямоугольника эффективно покрыта точками. Этот результат не является высокой математикой, но он хорошо работает на практике, например, для оценки плотности вспышки молнии в ячейке. - Туоми

1 голос
/ 11 января 2011

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

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

0 голосов
/ 11 января 2011

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

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

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

...