Як кластеризувати точки на основі щільності ядра?


10

У мене є великий набір даних з 36 к. Пунктів, що представляють комерційне землекористування, кожне з полем, що містить квадратні кадри. Я провів аналіз щільності ядра на цьому наборі даних, даючи растр, що показує щільність комерційних квадратних кадрів по всій області метро. Мені потрібно розділити цю растру на регіони, відповідні місцевим максимумам, які я називаю "центром". Я вже визначив місця розташування центрів, і тепер мені потрібно зробити одне з двох:

  • використовуйте інструмент кластеризації точок, наприклад "розділення медоїдів", щоб згрупувати точки в кластери навколо визначених мною центрів. Проблема цього методу полягає в тому, що він обчислювально інтенсивний, а тим більше, якщо я спробую використовувати матрицю несхожості для зважування балів за розміром.

  • якось розділити растр щільності ядра (який приблизно нагадує растер місцевості) на окремі «пагорби» навколо кожного центру. Але я не можу придумати жодного інструменту для цього.

Ця проблема мучила мене деякий час, і я сподівався, що мені вдасться виконати метод кластеризації в R, але це забирає багато часу, і мені не вистачає часу. Хтось знає про простий метод або для поділу растрових щільності на квартали інтенсивності, або для швидкого кластеризації великих наборів даних?


1
Це питання тісно пов'язане: stats.stackexchange.com/questions/13995/…
whuber

1
А також розміщені мною, як виявляється.
Патрік

це буде 1 пт для Патріка, я думаю .....
BWill

Відповіді:


6

Обговорення після тісно пов’язаного поста виявило просте ефективне рішення : знайти «пагорби», перевернути сітку догори дном (заперечуючи її значення) та знайти вододіли. Пагорби - раковини, а вододільні межі розділяють сітку на ці раковини.


Це рішення просте, швидке і саме те, що я шукав. Дякую.
Патрік

3

Найпростішою відповіддю було б використовувати поріг для маскування областей, які опускаються нижче порогу. Це повинно дати вам чіткі райони навколо ваших центрів. Тоді вони повинні мати можливість перетворити ці області у форми.

Ви також можете знайти засоби просторової статистики: аналіз кластеризації растрових даних - корисне обговорення подібної проблеми.


Так, це дуже актуальна дискусія! Я читаю Вашу магістерську дисертацію і спробую деякі методи.
Патрік

2
Використання порогу, ймовірно, тут не вийде, оскільки я намагаюся відрізнити центри від інших сусідніх центрів. У міському ядрі межа між двома матиме дуже високу щільність, але в приміській бахромі вона матиме дуже низьку щільність. Але я сподіваюся, що використання другої похідної буде ефективною.
Патрік

3

Я думаю, ви повинні повернутися до своєї початкової проблеми: Знайдіть кластери комерційних квадратних кадрів у цілому регіоні метро.

Я припускаю, що ваші точки - це центроїди посилок із значеннями рекламних кадрів? Я припускаю, що ви також можете мати багатокутний шар посилок із загальними квадратними метрами для кожної посилки? Це дає вам набір випадків (центроїди) та сукупність (полігони посилки) для комерційних квадратних кадрів та квадратних кадрів відповідно.

Перейдіть на веб-сайт SatScan http://www.satscan.org/ та запустіть лише простір, розповсюджений моделлю Пуассона, і ви отримаєте свої комерційні кластери квадратних кадрів у досить швидкому порядку. (Ви також можете використовувати квадратні кадри землі як ваше населення, а не квадратні масиви будівельної площі. Це може бути навіть кращою кількістю населення.)


Ви маєте рацію, що точки є центроїдами, але, на жаль, набір даних був складений іншими людьми з рівня посилок кожного округу та розподілявся лише у вигляді балів. Але SatScan виглядає дуже корисною програмою, тому я не забуватиму про інші програми.
Патрік
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.