Выбор групп объектов с минимальной внутригрупповой изменчиво

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
ymr3R9Jge
Активный участник
Сообщения: 117
Зарегистрирован: 31 окт 2011, 00:18
Репутация: 14
Откуда: Кривий Ріг

Выбор групп объектов с минимальной внутригрупповой изменчиво

Сообщение ymr3R9Jge » 31 янв 2014, 14:44

Здравствуйте! Задача состоит в следующем: у меня есть массив точек опробования - координаты (двумерные) плюс значения содержаний чего-либо. Мне нужно выбрать локальные группы точек, которые будут характеризоваться минимальной внутригрупповой изменчивостью (станд. отклонение, дисперсия или межквартильный размах). Какими средствами R (помимо методик кластерного анализа) можно решать подобные задачи.
PS логика подсказывает, что методы должны быть итеративными.

[ Сообщение с мобильного устройства ]

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Выбор групп объектов с минимальной внутригрупповой измен

Сообщение gamm » 31 янв 2014, 16:03

ymr3R9Jge писал(а):Здравствуйте! Задача состоит в следующем: у меня есть массив точек опробования - координаты (двумерные) плюс значения содержаний чего-либо. Мне нужно выбрать локальные группы точек, которые будут характеризоваться минимальной внутригрупповой изменчивостью (станд. отклонение, дисперсия или межквартильный размах). Какими средствами R (помимо методик кластерного анализа) можно решать подобные задачи.
очевидно, что обычный кластерный анализ (по значениям) тут вообще ни причем, поскольку он типологический, а тут нужен топологический. Для данной задачки подходит минимальное остовое дерево (minimal spaning tree), что дает нам иерархическую кластеризацию сверху вниз, либо иерархическая кластеризация снизу вверх (слиянием). Для этого нужно установить топологическое соседство (например, в триангуляции Делоне) и начать сливать соседние точки в кластеры, заменяя их центроидами (т..е. делать что-то типа метода Варда, но расстояние считать только с топологическими соседями).

Самый просто вариант для прикидки - включить в вектор значений координаты в виде штрафа (управляя их весом за счет нормализации), и использовать иерархическую кластеризацию слиянием, и посмотреть, есть ли "естественное расстояние" для разрезания на классы:

Код: Выделить всё

p.data<-as.matrix(cbind(scale(ny.covar),my.wts*scale(my.coord))
my.data.dist<-dist(my.data)
p.tree<-hclust(my.data.dist,method="ward")
plot(p.tree)
p.cls<-cutree(p.tree, k = 3)
при большом весе my.wts получим чисто топологическую кластеризацию, при нулевом - чисто типологическую.

Ответить

Вернуться в «R»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 22 гостя