Кластеризация пространственных данных в R


12

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

Каждый файл содержит данные в сетке для 358416 точек, где приблизительно 50% являются земельными участками и помечены значением 99,99, которое будет NA. Формат данных:

   lon     lat   sst
-10.042  44.979  12.38
 -9.998  44.979  12.69
 -9.954  44.979  12.90
 -9.910  44.979  12.90
 -9.866  44.979  12.54
 -9.822  44.979  12.37
 -9.778  44.979  12.37
 -9.734  44.979  12.51
 -9.690  44.979  12.39
 -9.646  44.979  12.36

Я попробовал метод кластеризации CLARA и получил некоторые, по-видимому, хорошие результаты, но мне также кажется, что это просто сглаживание (группирование) изолиний. Тогда я не уверен, что это лучший метод кластеризации для анализа пространственных данных.

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

Заранее спасибо.


2
Вам следует проверить файл cran.r-project.org/web/views/Spatial.html . Есть несколько пакетов, которые имеют название кластера, что, вероятно, будет интересно.
Энди W

Вы нашли какой-нибудь хороший пакет R для кластеризации пространственных данных?
Каптан

@kaptan К сожалению, я не сделал, и это один из
pacomet

(x,y,T)R3R

Ответы:


2

Существует другой подход для масштабируемой кластеризации, подход «разделяй и властвуй», параллельная кластеризация и инкрементная. Это для общего подхода после того, как вы можете использовать обычные методы кластеризации. Хороший метод кластеризации, который я действительно ценю, - это DBSCAN (пространственная кластеризация приложений с шумом на основе плотности), это один из наиболее часто используемых алгоритмов кластеризации.


Хорошо, я поищу DBSCAN и попробую. Спасибо
pacomet

Если какой-то ответ помог вам или вы нашли другой способ, лучше дать нам, так что все сообщество воспользуется этим. Или выберите ответ, чтобы закрыть вопрос, спасибо.
404Dreamer_ML

Извините за задержку с ответом, но дело в том, что у меня не так много времени, чтобы попробовать dbscan, и первые попытки привели к проблеме с памятью. R говорит, что не может выделить вектор. Я начинаю с разнесенной на 4 км сетки с 779191 точками, которая заканчивается при удалении наземных (не действительных) точек SST на 300000 точек. Может быть, я не получаю правильный подход, любая подсказка будет оценена.
пакомет

1
Привет, я до сих пор не могу найти решение. Я прочитал несколько документов о DBSCAN и у меня есть несколько вопросов о. Как найти минимальное расстояние с R? Поскольку мои данные представляют собой трехмерную долготу, широту и температуру, какое «расстояние» мне следует использовать? какой размер связан с этим расстоянием? температура? Есть ли способ определить минимальное количество точек для кластера? Поиск в Google Я не смог найти пример R для использования dbscan в наборе данных, похожем на мой, знаете ли вы какой-либо веб-сайт с такими примерами? Так что я могу читать и пытаться приспособиться к своему делу.
Еще

0

PySAL - это хорошо документированная библиотека Python для пространственного анализа, которая имеет некоторую кластеризацию .

Еще одна библиотека python на стадии разработки, ориентированная на пространственную кластеризацию, - это clusterPy (презентация в формате PDF) .

Программное обеспечение с графическим интерфейсом GeoGrouper с более ограниченным выбором алгоритмов кластеризации, но с хорошим интерфейсом отображения .


Спасибо, я никогда не работал с питоном. Я попытаюсь найти решение R
pacomet
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.