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

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

5 страниц V  « < 2 3 4 5 >  
Добавить ответ в эту темуОткрыть тему
> multifactor dimensionality reduction
_alena_
сообщение 21.03.2012 - 10:57
Сообщение #46





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



Цитата(YVR @ 21.03.2012 - 09:49) *
А по выборке есть закономерности:
вероятность прогресса = 1 - A - B + 2AB
где:
В = (С + D) / 2
А - Shunt (1 - наличие, 0 - отсутствие)
C - AG Terapia (1 - наличие, 0 - отсутствие)
D - AIK (1 - наличие, 0 - отсутствие)

наличие-2, отсутствие-1. как была получена такого рода закономерность вообще не понятно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
YVR
сообщение 21.03.2012 - 11:01
Сообщение #47





Группа: Пользователи
Сообщений: 63
Регистрация: 20.03.2012
Из: Ташкент
Пользователь №: 23582



Цитата(_alena_ @ 21.03.2012 - 12:57) *
наличие-2, отсутствие-1. как была получена такого рода закономерность вообще не понятно.


Банально. Элементарная теория вероятностей. Если выложите полные данные, то можно будет получить более уточненные закономерности в виде математической модели, где вместо вероятности будет частота.


Signature
Yury V. Reshetov

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
_alena_
сообщение 21.03.2012 - 11:01
Сообщение #48





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



Цитата(p2004r @ 21.03.2012 - 09:53) *
лучше больше случаев видеть конечно.

переменная Statiny : что означают её уровни?

сейчас загружу остальное... но я ж говорю мне бы понять самой что делать да как....
Статины:
1-не применяются
2-применяются (неэффективная доза)
3-применяются (эффективная доза)
4-прекратили прием (эффективная доза)
5-прекратили прием (неэффективная доза)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
YVR
сообщение 21.03.2012 - 11:05
Сообщение #49





Группа: Пользователи
Сообщений: 63
Регистрация: 20.03.2012
Из: Ташкент
Пользователь №: 23582



Цитата(_alena_ @ 21.03.2012 - 13:01) *
но я ж говорю мне бы понять самой что делать да как....


Учиться, учиться и еще раз учиться (с) В. И. Ленин

Теория вероятностей не является секретной, поэтому изучить ее никогда не поздно.


Signature
Yury V. Reshetov

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
_alena_
сообщение 21.03.2012 - 11:21
Сообщение #50





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



файл
Прикрепленные файлы
Прикрепленный файл  1.rar ( 13,48 килобайт ) Кол-во скачиваний: 277
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
YVR
сообщение 21.03.2012 - 11:45
Сообщение #51





Группа: Пользователи
Сообщений: 63
Регистрация: 20.03.2012
Из: Ташкент
Пользователь №: 23582



Цитата(_alena_ @ 21.03.2012 - 13:21) *
файл


СА уже точно можно исключать

По остальным параметрам еще посмотрю. На это потребуется время.

Сообщение отредактировал YVR - 21.03.2012 - 11:46


Signature
Yury V. Reshetov

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 21.03.2012 - 11:52
Сообщение #52





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



Цитата(_alena_ @ 21.03.2012 - 11:01) *
сейчас загружу остальное... но я ж говорю мне бы понять самой что делать да как....
Статины:
1-не применяются
2-применяются (неэффективная доза)
3-применяются (эффективная доза)
4-прекратили прием (эффективная доза)
5-прекратили прием (неэффективная доза)


хорошо еще и его учтем сейчас,

по неполным данным логит регрессия полностью разделяет Progress

минимальная модель --- glm(formula = Progres ~ OP + Shunt + ChSS + AG.therapia + cholesterin,
family = binomial(logit), data = data.sh.f)


сейчас расчеты закончу и прокомментирую


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
_alena_
сообщение 21.03.2012 - 12:32
Сообщение #53





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



Цитата(_alena_ @ 21.03.2012 - 08:19) *
у меня есть много вопросов....
Что я уже делала с этими данными - строила корреляцию Кенделла и Тауба, результаты практически не отличаются...затем все переменные вводила в дискриминантный анализ и логистическую регрессию. результаты тоже между собой не давали особых отличий. Тоесть у меня если правильно - то появился список этих переменных?
Есть еще вопрос который стоило задать вначале - правильно ли я определила тип переменных???
Если все до этого было более менее правильно то теперь мне еще нужно точно так же с помощью MDR проверить какие переменные влияют на "Прогресс"

почему на мои вопросы никто не дал ни единого ответа frown.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 21.03.2012 - 12:34
Сообщение #54





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



Цитата(p2004r @ 21.03.2012 - 11:52) *
хорошо еще и его учтем сейчас,

сейчас расчеты закончу и прокомментирую


ха, над статинами думать надо как закодировать, так сходу не придумалось smile.gif

Код
# читаем данные в таблицу data
data<-read.csv2("1.csv")

## сменим уровни шкал в таблицу data.sh

# копируем оригинальные данные
data.sh <- data

data.sh$Progres[data$Progres==1]<-0  # перекодируем все 1 по показателю Progres в
                                                          # исходной таблице data в 0 таблицы data.sh
data.sh$Progres[data$Progres==2]<-1  # тоже для 2, заменяем их на  1

data.sh$AIK[data$AIK==1]<-0
data.sh$AIK[data$AIK==2]<-1

data.sh$CA[data$CA==1]<-0
data.sh$CA[data$CA==2]<-1

data.sh$Progres[data$Progres==1]<-0
data.sh$Progres[data$Progres==2]<-1

data.sh$OP[data$OP==1]<-0
data.sh$OP[data$OP==2]<-1

data.sh$Shunt[data$Shunt==1]<-0
data.sh$Shunt[data$Shunt==2]<-1

data.sh$pol[data$pol==1]<-0
data.sh$pol[data$pol==2]<-1

data.sh$AG.therapia[data$AG.therapia==1]<-0
data.sh$AG.therapia[data$AG.therapia==2]<-1

data.sh$stenoz.a.renalis[data$stenoz.a.renalis==1]<-0
data.sh$stenoz.a.renalis[data$stenoz.a.renalis==2]<-1

data.sh$stenoz.arterij.nog[data$stenoz.arterij.nog==1]<-0
data.sh$stenoz.arterij.nog[data$stenoz.arterij.nog==2]<-1

data.sh$insult.v.anamnese[data$insult.v.anamnese==1]<-0
data.sh$insult.v.anamnese[data$insult.v.anamnese==2]<-1

data.sh$diabetus.melitus[data$diabetus.melitus==1]<-0
data.sh$diabetus.melitus[data$diabetus.melitus==2]<-1


# заменяем tip на три переменных, каждая из которых содержит признак только одного типа кровобращения
tip.1<- rep(0,length(data.sh$tip.krovoobraschenija))
tip.2<- rep(0,length(data.sh$tip.krovoobraschenija))
tip.3<- rep(0,length(data.sh$tip.krovoobraschenija))
tip.1[data.sh$tip.krovoobraschenija==1]<-1
tip.2[data.sh$tip.krovoobraschenija==2]<-1
tip.3[data.sh$tip.krovoobraschenija==3]<-1


# склеиваем новые переменные тип в одну таблицу с трансформированными данными
data.sh.f<- cbind(data.sh, tip.1, tip.2, tip.3)

# определяем модель логистической регрессии
model<- glm(Progres~AIK+OP+Shunt+vozrast+IMT+Stepen.Oz.+ChSS+AD+AG.therapia+cholesterin+diabetus.m
elitus+tip.1+tip.2+tip.3,
            family=binomial(logit),
            data.sh.f)

# оптимизируем модель по AIC, сокращая число предикторов до минимального
model.f<-step(model)

> model.f

Call:  glm(formula = Progres ~ Shunt + cholesterin + diabetus.melitus +
    tip.1 + tip.2, family = binomial(logit), data = data.sh.f)

Coefficients:
     (Intercept)             Shunt       cholesterin  diabetus.melitus  
         -0.9145            1.8652           -0.3532            1.5293  
           tip.1             tip.2  
          1.5598            1.4139  

Degrees of Freedom: 61 Total (i.e. Null);  56 Residual
Null Deviance:        85.69
Residual Deviance: 67.62     AIC: 79.62



library(lattice)

# как разделяет полная модель
densityplot( ~ predict(model,
                       type = "response"),
            groups = data.sh.f$Progres,
            plot.points = "rug",
            auto.key = TRUE)

# как разделяет оптимальная по AIC
densityplot( ~ predict(model.f,
                       type = "response"),
            groups = data.sh.f$Progres,
            plot.points = "rug",
            auto.key = TRUE)

# оцениваем насколько модели могут что то предсказывать


library(pROC)

roc.model <- roc(data.sh.f$Progres,               # данные из выборки
                        predict(model, type="response")) # предсказание модели

roc.model.f <- roc(data.sh.f$Progres,                 # данные из выборки
                   predict(model.f, type="response")) # предсказание модели

# Рисуем ROC кривые для моделей
> plot(roc.model)
> lines.roc(roc.model.f, col="red")
> auc(roc.model.f)
Area under the curve: 0.7931
> auc(roc.model)
Area under the curve: 0.8286


Вот как то так если логистическая регрессия используется


вот протокол исключения параметров из модели

Код
Start:  AIC=90.87
Progres ~ AIK + OP + Shunt + vozrast + IMT + Stepen.Oz. + ChSS +
    AD + AG.therapia + cholesterin + diabetus.melitus + tip.1 +
    tip.2 + tip.3


Step:  AIC=90.87
Progres ~ AIK + OP + Shunt + vozrast + IMT + Stepen.Oz. + ChSS +
    AD + AG.therapia + cholesterin + diabetus.melitus + tip.1 +
    tip.2

                   Df Deviance    AIC
- Stepen.Oz.        1   62.873 88.873
- IMT               1   62.987 88.987
- ChSS              1   63.034 89.034
- AD                1   63.407 89.407
- AIK               1   63.509 89.509
- OP                1   63.598 89.598
- vozrast           1   63.662 89.662
- tip.2             1   63.776 89.776
- diabetus.melitus  1   63.925 89.925
- AG.therapia       1   64.572 90.572
- tip.1             1   64.742 90.742
<none>                  62.869 90.869
- cholesterin       1   67.407 93.407
- Shunt             1   67.655 93.655

Step:  AIC=88.87
Progres ~ AIK + OP + Shunt + vozrast + IMT + ChSS + AD + AG.therapia +
    cholesterin + diabetus.melitus + tip.1 + tip.2

                   Df Deviance    AIC
- ChSS              1   63.037 87.037
- IMT               1   63.389 87.389
- AD                1   63.409 87.409
- AIK               1   63.589 87.589
- OP                1   63.608 87.608
- vozrast           1   63.662 87.662
- tip.2             1   63.787 87.787
- diabetus.melitus  1   63.954 87.954
- AG.therapia       1   64.659 88.659
- tip.1             1   64.859 88.859
<none>                  62.873 88.873
- cholesterin       1   67.409 91.409
- Shunt             1   67.658 91.658

Step:  AIC=87.04
Progres ~ AIK + OP + Shunt + vozrast + IMT + AD + AG.therapia +
    cholesterin + diabetus.melitus + tip.1 + tip.2

                   Df Deviance    AIC
- AD                1   63.456 85.456
- IMT               1   63.640 85.640
- OP                1   63.721 85.721
- AIK               1   63.746 85.746
- tip.2             1   63.894 85.894
- vozrast           1   63.984 85.984
- diabetus.melitus  1   64.001 86.001
- AG.therapia       1   64.764 86.764
- tip.1             1   64.882 86.882
<none>                  63.037 87.037
- cholesterin       1   67.423 89.423
- Shunt             1   68.079 90.079

Step:  AIC=85.46
Progres ~ AIK + OP + Shunt + vozrast + IMT + AG.therapia + cholesterin +
    diabetus.melitus + tip.1 + tip.2

                   Df Deviance    AIC
- IMT               1   63.885 83.885
- AIK               1   64.043 84.043
- OP                1   64.053 84.053
- diabetus.melitus  1   64.535 84.535
- vozrast           1   64.610 84.610
- AG.therapia       1   64.863 84.863
- tip.2             1   64.873 84.873
<none>                  63.456 85.456
- tip.1             1   65.866 85.866
- cholesterin       1   67.721 87.721
- Shunt             1   68.349 88.349

Step:  AIC=83.89
Progres ~ AIK + OP + Shunt + vozrast + AG.therapia + cholesterin +
    diabetus.melitus + tip.1 + tip.2

                   Df Deviance    AIC
- AIK               1   64.305 82.305
- OP                1   64.479 82.479
- vozrast           1   65.102 83.102
- AG.therapia       1   65.497 83.497
- diabetus.melitus  1   65.546 83.546
- tip.2             1   65.785 83.785
<none>                  63.885 83.885
- tip.1             1   66.413 84.413
- cholesterin       1   67.830 85.830
- Shunt             1   68.972 86.972

Step:  AIC=82.31
Progres ~ OP + Shunt + vozrast + AG.therapia + cholesterin +
    diabetus.melitus + tip.1 + tip.2

                   Df Deviance    AIC
- OP                1   64.900 80.900
- AG.therapia       1   65.680 81.680
- vozrast           1   65.972 81.972
<none>                  64.305 82.305
- diabetus.melitus  1   66.572 82.572
- tip.1             1   67.013 83.013
- tip.2             1   67.361 83.361
- cholesterin       1   68.211 84.211
- Shunt             1   70.676 86.676

Step:  AIC=80.9
Progres ~ Shunt + vozrast + AG.therapia + cholesterin + diabetus.melitus +
    tip.1 + tip.2

                   Df Deviance    AIC
- AG.therapia       1   65.998 79.998
- vozrast           1   66.623 80.623
<none>                  64.900 80.900
- diabetus.melitus  1   66.981 80.981
- tip.1             1   67.535 81.535
- tip.2             1   67.586 81.586
- cholesterin       1   68.635 82.635
- Shunt             1   70.988 84.988

Step:  AIC=80
Progres ~ Shunt + vozrast + cholesterin + diabetus.melitus +
    tip.1 + tip.2

                   Df Deviance    AIC
- vozrast           1   67.619 79.619
<none>                  65.998 79.998
- tip.2             1   68.893 80.893
- diabetus.melitus  1   69.058 81.058
- tip.1             1   69.349 81.349
- cholesterin       1   69.964 81.964
- Shunt             1   71.574 83.574

Step:  AIC=79.62
Progres ~ Shunt + cholesterin + diabetus.melitus + tip.1 + tip.2

                   Df Deviance    AIC
<none>                  67.619 79.619
- cholesterin       1   70.782 80.782
- tip.2             1   70.954 80.954
- diabetus.melitus  1   71.087 81.087
- tip.1             1   71.458 81.458
- Shunt             1   73.848 83.848
> model.f

Call:  glm(formula = Progres ~ Shunt + cholesterin + diabetus.melitus +
    tip.1 + tip.2, family = binomial(logit), data = data.sh.f)

Coefficients:
     (Intercept)             Shunt       cholesterin  diabetus.melitus  
         -0.9145            1.8652           -0.3532            1.5293  
           tip.1             tip.2  
          1.5598            1.4139  

Degrees of Freedom: 61 Total (i.e. Null);  56 Residual
Null Deviance:        85.69
Residual Deviance: 67.62     AIC: 79.62

Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
_alena_
сообщение 21.03.2012 - 12:41
Сообщение #55





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



ну все здорово...спасибо за ваш труд. но извините мне от этого не тепло не холодно... я в спсс расчитываю... а не в R. тут мне понятны ваши действия, но боюсь что я не буду сейчас изучать дополнительно еще один язык... frown.gif сама ниче не делаю и людям голову морочу...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 21.03.2012 - 12:46
Сообщение #56





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



Цитата(_alena_ @ 21.03.2012 - 12:32) *
почему на мои вопросы никто не дал ни единого ответа frown.gif


По поводу кодирования признаков и выбора шкал измерения признаков:

тип кровообращения в одну переменную объединять не стоит, в анализе надо дать оценку наличию или отсутствию диагностического признака. поэтому заменяем один параметр "тип" на три эквивалентных --- тип1, тип 2, тип3.

В случае со статинами все сложнее, на самом деле там есть бинарный признак "прекратил терапию", бинарный признак "доза-терапии-эффективна", и бинарный признак "терапия велась".


Критерий эффективности признака для включения в модель целевой переменной это как меняется AIC модели в результате включения-исключения этого признака.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 21.03.2012 - 12:49
Сообщение #57





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



Цитата(_alena_ @ 21.03.2012 - 12:41) *
ну все здорово...спасибо за ваш труд. но извините мне от этого не тепло не холодно... я в спсс расчитываю... а не в R. тут мне понятны ваши действия, но боюсь что я не буду сейчас изучать дополнительно еще один язык... frown.gif сама ниче не делаю и людям голову морочу...



Не волнуйтесь так smile.gif
в SPSS есть и R smile.gif и логистическая регрессия... чего там увы нет, так заветной кнопки - "сделать зашибись!" frown.gif


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
_alena_
сообщение 21.03.2012 - 12:59
Сообщение #58





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



Цитата(p2004r @ 21.03.2012 - 11:49) *
чего там увы нет, так заветной кнопки - "сделать зашибись!" frown.gif

извините еще раз если вас обидела... просто действительно не знаю как с ним работать... в спсс вроде все просто выбрал выбрал все что интересует нажал кнопку и машина посчитала... вывела табличку... а как же тогда реализовать работу??? если вы говорите что там есть R??? алгоритмы закладены в спсс??? я запуталась.
и относительно разбивки это получается эти 2 переменные будут категориальные??? а остальное правильно?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 21.03.2012 - 13:09
Сообщение #59





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



Цитата(_alena_ @ 21.03.2012 - 12:59) *
извините еще раз если вас обидела... просто действительно не знаю как с ним работать... в спсс вроде все просто выбрал выбрал все что интересует нажал кнопку и машина посчитала... вывела табличку... а как же тогда реализовать работу??? если вы говорите что там есть R??? алгоритмы закладены в спсс??? я запуталась.
и относительно разбивки это получается эти 2 переменные будут категориальные??? а остальное правильно?


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

Можно например все переменные Вашей выборки свести к одной категориальной переменной. и что spss каким то способом выдаст что то полезное на выходе зная/ что это категориальная переменная?

2. В SPSS интегрирован R (по крайней мере в последних версиях). Алгоритм логистической регрессии и там и там остается алгоритмом логистической регрессии.

2. про "остальное" не понял.

Сообщение отредактировал p2004r - 21.03.2012 - 13:10


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 21.03.2012 - 13:18
Сообщение #60





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



Цитата(p2004r @ 21.03.2012 - 12:46) *
В случае со статинами все сложнее, на самом деле там есть бинарный признак "прекратил терапию", бинарный признак "доза-терапии-эффективна", и бинарный признак "терапия велась".


Вот преобразование статинов

Код
Статины:
1-не применяются
2-применяются (неэффективная доза)
3-применяются (эффективная доза)
4-прекратили прием (эффективная доза)
5-прекратили прием (неэффективная доза)


> statin.ter <- rep(1,length(data.sh$Statiny))
> statin.break <- rep(0,length(data.sh$Statiny))
> statin.doz  <- rep(0,length(data.sh$Statiny))
> statin.ter[data.sh$Statiny==0]<-0
> statin.break[data.sh$Statiny==4 | data.sh$Statiny==5]<-1
> statin.doz[data.sh$Statiny==3 | data.sh$Statiny==4]<-1
> statin.ter
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[39] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> statin.break
[1] 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
[39] 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0
> statin.doz
[1] 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0
[39] 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0


но они увы ничего в модели не добавляют

Код
> m.statin <-glm(Progres~ statin.break + statin.doz,
+             family=binomial(logit),
+             data.sh.f)
> roc.m.statin <- roc(data.sh.f$Progres,               # данные из выборки
+                  predict(m.statin, type="response")) # предсказание модели
> auc(roc.m.statin)
Area under the curve: 0.512


AUC практически равен 0.5

Сообщение отредактировал p2004r - 21.03.2012 - 13:30


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

5 страниц V  « < 2 3 4 5 >
Добавить ответ в эту темуОткрыть тему