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

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

> Построение корреляционного графа и его анализ
nokh
сообщение 8.03.2012 - 16:34
Сообщение #1





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



Пробую разобраться в элементах анализа социальных сетей (Social Network Analysis - SNA). Материал: в группах больных и здоровых измерена концентрация 30 биохимических показателей. Хочу сделать следующее:
1) На основании предварительно расчитанных ранговых корреляций построить для обеих групп корреляционные графы, в которых бы рёбра положительных и отрицательных корреляций изображались линиями разного типа, например: сплошной и пунктирной.
2) Используя в качестве порогового значения заданный мной показатель коэффициента корреляции (например +/- 0,3 или +/- 0,5) создать бинарную матрицу смежности. Т.е например, все корреляции менее 0,3 по абсолютной величине станут 0, а |0,3| и более - |1|.
3) Покрутить полученное решение разными алгоритмами и выбрать наиболее наглядное решение. Линии тоже - сплошные и пунктирные.
4) Желательно встроенными в пакет средствами определить кластеры показателей в полученном решении.
5) Сравнить 2 сети и построить некий обобщённый граф, в котором бы различия между ними были хорошо видны.

Много чего скачал и урывками просмотрел хелпы (Pajek, yEd Graph Editor, KrackPlot, Cytoscape, Meerkat, ORA и ещё несколько, включая 2 пакета для R). Основная проблема: разные пакеты не хотят работать с корреляциями или с отрицательными корреляциями. Если работают, то нет возможности автоматически генерировать из них матрицы смежности с разными пороговыми значениями r. Сложилось впечатление, что эволюция пакетов идёт исключительно в сторону возможностей обработки всё больших массивов данных и преимущественно из интернета, а у меня микросеть и несколько другая задача.
Хотелось бы сделать работу в таком ключе: http://www.barabasilab.com/pubs/CCNR-ALB_P...NetMedicine.pdf

Кто работал с сетевым анализом? Подскажите, пожалуйста, какой пакет подойдёт для моих целей? Может посоветуете разные программы для отдельных этапов? Не понятно пока как сравнить сети и визуализировать различия.

PS Всех женщин-участников и читателей форума - с Праздником! Успехов в научных и житейских делах!

Сообщение отредактировал nokh - 8.03.2012 - 17:02
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
 
Открыть тему
Ответов
p2004r
сообщение 8.03.2012 - 20:57
Сообщение #2





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



Все манипуляции с графами может делать igraph в R. В том числе находить кластеры узлов. Преобразовать матрицу коэффициентов корреляции как описано проблем никаких не составляет.

Что касается найти общее в двух графах с именованными узлами, то по моему это просто проверка ребер на существование (или равенство для ориентированного графа).

Красиво выводит графы graphviz. Он тоже интегрирован в R (только надо брать по моему с биокондуктора).

А цель именно освоить манипуляции с графами, или получить информацию от датасета?


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nokh
сообщение 11.03.2012 - 08:51
Сообщение #3





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



Цитата(p2004r @ 8.03.2012 - 22:57) *
Что касается найти общее в двух графах с именованными узлами, то по моему это просто проверка ребер на существование (или равенство для ориентированного графа).
А цель именно освоить манипуляции с графами, или получить информацию от датасета?

Цель именно в освоении этой технологии: хотелось посмотреть как она работает в качестве самостоятельно нестатистического метода, хотя и базирующегося на исходных статистических данных: насколько интерпретируемо расположатся вершины в пространстве, что может дать информации о числе связей каждой вершины и т.п.
В принципе, сама задача уже решена. Мы провели 2 нелинейных анализа главных компонент отдельно для группы доноров и группы больных, выделили факторы, сравнили 2 факторные структуры отдельно для каждого фактора (с помощью коэффициентов конгруэнтности) и целиком (с помощью прокрустового анализа), по остаткам прокрустового анализа нашли показатели, по которым факторные структуры наиболее отличались. Оказалось, что в группе здоровых ряд показателей дали нагрузку и на первый и на второй фактор, тогда как в группе больных они чётко разделились по факторам. На основании этого я предположил, что число связей между показателями больше в группе здоровых, а в группе больных число связей сокращается, а их сила увеличивается. Тупо посчитали корреляции более 0,5 в обеих группах и подтвердили предположение. Вот я и задумался: а нельзя ли эти связи представить наглядно в виде корреляционного графа, а если возможно, то и сравнить 2 структуры с помощью технологий сетевого анализа.
В терминологии SNA я пока не силён. Если "проверка рёбер на существование (или равенство для ориентированного графа)" это оценка статистической значимости корреляции, то тут не всё однозначно. Поскольку одна группа была в 2 раза больше другой, то в одной статистически значимыми были связи c r=0,3, а во второй - только с r=0,5. Поэтому я и решил "плясать" не от значимости, а от r.
Цитата(DoctorStat @ 8.03.2012 - 23:59) *
Бегло прочитал рекомендуемую англоязычную статью. Из нее следует, что простые коэффициенты корреляции не подойдут. Причина этого аналогична проблеме вычисления частных коэффициентов корреляции для множественной регрессии. Предположим, что у нас есть последовательность реакций превращения веществ: 1 => 2 => 3. Коэффициент корреляции этой схемы r13 положителен, т.к. чем больше вещества 1, тем больше получится вещества 3. Но непосредственной связи (химич.реакции) для узлов 1 и 3 нет, следовательно, не существует и соединяющего эти узлы ребра. Таким образом, прямое использование матрицы корреляций не позволяет построить метаболическую сеть взаимодействия веществ.

Думаю, попробовать всё равно стоит. Ведь чем длиннее цепочка, тем слабее связь элементов на её концах. Поэтому, подобрав удачное пороговое значение корреляции для её включения с сеть, вероятно возможно добиться, такого графа, когда ребра между 1 и 3 не будет.
***
К сожалению за свободную неделю особо не продвинулся, а сейчас времени будет меньше. Склоняюсь к мысли, что возможно начинать нужно было не с корреляций и SNA, а с чего-то типа путевого анализа или SEM. А богатые возможности накачанного софта использовать исключительно для визуализации полученного решения. Graphviz скачал, но ещё не смотрел (в R он идёт как rgraphviz).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Сообщений в этой теме
- nokh   Построение корреляционного графа и его анализ   8.03.2012 - 16:34
- - p2004r   Все манипуляции с графами может делать igraph в R....   8.03.2012 - 20:57
|- - nokh   Цитата(p2004r @ 8.03.2012 - 22:57) Ч...   11.03.2012 - 08:51
- - DoctorStat   Цитата(nokh @ 8.03.2012 - 17:34) Хот...   8.03.2012 - 21:59
|- - p2004r   Цитата(DoctorStat @ 8.03.2012 - 21:5...   8.03.2012 - 23:03
- - arbaiten   вот отличная статья на тему SNA http://webscience....   2.04.2013 - 19:06
|- - nokh   Цитата(arbaiten @ 2.04.2013 - 22:06)...   5.05.2013 - 19:28
|- - p2004r   Цитата(nokh @ 5.05.2013 - 19:28) не ...   6.05.2013 - 21:30
- - 100$   Вынужден сдуть пыль с этой темы. Nokh, у меня воз...   19.01.2017 - 17:48
|- - nokh   Цитата(100$ @ 19.01.2017 - 19:4...   20.01.2017 - 22:01
|- - 100$   Цитата(nokh @ 20.01.2017 - 22:01) Ве...   21.01.2017 - 12:50
|- - passant   Цитата(100$ @ 21.01.2017 - 11:5...   21.01.2017 - 13:55
|- - nokh   Цитата(100$ @ 21.01.2017 - 14:5...   23.01.2017 - 09:11
|- - p2004r   Цитата(nokh @ 23.01.2017 - 09:11) ре...   23.01.2017 - 11:18
|- - 100$   Цитата(nokh @ 23.01.2017 - 09:11) Га...   23.01.2017 - 11:28
|- - 100$   Цитата(nokh @ 23.01.2017 - 09:11) Га...   26.01.2017 - 18:32
|- - passant   Цитата(100$ @ 26.01.2017 - 17:3...   27.01.2017 - 18:40
|- - 100$   Цитата(passant @ 27.01.2017 - 18:40)...   27.01.2017 - 20:35
- - 100$   Джентльмены, спасибо. Ажно глаза разбегаются.   21.01.2017 - 15:18


Добавить ответ в эту темуОткрыть тему