![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 24 Регистрация: 11.06.2014 Пользователь №: 26460 ![]() |
Здравствуйте, коллеги! Прошу помощи в анализе данных.
Задача исследования - оценить связь между генотипом (15 SNP), "промежуточным фенотипом" (параметры биохимии, иммунологии и др.), исходом (ЗНО есть/нет). Существующий сервис "SNPstats" (http://bioinfo.iconcologia.net/SNPstats_web) выдает отношения шансов, "adjustet by фактор1+фактор2+...", используется при этом "logistic regression models" (то есть, логит-регрессию?). Хотелось бы поточнее узнать, что значит "adjusted by". Кроме того, в данной програме остается "за кадром", какой из факторов является ведущим. Возможно, есть какие то альтернативные методы анализа, позволяющие оценить вклад конкретных факторов? Посоветуйте, пожалуйста. Заранее благодарен. И есть ещё один вопрос: По разным SNP имеется разное количество генотипированных, как и разное количество известных значений по каждому из "промежуточных фенотипов" и исходов. То есть, грубо говоря, выборки по каждому из SNP перекрываются только отчасти. Нужно ли в этом случае рассматривать проблему множественных сравнений? Спасибо! |
|
![]() |
![]() |
![]() |
![]()
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 24 Регистрация: 11.06.2014 Пользователь №: 26460 ![]() |
Добрый день, коллеги!
Изучение вопроса привело меня к необходимости использовать random forests, а именно - модификацию, доступную в пакете party для R (cforest), где для построения леса используются "безошибочные" деревья, т.к. в этом случае адекватно оценивается важность переменных и нет преференций для количественных данных (как в "стандартном" random forests)[Strobl, 2007]. Кроме того, необходимо вычислять "кондиционную" значимость, которая адекватнее в случае коррелированных переменных [Strobl, 2009]. И тут возникает следующее препятствие: missing values, которые в моих данных для некоторых параметров составляют более 50%. Однако, и на этот счет у той же "тёти" Strobl нашлось решение [Hapfelmeier, 2013]. На данном этапе моего "мастерства" в R хватает только на импорт таблицы, вычисления значимости переменных и построения гистограммы значимости: read.table("gen2.txt", h=T)->gen2 set.seed(100) cfresults<-cforest(cr~.,data=gen2,controls=cforest_unbiased(mtry=10,ntree=100)) varimp(cfresults)->vi1 par(las=2) barplot(sort(vi1),main="Variable importance",space=0.5,cex.names=0.6) Прошу помощи у бывалых: 1) Каким должен быть код для вычисления кондиционной важности переменных при наличии пропусков данных? В приложении к [Hapfelmeier, 2013] есть код, но там другие задачи исследования и я не могу разобрать что к чему. 2) Как нарисовать индивидуальные деревья в cforest и правильно интерпретировать их? Может быть, кто - то соизволит поковыряться с моими данными, на этот случай прилагаю таблицу. Также прилагается Hapfelmeier, 2013 Сообщение отредактировал don - 25.09.2014 - 09:51
Прикрепленные файлы
![]() ![]() |
|
![]() |
![]() |
![]()
Сообщение
#3
|
|
![]() Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 ![]() |
Прошу помощи у бывалых: 1) Каким должен быть код для вычисления кондиционной важности переменных при наличии пропусков данных? В приложении к [Hapfelmeier, 2013] есть код, но там другие задачи исследования и я не могу разобрать что к чему. 2) Как нарисовать индивидуальные деревья в cforest и правильно интерпретировать их? Может быть, кто - то соизволит поковыряться с моими данными, на этот случай прилагаю таблицу. Также прилагается Hapfelmeier, 2013 1) Воспользоваться любым методом импутации данных А для отбора значимых предикторов можно использовать library(Boruta), на этом форуме уже есть пример её использования. Метод ищет значимые, а не просто имеющие большое значение с точки зрения рандомфореста предикторы. ![]() |
|
![]() |
![]() |
![]()
Сообщение
#4
|
|
Группа: Пользователи Сообщений: 24 Регистрация: 11.06.2014 Пользователь №: 26460 ![]() |
1) Воспользоваться любым методом импутации данных Благодарю за ответ! Объясню ситуацию: 1) Доступное количество наблюдений по снипам и статусу case/control = 430 2) Доступное количество наблюдений по параметрам х1, х2, х3 = 250, 200, 180 То есть, если использовать методы импутации, получится что половина (в лучшем случае) данных окажется импутированной. Позвольте вопрос: правомерно ли брать в анализ переменную, в которой половина данных импутирована? |
|
![]() |
![]() |
![]() ![]() |