Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Добавить ответ в эту темуОткрыть тему
> группировка наблюдений
drZub
сообщение 12.03.2015 - 16:01
Сообщение #1





Группа: Пользователи
Сообщений: 11
Регистрация: 2.06.2014
Пользователь №: 26440



Нужно проверсти кластерный анализ. У меня 20 наблюдений, но каждое из них делится на 2. То есть
наблюдение 1
a=0,8765
b=0,645

наблюдение 2
a=0,297
b=0,397

Итак далее. эти a и b не отделимы, их в одном наблюдении надо учитывать.

Но программа не может так работать. Она их воспринимает как разные наблюдения. Как же мне провести кластерный анализ по 20 наблюдениям не разделяя поднаблюдения?

У меня было предположение для каждого наблюдения вывести среднее, но я не знаю насколько это будет точно. Просто не вдаваясь в подробности, 0,87 консистенция раствора. 0,6 и выше это хорошо. ниже плохо. Может быть у одного под 0,9, а у второго раствора 0,3. Среднее тут некорретно.
Тут как бы вещество и ко-вещество.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nokh
сообщение 12.03.2015 - 17:49
Сообщение #2





Группа: Пользователи
Сообщений: 1202
Регистрация: 13.01.2008
Из: Челябинск
Пользователь №: 4704



Цитата(drZub @ 12.03.2015 - 18:01) *
Нужно проверсти кластерный анализ. У меня 20 наблюдений, но каждое из них делится на 2. То есть
наблюдение 1
a=0,8765
b=0,645

наблюдение 2
a=0,297
b=0,397

Итак далее. эти a и b не отделимы, их в одном наблюдении надо учитывать.

Но программа не может так работать. Она их воспринимает как разные наблюдения. Как же мне провести кластерный анализ по 20 наблюдениям не разделяя поднаблюдения?

У меня было предположение для каждого наблюдения вывести среднее, но я не знаю насколько это будет точно. Просто не вдаваясь в подробности, 0,87 консистенция раствора. 0,6 и выше это хорошо. ниже плохо. Может быть у одного под 0,9, а у второго раствора 0,3. Среднее тут некорретно.
Тут как бы вещество и ко-вещество.

Пока не понятно: у вас 20 наблюдений (случаев, строк), допустим каждое делится на 2, а сколько признаков (атрибутов, колонок)? Есть ли они вообще или у вас 20 строк и 2 колонки (а и b)? Опишите структуру данных и цель анализа подробнее (но не вдаваясь в специальные предметные подробности).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
drZub
сообщение 12.03.2015 - 18:39
Сообщение #3





Группа: Пользователи
Сообщений: 11
Регистрация: 2.06.2014
Пользователь №: 26440



nokh, лучший способ оисать структуру данных, это её показать их.
тут пример в экселе
Прикрепленные файлы
Прикрепленный файл  Book1.zip ( 9,26 килобайт ) Кол-во скачиваний: 222
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nokh
сообщение 13.03.2015 - 11:55
Сообщение #4





Группа: Пользователи
Сообщений: 1202
Регистрация: 13.01.2008
Из: Челябинск
Пользователь №: 4704



Цитата(drZub @ 12.03.2015 - 20:39) *
nokh, лучший способ оисать структуру данных, это её показать их.
тут пример в экселе

Плохо что цель не написали, возможно вам и не кластерный анализ нужен...
Но если исходить из того, что нужно найти наиболее похожие объекты из 20 и/или определделиться с числом групп (кластеров), то у меня 2 варианта.

1) Механистический. Раз нельзя усреднить сами данные по а и б, то нужно усреднить расстояния. Т.е. рассчитать расстояния между 20 объектами отдельно по а, и отдельно по б. Затем эти расстояния усреднить и по усреднённым расстояниям построить дендрограмму.

2) Редукция данных с обобщением. Организовать данные иначе: только 20 строк, а в колонках - 1) а, 2) б, 3) v1, 4) v2 и т.д. Далее эту матрицу обработать каким нибудь неограниченным (unconstrained) многомерным методом (главные компоненты или или факторный анализ) или, если предполагается не корреляция, а зависимость (например, v1, v2 и т.д. от а и б) - лучше ограниченным (PLS или анализ избыточности RDA). Выделить и интерпретировать по-существу процессов новые оси. Далее рассчитать значения по этим осям (типа факторные метки) для 20 объектов и провести кластеризацию по ним. Выгода здесь двойная. Во-первых, происходит обобщение данных и лучше понимается суть стоящих за ними процессов. Во-вторых, снижается влияние случайности выбора показателей для кластеризации на результат. Т.е. может оказаться что 3 показателя скоррелированы и отражают один процесс, а четвёрный - другой. При кластеризации исходных данных этот четвёртый будет заглушен тремя. Т.е. вы будете думать, что провели кластеризацию по всем данным, а реально - только по показателям, "работавшим" скоррелированно на какой-то один фактор. В случае кластеризации на факторных метках три скоррелированных показателя войдут в один фактор, а четвёртый даст второй и не потеряется.

Метод лучше брать Уорда, а с расстояними возможны варианты в зависимости от того что более желательно вычленить.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
anserovtv
сообщение 13.03.2015 - 14:42
Сообщение #5





Группа: Пользователи
Сообщений: 219
Регистрация: 4.06.2013
Из: Тверь
Пользователь №: 24927



Мне также Ваша задача кажется странной: для кластеризации слишком мало наблюдений.

1. Если я правильно понимаю структуру данных , то , строго говоря, корректно только применение сложного интегративного метода - кластерного анализа последовательностей. Метод основан на вычислении расстояний между переходами. Программные реализации есть, но возникнут другие проблемы. Вероятно, есть код R или SAS, не знаю.
2. Я бы попробовал применить совсем простые методы: сделать анализ отдельно для а и b, а полученные модели сравнить: если они похожи, то это и есть решение задачи. Если отличаются существенно, то это тоже результат. При этом для выявления групп можно использовать не только стандартный кластерный анализ, но и многомерное шкалирование , EM -кластеризацию, карты Кохонена.
3. Для выполнения кластерного анализа лучше использовать двухэтапный кластерный анализ: автоматически определяется число кластеров, указывается качество кластеризации и важность переменных.
Как вариант можно попробовать преобразовать данные: случаи с b задать как новые переменные к тем же наблюдениям. Считаю, что это корректно, так как переход всего в один шаг.
P.S. Я посчитал что-то по этим данным и для а и для b - программа не видит кластеры. Что произойдет при переходе от 6 к 20 наблюдениям - не знаю .

Сообщение отредактировал anserovtv - 13.03.2015 - 18:16
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
drZub
сообщение 13.03.2015 - 18:40
Сообщение #6





Группа: Пользователи
Сообщений: 11
Регистрация: 2.06.2014
Пользователь №: 26440



Спасибо за Ваши подробные ответы. А как мне правильно расчитать расстояния?
В SPSS есть этот кластерного анализа последовательностей? Какой Вы имеете ввиду анализ провести отдельно для a и b? Если двухэтапный кластерный анализ, то есть ли в SPSS его реализация. Метод Уорда я точно знаю есть.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
anserovtv
сообщение 13.03.2015 - 19:23
Сообщение #7





Группа: Пользователи
Сообщений: 219
Регистрация: 4.06.2013
Из: Тверь
Пользователь №: 24927



Двухэтапный кластерный анализ есть в SPSS.

КА последовательностей есть в SQL Server, но это очень сложно, не советую.
Вроде бы можно использовать и специальный модуль MATLAB. Это тоже сложно.

Я применял двухэтапный КА для а и b. Метрику для вычисления расстояний нужно выбрать исходя из содержания данных.
Очень много различных метрик для КА в пакете PAST.
Я бы начал с многомерного шкалирования для предварительного определения числа групп (нужно предварительно вычислить расстояния!!)
Вы плохо описали структуру данных, я не все понимаю.

Сообщение отредактировал anserovtv - 13.03.2015 - 20:46
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nokh
сообщение 13.03.2015 - 19:52
Сообщение #8





Группа: Пользователи
Сообщений: 1202
Регистрация: 13.01.2008
Из: Челябинск
Пользователь №: 4704



Цитата(drZub @ 13.03.2015 - 20:40) *
А как мне правильно расчитать расстояния?
В SPSS есть этот кластерного анализа последовательностей? Какой Вы имеете ввиду анализ провести отдельно для a и b? Если двухэтапный кластерный анализ, то есть ли в SPSS его реализация. Метод Уорда я точно знаю есть.

Я не знаю, ковыряться в SPSS нет времени. Но любые программы сначала считают расстояния, а потом уже по ним кластеризуют. Расстояния можно посмотреть где-то в результатах. Я бы пошёл по пути 2) с использованием анализа главных компонент для простоты.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 16.03.2015 - 11:28
Сообщение #9





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(drZub @ 12.03.2015 - 16:01) *
Нужно проверсти кластерный анализ. У меня 20 наблюдений, но каждое из них делится на 2. То есть
наблюдение 1
a=0,8765
b=0,645

наблюдение 2
a=0,297
b=0,397

Итак далее. эти a и b не отделимы, их в одном наблюдении надо учитывать.

Но программа не может так работать. Она их воспринимает как разные наблюдения. Как же мне провести кластерный анализ по 20 наблюдениям не разделяя поднаблюдения?

У меня было предположение для каждого наблюдения вывести среднее, но я не знаю насколько это будет точно. Просто не вдаваясь в подробности, 0,87 консистенция раствора. 0,6 и выше это хорошо. ниже плохо. Может быть у одного под 0,9, а у второго раствора 0,3. Среднее тут некорретно.
Тут как бы вещество и ко-вещество.


Тут можно трансформировать данные в пригодный вид для анализа "не структурными" методами ML. Просто оставьте "a" неизменным, а вместо "b" (в отдельную переменную) пишите a-b или a/b (или обе величины сразу).

Конечно это немного затруднит логику анализа, но всё имеет свою цену.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
anserovtv
сообщение 17.03.2015 - 17:39
Сообщение #10





Группа: Пользователи
Сообщений: 219
Регистрация: 4.06.2013
Из: Тверь
Пользователь №: 24927



Кластерный анализ последовательностей Sequence Clustering широко применяется в биоинформатике (и в бизнес-аналитике).
Существует скрипт R http://www.r-bloggers.com/a-sequence-clustering-model-in-r/
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 17.03.2015 - 20:55
Сообщение #11





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(anserovtv @ 17.03.2015 - 17:39) *
Кластерный анализ последовательностей Sequence Clustering широко применяется в биоинформатике (и в бизнес-аналитике).
Существует скрипт R http://www.r-bloggers.com/a-sequence-clustering-model-in-r/


Какое отношение имеет последовательность в которой возможны перестановки к данным топикстартера?


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
anserovtv
сообщение 17.03.2015 - 21:30
Сообщение #12





Группа: Пользователи
Сообщений: 219
Регистрация: 4.06.2013
Из: Тверь
Пользователь №: 24927



Цитата(p2004r @ 17.03.2015 - 20:55) *
Какое отношение имеет последовательность в которой возможны перестановки к данным топикстартера?

Слово перестановка здесь не используется и я не использовал.
Кластерный анализ последовательностей - это интегративный метод , сочетающий в себе анализ последовательностей и кластерный анализ.
Читайте Д. Макленнен и др. SQL Server 2008 Data mining ИАД 2009. стр 373 и далее.
Да , чтобы его использовать, эти данные нужно несколько преобразовать.
В общем случае метод использует и цепи Маркова.
Диаграмма кластеров в SQL будет похожа на диаграмму в Deductor со связями между кластерами. но и с вероятностями перехода (алгоритм Microsoft Sequence Cluctering).
Считаю, что в этом случае данный метод наиболее применим из того, что известно мне. Остальные подходы ( в том числе и мои) можно считать наивными.

Следующий по сложности метод в этом ряду - кластерный анализ временных рядов (здесь применять нельзя).
В Россси , по моим сведениям, этими методами почти никто не занимается.

Сообщение отредактировал anserovtv - 17.03.2015 - 21:56
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 17.03.2015 - 21:47
Сообщение #13





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



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


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
anserovtv
сообщение 18.03.2015 - 07:08
Сообщение #14





Группа: Пользователи
Сообщений: 219
Регистрация: 4.06.2013
Из: Тверь
Пользователь №: 24927



Определение последовательности на стр. 374.
В математике последовательность может состоять из двух чисел, здесь аналогично: начальное состояние - конечное состояние.
Судя по описанию алгоритма в этой книге, метод применим и в этом случае.
/ Цепи Маркова - первого порядка . Рисунок на стр.391./

В алгоритме применяется EM-кластеризация.

Сообщение отредактировал anserovtv - 18.03.2015 - 09:54
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 18.03.2015 - 12:42
Сообщение #15





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(anserovtv @ 18.03.2015 - 07:08) *
Определение последовательности на стр. 374.
В математике последовательность может состоять из двух чисел, здесь аналогично: начальное состояние - конечное состояние.
Судя по описанию алгоритма в этой книге, метод применим и в этом случае.
/ Цепи Маркова - первого порядка . Рисунок на стр.391./

В алгоритме применяется EM-кластеризация.


ну тогда это подходит и под определение временной серии smile.gif которую почему то "нельзя использовать" smile.gif

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


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

2 страниц V   1 2 >
Добавить ответ в эту темуОткрыть тему