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

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

> Логистическая регрессия?
mamalita
сообщение 9.11.2011 - 11:07
Сообщение #1





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



Добрый день! Прошу помощи в анализе данных. Мы имеем 100 человека больных с метастазами в печени, лечили их хирургическим путем и наблюдали их в течение 6 лет и диагностировали у них новые метастазы и рецидивы. Суть работы заключается в том, чтобы доказать, что реже всего на 1 и 2 годах наблюдения новые МТС возникают у пациентов с количеством МТС 2-3 (у нас были варианты количества от 2-6), и размер их должен быть 2-3 см. То есть кривая частоты прогресии имеет форму колокола обращенного вершиной вниз - 1 см - часто возникает прогрессия, больше 3 - тоже. Наиболее оптимальным является размер очага для хирургического лечения 2-3 см. Вопрос как представить эти данные и их анализировать: средний и суммарный размер не учитывают разницы: то ли у больного было 3 очага по 2 см то ли 1 и 6 см что совсем не благоприятно. Если брать каждый метастаз как отдельную переменную то у разных людей будет разное количество переменных (от 2 до 6штук), но этот вариант наиболее приемлем в соответствии с поставленной задачей. Теперь вопрос каким методом воспользоваться, чтобы доказать что идеальным для лечения является количество МТС 2-3 при размере 2-3см. Еще момент : размер МТС имеет мини манимальное округление до 0, 5 разброс от 1 до 6 см (т.е. всего 12 значений). Может быть их можно как-то объединить и логически видоизменить? Я уже просто голову сломала. Очень нужен свежий взгляд. Спасибо
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
4 страниц V   1 2 3 > »   
Открыть тему
Ответов (1 - 57)
p2004r
сообщение 9.11.2011 - 11:55
Сообщение #2





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



Цитата(mamalita @ 9.11.2011 - 10:07) *
Может быть их можно как-то объединить и логически видоизменить?


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

plot(density(c(первый,второй, остальные если есть),
from=0,to="максимального из всех ста"))

density()$y это набор фиксированных точек отражающий плотность распределения размера. Вне зависимости от числа метастазов это фиксированный набор переменных.

Ну или гистограмму строим, выбираем интервалы группировки и строим набор переменных соответсвующий интервалам группировки (сколько образований в каждый попало).


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 10.11.2011 - 12:35
Сообщение #3





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



Познания у меня не очень глубокие, поэтому не совсем Вас поняла. Плотность распределения размеров МТС у каждого больного? Или вообще плотность распределения размеров на всю выборку, тогда как выявить зависимость появления новых МТС.У меня программа Statistica 6, attestat. Спасибо за помощь!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 10.11.2011 - 15:50
Сообщение #4





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



Цитата(mamalita @ 9.11.2011 - 11:07) *
Добрый день! Прошу помощи в анализе данных. Мы имеем 100 человека больных с метастазами в печени, лечили их хирургическим путем и наблюдали их в течение 6 лет и диагностировали у них новые метастазы и рецидивы. Суть работы заключается в том, чтобы доказать, что реже всего на 1 и 2 годах наблюдения новые МТС возникают у пациентов с количеством МТС 2-3 (у нас были варианты количества от 2-6), и размер их должен быть 2-3 см. То есть кривая частоты прогресии имеет форму колокола обращенного вершиной вниз - 1 см - часто возникает прогрессия, больше 3 - тоже. Наиболее оптимальным является размер очага для хирургического лечения 2-3 см. Вопрос как представить эти данные и их анализировать: средний и суммарный размер не учитывают разницы: то ли у больного было 3 очага по 2 см то ли 1 и 6 см что совсем не благоприятно. Если брать каждый метастаз как отдельную переменную то у разных людей будет разное количество переменных (от 2 до 6штук), но этот вариант наиболее приемлем в соответствии с поставленной задачей. Теперь вопрос каким методом воспользоваться, чтобы доказать что идеальным для лечения является количество МТС 2-3 при размере 2-3см. Еще момент : размер МТС имеет мини манимальное округление до 0, 5 разброс от 1 до 6 см (т.е. всего 12 значений). Может быть их можно как-то объединить и логически видоизменить? Я уже просто голову сломала. Очень нужен свежий взгляд. Спасибо

Несколько сумбурно, но, думаю, в процессе работы задача уточнится.

1. Обучение модели.
Можно попробовать логистическую регрессию. Для начала взять 2 переменные: количество МТС и размер. Т.о., для каждого пациента будет одна строка из трех чисел: количество, размер, наличие рецидива (0 или 1). Эти данные ввести в программу и посчитать регрессию. Оценить ее качество путем построения ROC кривой и выбора оптимального (важного для исследователя) порога.

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

При дальнейшей работе, возможно, модель уточнится путем ввода дополнительных параметров, которые исследователь сочтет важными для результата.

Сообщение отредактировал Игорь - 10.11.2011 - 15:54


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 10.11.2011 - 20:40
Сообщение #5





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



В том то и проблема - какой размер брать. Когда у одного больного 2 метастаза: 1 см и 5 см, у второго 5 метастазов по 1 см, у третьего 4 метастаза: 1см, 2см, 4см, 3см и т.д., т.е. среднее не будет полноценно отражать проблему, т.к. нужно доказать что максимально эффективно излечиваются очаги размером 2-3 см, а наличие мелких или наоборот больших образований в разы ухудшает прогноз и повышает частоту развития рецидивов. Возможно опять объяснила сумбурно, обязательно напишите, постараюсь исправиться.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 10.11.2011 - 22:49
Сообщение #6





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



Трудность понятна, есть не просто число, но и размер к каждому числу.
Если вы хотите доказать имеющуюся у вас клиническую гипотезу о лучшем исходе для определенной комбинации признаков, то и создайте те группы сравнения, которые вам необходимы. Есть два исходных параметра - число МТС и их величина. По числу, выделите две группы "0" 2-3, и альтернативная вторая группа "1" >3-х МТС, также и по величине "0" 2-3 см и "1" >3см. Т.о. вы имеете уже 4 группы по сочетанию двух созданных вами групп сравнения 00 (лучший исход), 01,10,11(худщая комбинация). А теперь, посмотрите их различия по выживаемости, длительности без рецидивного или без метастатического течения, начните с кривых Каплан- Майера, если конечно для этого есть данные, т.е. есть время операции и время диагностики нового рецидива. Если различия будут, то можно эти две бинарные переменные использовать в дальнейшем моделировании, где будут и другие предикторы, например, гистологический клеточный тип (в виде бинарной переменной - благоприятный или нет) или возраст больного.

Сообщение отредактировал DrgLena - 10.11.2011 - 23:28
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 10.11.2011 - 22:56
Сообщение #7





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



Цитата(mamalita @ 10.11.2011 - 11:35) *
Познания у меня не очень глубокие, поэтому не совсем Вас поняла. Плотность распределения размеров МТС у каждого больного? Или вообще плотность распределения размеров на всю выборку, тогда как выявить зависимость появления новых МТС.У меня программа Statistica 6, attestat. Спасибо за помощь!


Ну R наверняка заработает на Вашем компьютере smile.gif

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

2 интервалы группировки находим в гистограмме всей выборки. Затем применяем к каждому больному. Эффект тот же "2 и более чисел" заменяется числом попаданий в интервалы группировки.

Выкладывайте пример данных попробуем вместе написать код.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 13.11.2011 - 11:29
Сообщение #8





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



Цитата(DrgLena @ 10.11.2011 - 23:49) *
Есть два исходных параметра - число МТС и их величина. По числу, выделите две группы "0" 2-3, и альтернативная вторая группа "1" >3-х МТС, также и по величине "0" 2-3 см и "1" >3см. Т.о. вы имеете уже 4 группы по сочетанию двух созданных вами групп сравнения 00 (лучший исход), 01,10,11(худщая комбинация). А теперь, посмотрите их различия по выживаемости, длительности без рецидивного или без метастатического течения, начните с кривых Каплан- Майера, если конечно для этого есть данные, т.е. есть время операции и время диагностики нового рецидива. Если различия будут, то можно эти две бинарные переменные использовать в дальнейшем моделировании, где будут и другие предикторы, например, гистологический клеточный тип (в виде бинарной переменной - благоприятный или нет) или возраст больного.

В целом Вашу мысль я поняла, но как группировать тех у кого 1 мтс - 1 см, второй - 3 см, третий 5см.

Пример данных прилагаю. Как загрузить R и какое-нибудь руководство к ней.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 13.11.2011 - 11:34
Сообщение #9





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



приложенные данные
Прикрепленные файлы
Прикрепленный файл  кол_во_размер_рецидив.rar ( 5,19 килобайт ) Кол-во скачиваний: 528
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 13.11.2011 - 11:42
Сообщение #10





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



Цитата(mamalita @ 13.11.2011 - 10:29) *
Пример данных прилагаю. Как загрузить R и какое-нибудь руководство к ней.


руководство по R на русском языке http://m7876.wiki.zoho.com/Introduction-to-R.html

сам R берем с крана http://cran.r-project.org/

Для виндовс
http://cran.r-project.org/bin/windows/base/


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





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



Цитата(mamalita @ 13.11.2011 - 10:34) *
приложенные данные


часть 1 smile.gif Импорт данных


сохраняем файл экселя как csv выбирая разделителем полей ";" ввиду печальной особенности русского экселя представлять десятичную точку как ","

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

после это импортируем в эксель файл функцией read.csv2() и сразу смотрим все ли пошло нормально с помощью функции str()

Код
> str(read.csv2("кол-во-размер-рецидив.csv"))
'data.frame':    93 obs. of  13 variables:
$ номер           : int  43 91 3 4 10 34 35 39 42 93 ...
$ кол.во          : int  5 5 3 2 2 4 5 6 6 6 ...
$ средний.размер  : num  1.6 1.4 2.33 3 3 2.25 2 1.17 1.5 1.25 ...
$ мтс1            : num  1 0.5 1 1 1 1 0.5 1 1 0.5 ...
$ мтс2            : num  1 0.5 1 5 5 1 1 1 1 1 ...
$ мтс3            : num  1 1 5 0 0 2 1.5 1 1 1 ...
$ мтс4            : num  1 1 0 0 0 5 2 1 2 1 ...
$ мтс5            : num  4 4 0 0 0 0 5 1.5 2 4 ...
$ мтс6            : num  0 0 0 0 0 0 0 1.5 2 0 ...
$ суммарный.размер: num  8 7 7 6 6 9 10 7 9 7.5 ...
$ рецидив         : int  1 1 1 1 1 1 1 1 1 1 ...
$ срок            : int  1 1 1 3 3 3 3 3 3 3 ...
$ рецидив.до.года : int  1 1 1 1 1 1 1 1 1 1 ...
>


как видим всё в порядке и мы можем смело сохранять данные для последующей обработки

Код
> data <- read.csv2("кол-во-размер-рецидив.csv")
>


ЗЫ ну а посмотреть на первые несколько строчек что у нас в data можно с помощью функции head()

Код
> head(data)
  номер кол.во средний.размер мтс1 мтс2 мтс3 мтс4 мтс5 мтс6 суммарный.размер
1    43      5           1.60  1.0  1.0    1    1    4    0                8
2    91      5           1.40  0.5  0.5    1    1    4    0                7
3     3      3           2.33  1.0  1.0    5    0    0    0                7
4     4      2           3.00  1.0  5.0    0    0    0    0                6
5    10      2           3.00  1.0  5.0    0    0    0    0                6
6    34      4           2.25  1.0  1.0    2    5    0    0                9
  рецидив срок рецидив.до.года
1       1    1               1
2       1    1               1
3       1    1               1
4       1    3               1
5       1    3               1
6       1    3               1


Сообщение отредактировал p2004r - 13.11.2011 - 12:24


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





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



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

Нас интересует как распределены размеры "мтс"

Код
> names(data)
[1] "номер"            "кол.во"           "средний.размер"   "мтс1"            
[5] "мтс2"             "мтс3"             "мтс4"             "мтс5"            
[9] "мтс6"             "суммарный.размер" "рецидив"          "срок"            
[13] "рецидив.до.года"



это переменные с 4 по 9, у них отсутствующие значения закодированы нолем (а надо NA)

выкусываем часть таблицы данных, заменяем 0 на NA:

Код
> # прицеливаемся :)
> head(data[,4:9])
  мтс1 мтс2 мтс3 мтс4 мтс5 мтс6
1  1.0  1.0    1    1    4    0
2  0.5  0.5    1    1    4    0
3  1.0  1.0    5    0    0    0
4  1.0  5.0    0    0    0    0
5  1.0  5.0    0    0    0    0
6  1.0  1.0    2    5    0    0
> mts<-as.vector(data[,4:9])
> # заменяем 0 на NA
> mts[mts==0]<-NA


и склеиваем в одну переменную:

1й способ
Код
c(mts[,1],mts[,2],mts[,3],mts[,4],mts[,5],mts[,6])


2й способ
Код
mts.new<-as.matrix(mts)
dim(mts.new)<-6*93
mts.new<-as.vector(mts.new)


Очистка от NA производится функцией na.omit()

Строим плотность распределения размера мтс

Код
> plot(density(na.omit(mts.new)))
>


Ну и голую гистограмму для сравнения

Код
> hist(na.omit(mts.new))
>


Теперь для способа с гистограммой надо выбрать интервалы группировки
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


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





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




часть 3 Применяем интервал группировки

Допустим что мы выбрали группировку 0.5-1, 1-2, 2-3, 3-4, 4-5

функция hist( кроме картинки ) возвращает много нужных нам параметров: сколько куда попало и позволят задать произвольные интервалы группировки
Код
> str(hist(na.omit(mts.new), plot=FALSE))
List of 7
$ breaks     : num [1:10] 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
$ counts     : int [1:9] 147 40 78 12 36 2 25 9 24
$ intensities: num [1:9] 0.7882 0.2145 0.4182 0.0643 0.193 ...
$ density    : num [1:9] 0.7882 0.2145 0.4182 0.0643 0.193 ...
$ mids       : num [1:9] 0.75 1.25 1.75 2.25 2.75 3.25 3.75 4.25 4.75
$ xname      :8322456 "na.omit(mts.new)"
$ equidist   : logi TRUE
- attr(*, "class")=8322456 "histogram"
> hist(na.omit(mts.new), plot=FALSE)$breaks
[1] 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
> hist(na.omit(mts.new), plot=FALSE)$counts
[1] 147  40  78  12  36   2  25   9  24
>


таким образом если мы скажем

Код
> hist(na.omit(mts.new), plot=FALSE, breaks=c(0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0))$counts
[1] 147  40  78  12  36   2  25   9  24
>


мы получим разбиение na.omit(mts.new) по границам c(0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0). Поменяв разбиение на нужное нам мы получаем число попаданий в интересующие нас интервалы:

Код
> hist(na.omit(mts.new), plot=FALSE, breaks=c(0.5, 1.0, 2.0, 3.0, 4.0, 5.0))$counts
[1] 147 118  48  27  33


Осталось применить эту функцию подсчета попаданий в выбранные интервалы индивидуально к каждому случаю.
Код
вот например как последовательно трансформируются мтс данные первого случая

> mts[1,]
  мтс1 мтс2 мтс3 мтс4 мтс5 мтс6
1    1    1    1    1    4   NA
> as.matrix(mts[1,])
  мтс1 мтс2 мтс3 мтс4 мтс5 мтс6
1    1    1    1    1    4   NA
> as.vector(as.matrix(mts[1,]))
[1]  1  1  1  1  4 NA
> na.omit(as.vector(as.matrix(mts[1,])))
[1] 1 1 1 1 4
attr(,"na.action")
[1] 6
attr(,"class")
[1] "omit"
>


ну подсчет группировки для него

Код
> hist(as.vector(as.matrix(mts[1,])), plot=FALSE, breaks=c(0.5, 1.0, 2.0, 3.0, 4.0, 5.0))$counts
[1] 4 0 0 1 0
>


теперь применим данную операцию ко всем случаям, это проще потому что функция apply() применяет написанную нами функцию сразу к строке таблицы (или столбцу если написать apply(данные,2,функция)). t() поворачивает таблицу "набок", транспонирует.

Код
> result<-t(apply(mts,1,function (x) hist(x, plot=FALSE, breaks=c(0.5, 1.0, 2.0, 3.0, 4.0, 5.0))$counts))
> head(result)
     [,1] [,2] [,3] [,4] [,5]
[1,]    4    0    0    1    0
[2,]    4    0    0    1    0
[3,]    2    0    0    0    1
[4,]    1    0    0    0    1
[5,]    1    0    0    0    1
[6,]    2    1    0    0    1
> str(result)
int [1:93, 1:5] 4 4 2 1 1 2 2 4 3 4 ...


вот мы и получили трансформированные данные...
Прикрепленные файлы
Прикрепленный файл  result.csv.gz ( 378 байт ) Кол-во скачиваний: 760
 


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 13.11.2011 - 15:21
Сообщение #14





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



Проведем разведочный анализ

лично я предпочитаю смотреть на трансформированные PCA данные, фактически на "голую ковариацию" smile.gif (соответствующие картинки присоединены)

Код
> result.pca<-prcomp(result, scale.=FALSE, center=FALSE)
> plot(result.pca)
> biplot(result.pca)
> biplot(result.pca,choices=3:2)


посмотрим какие у нас есть исходы

Код
> summary(as.factor(data[,11]))
0  1
3 90
> summary(as.factor(data[,12]))
1  3  6  9 12 15 18 21 24 27 30 36
3 12 18 18 16  7  5  4  4  2  3  1
> summary(as.factor(data[,13]))
0  1
27 66
> names(data[,11:13])
[1] "рецидив"         "срок"            "рецидив.до.года"
>


теперь отобразим в пространство PCA исходы

Код
> plot(result.pca$x[,1],
          result.pca$x[,2],
          bg=c("grey50", "white")[as.factor(data$рецидив)],
          pch=c(21,22)[as.factor(data$рецидив.до.года)],
          cex=c(1.8,1)[as.factor(data$рецидив.до.года)])
> plot(result.pca$x[,3],
          result.pca$x[,2],
          bg=c("grey50", "white")[as.factor(data$рецидив)],
          pch=c(21,22)[as.factor(data$рецидив.до.года)],
          cex=c(1.8,1)[as.factor(data$рецидив.до.года)])


1. очевидно что "рецидив" более менее равномерно расположился в "пространстве размеров мтс" (даже удивительно для всего 3х случаев). весь он попал в число "рецидив до года"

2. видно что фактор "рецидив до года " явно неравномерно распределен в "пространстве мтс"

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


Прикрепленное изображение
 


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 13.11.2011 - 16:31
Сообщение #15





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



Построим полную модель различий

Код
> summary(glm(data$рецидив.до.года~ result, family=binomial))

Call:
glm(formula = data$рецидив.до.года ~ result, family = binomial)

Deviance Residuals:
    Min       1Q   Median       3Q      Max  
-3.0450  -0.4758   0.3491   0.6423   1.8174  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  -0.7664     1.1000  -0.697 0.485961    
result1       1.2934     0.3929   3.292 0.000994 ***
result2      -0.4517     0.3396  -1.330 0.183483    
result3       0.2313     0.4565   0.507 0.612424    
result4       0.1051     0.8383   0.125 0.900231    
result5       1.4076     0.8880   1.585 0.112934    
---
Signif. codes:  0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 112.05  on 92  degrees of freedom
Residual deviance:  79.59  on 87  degrees of freedom
AIC: 91.59

Number of Fisher Scoring iterations: 5

>


достоверно влияние первого диапазона размеров

сравним модели с разным числом параметров

Код
model.1 <- glm(data$рецидив.до.года~ result[,1], family=binomial)
model.15 <- glm(data$рецидив.до.года~ result[,c(1,5)], family=binomial)
model.125 <- glm(data$рецидив.до.года~ result[,c(1,2,5)], family=binomial)
model.full <- glm(data$рецидив.до.года~ result, family=binomial)

> anova(model.1,model.15,model.125,model.full)
Analysis of Deviance Table

Model 1: data$рецидив.до.года ~ result[, 1]
Model 2: data$рецидив.до.года ~ result[, c(1, 5)]
Model 3: data$рецидив.до.года ~ result[, c(1, 2, 5)]
Model 4: data$рецидив.до.года ~ result
  Resid. Df Resid. Dev Df Deviance
1        91     90.709            
2        90     83.080  1   7.6290
3        89     79.866  1   3.2139
4        87     79.590  2   0.2764


выберем лучшую для прогноза по минимуму AIC

Код
> AIC(model.1,model.15,model.125,model.full)
           df      AIC
model.1     2 94.70903
model.15    3 89.08005
model.125   4 87.86617
model.full  6 91.58975


и добьем кси квадратом

Код
> anova(model.1,model.15,model.125,model.full,test="Chi")
Analysis of Deviance Table

Model 1: data$рецидив.до.года ~ result[, 1]
Model 2: data$рецидив.до.года ~ result[, c(1, 5)]
Model 3: data$рецидив.до.года ~ result[, c(1, 2, 5)]
Model 4: data$рецидив.до.года ~ result
  Resid. Df Resid. Dev Df Deviance P(>|Chi|)  
1        91     90.709                        
2        90     83.080  1   7.6290  0.005744 **
3        89     79.866  1   3.2139  0.073016 .
4        87     79.590  2   0.2764  0.870918  
---
Signif. codes:  0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1



отобразим модель

Код
> summary(model.15)

Call:
glm(formula = data$рецидив.до.года ~ result[, c(1,
    5)], family = binomial)

Deviance Residuals:
    Min       1Q   Median       3Q      Max  
-2.8694  -0.7329   0.3294   0.7098   1.7005  

Coefficients:
                   Estimate Std. Error z value Pr(>|z|)    
(Intercept)         -1.1773     0.4975  -2.367 0.017954 *  
result[, c(1, 5)]1   1.2137     0.3245   3.741 0.000183 ***
result[, c(1, 5)]2   1.6365     0.6453   2.536 0.011214 *  
---
Signif. codes:  0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 112.05  on 92  degrees of freedom
Residual deviance:  83.08  on 90  degrees of freedom
AIC: 89.08

Number of Fisher Scoring iterations: 5


Сообщение отредактировал p2004r - 13.11.2011 - 16:39


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 13.11.2011 - 17:04
Сообщение #16





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




Посмотрим что увидела оптимальная модель
Код
mosaicplot(table(result[,1],data$рецидив.до.года, result[,5]))


вертикальная ось показывает разбиение по признаку "рецидив до года"

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

внутри каждое сочетание разбито по числу крупных мтс

суть модели более чем визуализирована smile.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 


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





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



Поскольку у крупных опухолей всего два уровня (есть-нет) построим графическое представление лучшей модели прямо на графике (число малых опухолей vs рецидив)

сначала склеим таблицу данных с нормальными именами (что то predict.glm() обиделась на имена со спецсимволами)
Код
model.data<-data.frame("i1"=result[,1],"i5"=result[,5],"рецидив.до.года"=data$рецидив.до.года)
model <- glm(рецидив.до.года~ i1+i5, data=model,data, family=binomial)


нанесем на график линии предсказания модели

Код
plot(model.data$i1,
       model.data$рецидив.до.года)

lines(seq(0,5, length.out=40),
       predict(model,data.frame(i1=seq(0,5, length.out=40),
                                   i5=1),
                 type="response"))

lines(seq(0,5, length.out=40),
       predict(model,data.frame(i1=seq(0,5, length.out=40),
                                   i5=0),
                  type="response"),
       col="red")


PS ну и наоборот построим тоже smile.gif

Код
> plot(model.data$i5,model.data$рецидив.до.года)
> lines(seq(0,1, length.out=40), predict(model,data.frame(i5=seq(0,1, length.out=40), i1=0),type="response"))
> lines(seq(0,1, length.out=40), predict(model,data.frame(i5=seq(0,1, length.out=40), i1=1),type="response"))
> lines(seq(0,1, length.out=40), predict(model,data.frame(i5=seq(0,1, length.out=40), i1=2),type="response"))
> lines(seq(0,1, length.out=40), predict(model,data.frame(i5=seq(0,1, length.out=40), i1=3),type="response"))
> lines(seq(0,1, length.out=40), predict(model,data.frame(i5=seq(0,1, length.out=40), i1=4),type="response"))
> lines(seq(0,1, length.out=40), predict(model,data.frame(i5=seq(0,1, length.out=40), i1=5),type="response"))


тут очевидно чем больше тем хуже frown.gif

на формулировку http://forum.disser.ru/index.php?showtopic...ost&p=12211 ответ получен?

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

Сообщение отредактировал p2004r - 6.12.2011 - 14:39
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


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





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



нет ли опечатки?

Код
> table(data$срок, data$рецидив.до.года)
    
      0  1
  1   0  3
  3   0 12
  6   1 17
  9   0 18
  12  0 16
  15  7  0
  18  5  0
  21  4  0
  24  4  0
  27  2  0
  30  3  0
  36  1  0


что то 6й уровень подозрительный?

Сообщение отредактировал p2004r - 13.11.2011 - 18:28


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 15.11.2011 - 00:37
Сообщение #19





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



Поскольку дискуссия с автором поста пока не получается и, даже диалога с p2004r нет, а данные выложены, можно предложить и другое решение задачи.
В анализе могут участвовать две переменные ? число МТС и величина максимального МТС, это моя клиническая гипотеза, что прежде всего величина максимального МТС будет играть роль, по аналогии с тем, что опухоли с большей проминенцией имеют худшие прогнозы.

Гипотеза 1 автора поста о влиянии числа МТС статистически не подтвердилась, если она относилась именно к числу МТС 2-3, как высказывал автор поста, а в качестве отклика брать число ранних рецидивов. Для рецидива до года для числа МТС более трех OR=1,8 (95% ДИ 0,7 ? 4,6). Даже если брать только 2 рецидива, против >2-х то тоже не будет статистически значимой сопряженности с ранними рецидивами. И в логистической регрессии, если использовать количество МТС как единственную количественную переменную, то коэффициент будет не значим.

А вторая гипотеза о влиянии размера МТС верна, но она должна быть сформулирована иначе. Тут можно сделать такой вывод, если размер одного из МТС 3 и более см , то это является фактором риска раннего рецидива (до года). OR=8,4 (95% ДИ 2,5- 27,6). И судя по представленным данным это вполне доказанный факт. В логистической регрессии в двумя переменными, число МТС (>3-х) также не значимый фактор, OR=1,9 (0,7÷5,4), а размер любого МТМ >3 см значимый фактор OR=8,6 (2,5 ÷-29,3) в модели прогнозирования ранних рецидивов.

Если сделать количественную переменную - величина максимального МТС и использовать ее и число МТС до операции, то логистическая модель с двумя такими предикторами будет статистически значима (Chi2( 2)=24,318 p=,00001) и оба коэффициента имеют значимую оценку. Для расчетной вероятности площадь ROC=0,78; для точки разделения >0,73 чувствительность составляет 70%, специфичность - 78%.
Чудес не бывает, чем больше размер МТС и их число, тем вероятнее рецидив. Можем посчитать и для конкретного больного, например ?25 максимальный размер МТС 2 см и их число 2, расчетная вероятность раннего рецидива составляет только 0,12, а для ?35 величина макс МТС 5 см и их число 5, вероятность рецидива 0,93.

Можно использовать и данные о времени наступления рецидива, для его оценки также по этим двум переменным ? число МТС и размер максимального.
По линейной модели для б-го ?25 ожидаемое время рецидива через 23,8 (20,5-27,1) мес. ( наблюдаемое время рецидива 24 мес), а для ?35 имеющего 5 мтс и макс размер 5 см время безрецидивного течения составит только 3,6 (1,4-5,8) мес. (наблюдаемое время рецидива 3 мес).

Влияние этих двух показателей на время без рецидивного течения можно показать и кокс регрессионной моделью. Для макс размера HR=2,0 (p=0,000000), для кол-ва МТС HR=1,32 (p=0,0016. Кривая К-М для средних ковариат, выглядит, как на рис., который позволяет визуально оценить вероятность без рецидивного течения. Подставив значения двух ковариат, можно получить кривые К-М для каждого больного.

И, наконец, можно представить доказательства первоначальной клинический идеи, если использовать для анализа время без рецидивного течения и проанализировать его при определенных условиях, а их два для двух переменных, т.е. 4 группы сравнения. 00 ? число МТС 2 или 3 и размер максимального МТС 2 или 3 см. Тогда, см. рисунок, для таких больных статистически значимо больше длительность безрецидивного течения, чем у больных с нарушением этих условий в сторону увеличения указанных границ по любому из двух признаков.

Сообщение отредактировал DrgLena - 15.11.2011 - 00:39
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 16.11.2011 - 08:44
Сообщение #20





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




Поскольку дискуссия с автором поста пока не получается и, даже диалога с p2004r нет, а данные выложены, можно предложить и другое решение задачи.

Приношу свои извинения за неучастие в дискуссии, т.к. пыталась разобраться с ответом р2004r. Сразу скажу не получилось. Преобразованные данные размеров по-моему все равно не могут участвовать в логит-регрссии.

В анализе могут участвовать две переменные ? число МТС и величина максимального МТС, это моя клиническая гипотеза, что прежде всего величина максимального МТС будет играть роль, по аналогии с тем, что опухоли с большей проминенцией имеют худшие прогнозы.

Гипотеза 1 автора поста о влиянии числа МТС статистически не подтвердилась, если она относилась именно к числу МТС 2-3, как высказывал автор поста, а в качестве отклика брать число ранних рецидивов. Для рецидива до года для числа МТС более трех OR=1,8 (95% ДИ 0,7 ? 4,6). Даже если брать только 2 рецидива, против >2-х то тоже не будет статистически значимой сопряженности с ранними рецидивами. И в логистической регрессии, если использовать количество МТС как единственную количественную переменную, то коэффициент будет не значим.

На мой взгляд гипотеза не подтверждается потому что должно быть именно сочетание 2-3 очага размером 2-3см. Мне Ваша мысль понятна, особенно заманчив вариант с 4 группами сравнения, но наличие МТС числом 5 по 1 см тоже является группой риска, 3 метастаза размеры которых 1;1;3 тоже будет входить в группу риска. Вот в чем у меня проблема. Но сделать 1 группу нам наиболее подходящих 2-3 очага размером 2-3 см и 2 группа - все остальные будет несколько вызывающе (или нет).

А вторая гипотеза о влиянии размера МТС верна, но она должна быть сформулирована иначе. Тут можно сделать такой вывод, если размер одного из МТС 3 и более см , то это является фактором риска раннего рецидива (до года). OR=8,4 (95% ДИ 2,5- 27,6). И судя по представленным данным это вполне доказанный факт. В логистической регрессии в двумя переменными, число МТС (>3-х) также не значимый фактор, OR=1,9 (0,7÷5,4), а размер любого МТМ >3 см значимый фактор OR=8,6 (2,5 ÷-29,3) в модели прогнозирования ранних рецидивов.

Если сделать количественную переменную - величина максимального МТС и использовать ее и число МТС до операции, то логистическая модель с двумя такими предикторами будет статистически значима (Chi2( 2)=24,318 p=,00001) и оба коэффициента имеют значимую оценку. Для расчетной вероятности площадь ROC=0,78; для точки разделения >0,73 чувствительность составляет 70%, специфичность - 78%.
Чудес не бывает, чем больше размер МТС и их число, тем вероятнее рецидив. Можем посчитать и для конкретного больного, например ?25 максимальный размер МТС 2 см и их число 2, расчетная вероятность раннего рецидива составляет только 0,12, а для ?35 величина макс МТС 5 см и их число 5, вероятность рецидива 0,93.

Можно использовать и данные о времени наступления рецидива, для его оценки также по этим двум переменным ? число МТС и размер максимального.
По линейной модели для б-го ?25 ожидаемое время рецидива через 23,8 (20,5-27,1) мес. ( наблюдаемое время рецидива 24 мес), а для ?35 имеющего 5 мтс и макс размер 5 см время безрецидивного течения составит только 3,6 (1,4-5,8) мес. (наблюдаемое время рецидива 3 мес).

Как это рассчитать? На основании кокс регрессионной модели. Если да то формула такая: h0(t)*exp(b1 z1+...+bm zm), тогда вопрос как найти h0. Спасибо.


Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 16.11.2011 - 08:58
Сообщение #21





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




Спасибо за быстрый подробный ответ и помощь. Ноя как мартышка с очками не пойму как применить, как мартышка с очками. По выводам я поняла что чаще всего возникают мтс при крупных очагах, но по поводу новых переменных - их опять 5 штук, как их включать в логит регрессию?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 16.11.2011 - 10:53
Сообщение #22





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



Нет, вы поняли не правильно.

Хотя я много чего наворотила, начните вникать с простых вещей, которые вам понятны. OR можно руками посчитать, а кокс регрессию оставьте на закуску, хотя на форуме она уже обсуждалась и ответ на ваш вопрос есть.

Я использую для расчета времени наступления рецидива в линейной модели и в кокс регрессионной две переменные - размер максамального (нужно сделать эту переменную) и число МТС. Имея модель можно ответить на любой вопрос по сочетанию этих признаков, если конечно анализ модели вас устроит. Все результаты, которые я привожу получены по вашим данным. Поскольку у вас три переменных отклика, то и предлагаемые методы различны.

В рамках форума вы получаетет только направление, одно из них предлагал Игорь, логистическую регрессию, только в качествер размера я взяла максимальный для каждого больного, а количество МТСу вас есть. Я тоже не все поняла у р2004r, но какие то полезные вещи по работе с R я уже разобрала.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 16.11.2011 - 11:24
Сообщение #23





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



Цитата(mamalita @ 16.11.2011 - 07:58) *
Спасибо за быстрый подробный ответ и помощь. Ноя как мартышка с очками не пойму как применить, как мартышка с очками.


Эпиграф: " -- Доктор меня все игнорируют. -- Следующий!"



мда smile.gif для того что бы понять надо задавать содержательные вопросы, хотя бы --- "ткнем пальцем сюда, что это?" Для удобства я специально разбил весь ответ на мелкие части, давайте идти от части к части. Я постараюсь отвечать на вопросы.

PS Дело в том что мне например так и не понятно правильно ли Вами агрегирована переменная "до года". Или там ошибка, или смысл переменной не тот о котором я смог догадаться.

PPS Переменная "срок" однозначно зависит только от маленьких и больших мтс (на это намекает даже плотность распределения размеров мтс). Зависимость явно количественная (могу соответствующий бублеплот предъявить).

Маленькие мтс это от 0.5 -- 1

Большие мтс это (после проведенного выше анализа пробного разбиения) 3.5 -- 5

В терминах вероятность логистическая регрессия может ответить о любом граничном сроке достижим он или нет при данном сочетании "число маленьких --- число больших". Ну и как влияет сочетание большие -- маленькие мтс в целом.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 16.11.2011 - 13:29
Сообщение #24





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



Цитата(p2004r @ 16.11.2011 - 12:24) *
PPS Переменная "срок" однозначно зависит только от маленьких и больших мтс (на это намекает даже плотность распределения размеров мтс). Зависимость явно количественная (могу соответствующий бублеплот предъявить).

Маленькие мтс это от 0.5 -- 1

Ну нет больных с такими размерами МТС, они у вас существуют только в воображении, вернее в теоретическом распределении, а потому не могут влиять на срок наступления МТС. Есть один больной с макс размером 1,5, что по вашей группировке не является маленьким МТС. У всех остальных МТС 2 и более.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 16.11.2011 - 13:37
Сообщение #25





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



Цитата(p2004r @ 16.11.2011 - 11:24) *
PS Дело в том что мне например так и не понятно правильно ли Вами агрегирована переменная "до года". Или там ошибка, или смысл переменной не тот о котором я смог догадаться.

Смысл переменной вы, действительно, не поняли. Есть время наступления новых МТС после вмешательства, срок в месяцах, и если этот срок до года,то в бинарной переменной стоит соответствующая метка "1". Так, что ошибки нет, у б-го МТС через 3 мес, а потому "1"
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 16.11.2011 - 14:04
Сообщение #26





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



Цитата(DrgLena @ 16.11.2011 - 12:29) *
Ну нет больных с такими размерами МТС, они у вас существуют только в воображении, вернее в теоретическом распределении, а потому не могут влиять на срок наступления МТС. Есть один больной с макс размером 1,5, что по вашей группировке не является маленьким МТС. У всех остальных МТС 2 и более.


что значит "нет размера"?!

в таблице данных есть список показателей мтс1 мтс2 мтс3 мтс4 мтс5 мтс6

Код
> head(data[,4:9])
  мтс1 мтс2 мтс3 мтс4 мтс5 мтс6
1  1.0  1.0    1    1    4    0
2  0.5  0.5    1    1    4    0
3  1.0  1.0    5    0    0    0
4  1.0  5.0    0    0    0    0
5  1.0  5.0    0    0    0    0
6  1.0  1.0    2    5    0    0


Как я понимаю в них лежат размеры отдельных мтс каждого рассматриваемого случая, размеры колеблются от 0.5 до 5. "0" почему то выбран как признак отсутствия.

Я что то не так понял?

Топикстартер жалуется на проблему "как засунуть в регрессию переменное число показателей". По моему мнению мой способ работает.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 16.11.2011 - 14:12
Сообщение #27





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



Больной, имеющий 0,5 имеет и 4 (вторая строчка)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 16.11.2011 - 14:14
Сообщение #28





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



Цитата(DrgLena @ 16.11.2011 - 12:37) *
Смысл переменной вы, действительно, не поняли. Есть время наступления новых МТС после вмешательства, срок в месяцах, и если этот срок до года,то в бинарной переменной стоит соответствующая метка "1". Так, что ошибки нет, у б-го МТС через 3 мес, а потому "1"


у 6го _уровня_

группируя обе переменных "срок" и "рецидив.до.года" мы видим что "срок" имеет уровни 1 3 6 9 12 15 18 21 24 27 30 36

а "рецидив.до.года" только 0 и 1

но на уровне 6 переменной "срок" мы видим один случай с уровнем 0 переменной "рецидив.до.года"

мне кажется это странным.

Сообщение отредактировал p2004r - 16.11.2011 - 14:21


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 16.11.2011 - 14:20
Сообщение #29





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



Цитата(DrgLena @ 16.11.2011 - 13:12) *
Больной, имеющий 0,5 имеет и 4 (вторая строчка)


да, конечно. Этот список переменных "мтс" (а именно "0.5 0.5 1 1 4 0") у него заменен на "4 0 0 1 0" соответствующим интервалам группировки 0.5-1, 1-2, 2-3, 3-4, 4-5.

именно это та трансформация данных которая позволяет перейти к фиксированному числу переменных.

Сообщение отредактировал p2004r - 16.11.2011 - 17:54


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 16.11.2011 - 18:06
Сообщение #30





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



Цитата(p2004r @ 16.11.2011 - 15:20) *
да, конечно. Этот список переменных "мтс" (а именно "0.5 0.5 1 1 4 0") у него заменен на "4 0 0 1 0" соответствующим интервалам группировки 0.5-1, 1-2, 2-3, 3-4, 4-5.

именно это та трансформация данных которая позволяет перейти к фиксированному числу переменных.

- Как позволяет? Я бы задала конкретные вопросы, но мне нужно время, чтобы вникнуть и сформулировать их, а пока я смутно представляю как новые данные отражают мои данные. Хотя интуитивно чувствую что это наиболее правильный подход. По поводу переменных исходов: - все правильно: рецидив(есть нет) и срок рецидива(в месяцах), просто 6 строка попали цензуированные данные, рецидива не было а пациент выпал из виду, поэтому в столбце рецидивы до года на 6 месяцах 0. Честно говоря, я думала делать так: включать все размеры метастазов в предикторы, просто там где их нет (т.е. 3 метастаза а логит регрессия на 6 переменных) будет 0 и если потом считать для каждого конкретного случая подставлять в формулу 0 и определять вероятность того или иного исхода. Но это видимо совсем не правильно.

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





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



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

я подписался на данную тему по емайл, поэтому думайте, я не пропущу Ваш вопрос

PS Про выпавшего пациента понятно. Жалко что я сам не догадался frown.gif. Всё же лучше в таких случаях ставить NA (или другое обозначение пропущенного - отсутствующего значения).

Сообщение отредактировал p2004r - 16.11.2011 - 18:39


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 16.11.2011 - 19:22
Сообщение #32





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



Цитата(p2004r @ 16.11.2011 - 15:04) *
Топикстартер жалуется на проблему "как засунуть в регрессию переменное число показателей". По моему мнению мой способ работает.

Важно ведь не как засунуть, а что будет на выходе.
Покажите, пожалуйста как работает ваш способ, например, на тех же больных, которых привела я под номером 25 и 35. Покажите, 1) чему равна вероятность рецидива до года, 2) приведите рассчетное время рецидивирования в мес. А потом перейдем к кокс регрессии.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 16.11.2011 - 20:08
Сообщение #33





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



Цитата(DrgLena @ 16.11.2011 - 18:22) *
Важно ведь не как засунуть, а что будет на выходе.
Покажите, пожалуйста как работает ваш способ, например, на тех же больных, которых привела я под номером 25 и 35. Покажите, 1) чему равна вероятность рецидива до года, 2) приведите рассчетное время рецидивирования в мес. А потом перейдем к кокс регрессии.


Сначала хотелось бы заметить что точность подгонки модели для данных участвовавших в оной крайне подозрительный показатель. Модель выбрана мной по критерию AIC а не минимуму вариации не объясняемой моделью. Только такая модель имеет прогностическую силу.

Как Вы наверное заметили у меня посчитана модель варианта 1

для первоначального разбиения на интервалы группировки результат вот такой

Код
> data.frame(predict(model, type="response"),data$рецидив.до.года)
   predict.model..type....response.. data.рецидив.до.года
1                          0.9753424                    1
2                          0.9753424                    1
3                          0.9471832                    1
4                          0.8419639                    1
5                          0.8419639                    1
6                          0.9471832                    1
7                          0.9471832                    1
8                          0.9753424                    1
9                          0.9215760                    1
10                         0.9753424                    1
11                         0.9837041                    1
12                         0.9837041                    1
13                         0.9471832                    1
14                         0.7773354                    1
15                         0.9753424                    1
16                         0.8419639                    1
17                         0.9471832                    1
18                         0.8419639                    1
19                         0.8419639                    1
20                         0.7773354                    1
21                         0.9215760                    1
22                         0.7773354                    1
23                         0.7773354                    1
24                         0.9837041                    0
25                         0.5091129                    1
26                         0.9753424                    1
27                         0.8419639                    1
28                         0.7773354                    1
29                         0.5091129                    1
30                         0.9837041                    1
31                         0.9215760                    1
32                         0.9837041                    1
33                         0.2355390                    1
34                         0.5091129                    1
35                         0.8419639                    1
36                         0.5091129                    1
37                         0.5091129                    1
38                         0.5091129                    1
39                         0.7773354                    1
40                         0.9837041                    1
41                         0.9753424                    1
42                         0.8419639                    1
43                         0.8419639                    1
44                         0.8419639                    1
45                         0.9471832                    1
46                         0.7773354                    1
47                         0.9471832                    1
48                         0.9471832                    1
49                         0.9471832                    1
50                         0.7773354                    1
51                         0.7773354                    1
52                         0.8419639                    1
53                         0.8419639                    1
54                         0.8419639                    1
55                         0.8419639                    1
56                         0.5091129                    1
57                         0.7773354                    1
58                         0.9471832                    1
59                         0.7773354                    1
60                         0.5091129                    1
61                         0.5091129                    1
62                         0.5091129                    1
63                         0.5091129                    1
64                         0.5091129                    1
65                         0.7773354                    1
66                         0.5091129                    1
67                         0.7773354                    1
68                         0.6128158                    0
69                         0.6128158                    0
70                         0.5091129                    0
71                         0.7773354                    0
72                         0.7773354                    0
73                         0.7773354                    0
74                         0.9215760                    0
75                         0.6128158                    0
76                         0.7773354                    0
77                         0.7773354                    0
78                         0.7773354                    0
79                         0.5091129                    0
80                         0.2355390                    0
81                         0.2355390                    0
82                         0.5091129                    0
83                         0.5091129                    0
84                         0.2355390                    0
85                         0.2355390                    0
86                         0.2355390                    0
87                         0.2355390                    0
88                         0.2355390                    0
89                         0.2355390                    0
90                         0.2355390                    0
91                         0.2355390                    0
92                         0.2355390                    0
93                         0.2355390                    0


PS вот как связана переменная "срок" с предсказанной вероятностью рецидива (присоединяю еще один рисунок)

Сообщение отредактировал p2004r - 16.11.2011 - 20:56
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 16.11.2011 - 20:55
Сообщение #34





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



Спасибо, я тоже посчитала вероятности по вашим коэффициентам, тем, что я привожу ниже, и хочу сравнить по площади ROC вашу и свою модель, где я использовала число и размер макс МТС
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.7664 1.1000 -0.697 0.485961
result1 1.2934 0.3929 3.292 0.000994 ***
result2 -0.4517 0.3396 -1.330 0.183483
result3 0.2313 0.4565 0.507 0.612424
result4 0.1051 0.8383 0.125 0.900231
result5 1.4076 0.8880 1.585 0.112934

Не могу перевести в табличную форму приведенные вами вероятности.

Сообщение отредактировал DrgLena - 16.11.2011 - 20:59
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 16.11.2011 - 21:07
Сообщение #35





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



Цитата(DrgLena @ 16.11.2011 - 19:55) *
Спасибо, я тоже посчитала вероятности по вашим коэффициентам, тем, что я привожу ниже, и хочу сравнить по площади ROC вашу и свою модель, где я использовала число и размер макс МТС
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.7664 1.1000 -0.697 0.485961
result1 1.2934 0.3929 3.292 0.000994 ***
result2 -0.4517 0.3396 -1.330 0.183483
result3 0.2313 0.4565 0.507 0.612424
result4 0.1051 0.8383 0.125 0.900231
result5 1.4076 0.8880 1.585 0.112934


если удалить result[2-4] то result5 скорее всего станет достоверным, последующее добавление result2 значимо модель не улучшает, да и AIC минимален на модели из result1 и result2.

PS а параметр максимальный размер, хороший показатель и он явно добавляет информации в мою модель

PPS как вариант я скорее всего смогу учесть максимальный размер перейдя с расчета hist() на density()

PPPS Присоединяю файл с вероятностями

Сообщение отредактировал p2004r - 16.11.2011 - 21:11
Прикрепленные файлы
Прикрепленный файл  predict.csv.gz ( 348 байт ) Кол-во скачиваний: 660
 


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 16.11.2011 - 21:19
Сообщение #36





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



Цитата(DrgLena @ 16.11.2011 - 19:55) *
Не могу перевести в табличную форму приведенные вами вероятности.


Вот файл.
Прикрепленные файлы
Прикрепленный файл  predict.csv.gz ( 348 байт ) Кол-во скачиваний: 647
 


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 16.11.2011 - 21:40
Сообщение #37





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



Спасибо, я уже перевела и скопировала ваши вероятности. Для посчитанных мною по вашим коэффициентам, приведенным выше, значение площади ROC максимально=0,85, по приведенным вами вероятностям, чуть ниже 0,83. А по моей модели учитывающей только число и макс размер 0,79. Статистически площади на различаются. Т.о. вы своим подходом используете несколько больше информации заложенной в данных. Вот только как получить используемую вами трансформацию данных, хотелось бы посмотреть ссылки на литературу.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 16.11.2011 - 21:53
Сообщение #38





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



Цитата(DrgLena @ 16.11.2011 - 20:40) *
Спасибо, я уже перевела и скопировала ваши вероятности. Для посчитанных мною по вашим коэффициентам, приведенным выше, значение площади ROC максимально=0,85, по приведенным вами вероятностям, чуть ниже 0,83. А по моей модели учитывающей только число и макс размер 0,79. Статистически площади на различаются. Т.о. вы своим подходом используете несколько больше информации заложенной в данных. Вот только как получить используемую вами трансформацию данных, хотелось бы посмотреть ссылки на литературу.


Это фактически просто гистограмма, я даже как то затрудняюсь так сразу вспомнить кто первый предложил интервальный вариационный ряд (наверное это больше исторический вопрос smile.gif.

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


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 16.11.2011 - 22:41
Сообщение #39





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



Спасибо, р2004r, я поняла, для меня это новая мысль, есть стимул продолжить продвигаться в R !!!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 17.11.2011 - 19:46
Сообщение #40





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



Что то, все же, настораживает в этом подходе. Как трактовать отрицательное значение коэффициента при второй категории размера. И отношение шансов и стандартизированное отношение шансов для второй категории меньше единицы. Т.е. чем больше таких размеров, тем меньше вероятность рецидива, т.е лучше для прогноза? Должна же быть клиническая логика любого моделирования.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 17.11.2011 - 20:45
Сообщение #41





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



Цитата(DrgLena @ 17.11.2011 - 18:46) *
Что то, все же, настораживает в этом подходе. Как трактовать отрицательное значение коэффициента при второй категории размера. И отношение шансов и стандартизированное отношение шансов для второй категории меньше единицы. Т.е. чем больше таких размеров, тем меньше вероятность рецидива, т.е лучше для прогноза? Должна же быть клиническая логика любого моделирования.


Трактуется только оптимальная модель. В её составе интерцепт, число самых малых и число самых больших.

В целом влияние число опухолей различных размеров интерпретировать можно на вот таком бублеплоте.

вот его основа, пространство принципиальных компонент без извлечения средних и шкалирования. фактически те же данные только повернута система координат.
Код
> result.pca<-prcomp(result, scale.=FALSE, center=FALSE)
> plot(result.pca)
> biplot(result.pca)
> biplot(result.pca, choices=3:2)


крутить 3д график в форуме неудобно ограничимся серией бублеплотов (для сокращения размеров кода объявим функцию)

размер кружков это "срок", их заливка признак нулевого числа в интервале группировки номер которого написан в заглавии картинки

Код
> plot.res.n <- function (res.n) {
+   plot(result.pca$x[,3],
+        result.pca$x[,2],
+        bg=c("grey50","white")[as.factor(result[,res.n]==0)],
+        pch=21,
+        cex=seq(1,3, length.out=12)[as.factor(data$срок)], main=res.n)}
> plot.res.n(1)
> plot.res.n(2)
> plot.res.n(3)
> plot.res.n(4)
> plot.res.n(5)


с градиентом размеров кружком совпадают 1,5 и 4й интервал группировки размеров опухоли. Причем 5 работает и в направлении суммарного размера опухоли (первая компонента судя по всему его пытается восстановить).

2й интервал группировки работает против градиента "срок". 3й я бы сказал ортогонален градиенту "срок".

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


Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Прикрепленное изображение
 


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





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



Цитата(DrgLena @ 17.11.2011 - 18:46) *
Что то, все же, настораживает в этом подходе. Как трактовать отрицательное значение коэффициента при второй категории размера. И отношение шансов и стандартизированное отношение шансов для второй категории меньше единицы. Т.е. чем больше таких размеров, тем меньше вероятность рецидива, т.е лучше для прогноза? Должна же быть клиническая логика любого моделирования.


собственно вот это неплохо иллюстрирует "отрицательность"

Код
> mosaicplot(table(result[,2],data$срок))
> mosaicplot(table(result[,1],data$срок))


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


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 17.11.2011 - 21:38
Сообщение #43





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



Цитата(DrgLena @ 17.11.2011 - 18:46) *
Должна же быть клиническая логика любого моделирования.


1. Я бы не переносил так просто коэффициенты модели на причинно следственные связи.

2. Мы наблюдаем агрегированные данные. На самом деле все эти мтс возникали не одновременно. Я бы предположил что есть различные варианты (или/и стадии) развития процесса.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 18.11.2011 - 00:58
Сообщение #44





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



Да, но ведь анализ данных для того и делается, чтобы в данном случае ответить на очень важный вопрос, при каких исходных данный оправдано оперативное лечение МТС, а когда оно приносит только лишние страдания больному. Очевидно год без рецидивного течения для таких больных ? это успешный исход. Что есть у врача ? число и размеры. В вашей модели величина МТС в 1 и 1,5 см находятся в разных категориях и имеют противоположное влияние на исход, хотя точность измерения и округления не могут провести тут точную границу. Ни один клиницист с этим не согласится. Для данного примера результат работы с агрегированными данными, на мой взгляд, не привел к ответу на вопрос о влиянии числа и размера, но продемонстрирована техника исполнения.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 18.11.2011 - 10:53
Сообщение #45





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



Цитата(DrgLena @ 18.11.2011 - 00:58) *
Да, но ведь анализ данных для того и делается, чтобы в данном случае ответить на очень важный вопрос, при каких исходных данный оправдано оперативное лечение МТС, а когда оно приносит только лишние страдания больному. Очевидно год без рецидивного течения для таких больных ? это успешный исход. Что есть у врача ? число и размеры. В вашей модели величина МТС в 1 и 1,5 см находятся в разных категориях и имеют противоположное влияние на исход, хотя точность измерения и округления не могут провести тут точную границу. Ни один клиницист с этим не согласится. Для данного примера результат работы с агрегированными данными, на мой взгляд, не привел к ответу на вопрос о влиянии числа и размера, но продемонстрирована техника исполнения.



1. я напомню об одной фразе из своих сообщений "Допустим что мы выбрали группировку 0.5-1, 1-2, 2-3, 3-4, 4-5".

2. кроме того я _настойчиво_ (не менее трех раз smile.gif ) упоминаю об использовании вместо hist() функции density(,n = ...) которая возвращает

Код
x: the ?n? coordinates of the points where the density is
          estimated.

       y: the estimated density values.  These will be non-negative,
          but can be zero.

      bw: the bandwidth used.

       n: the sample size after elimination of missing values.


собственно использовать y*n по x мне видится предпочтительной техникой агрегации данных для выбора интервалов группировки.

Делать полное исследование? smile.gif Все же думаю надо дождаться Автора эксперимента :-|


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 18.11.2011 - 11:56
Сообщение #46





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



p2004r, вы продемонстрировали, что моделирование - это искусство. У Автора есть первичная клиническая гипотеза, и есть достаточно средств, чтобы выбрать лучшее статистическое доказательство.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 25.11.2011 - 11:16
Сообщение #47





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



Медленно но верно тем самым и занимаюсь. Мне нужно вникнуть в суть самого метода, а на это времени катастрофически не хватает. А по поводу клинической гипотезы скажу. Что лучше всего новому методу лечения как раз должны поддаваться МТС размером 2-3см, конечно округление до 0,5 условно, можно наверное разделить и по 1 см. МТС размером больше 3,5 см часто не могут подвергнуться полному удалению и тогда высок риск рецидива, а слишком маленькие могут быть не удалены из-за плохой визуализации.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 5.12.2011 - 12:47
Сообщение #48





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



Начала с самого начала и сразу проблема: при открытии рабочего пространства выдает "ошибка: неправильное магическое число файла (файл может быть поврежден) данные не загружены Вдобавок: предупреждение файл "имя" имеет магическое число 'непонятные знаки' использование сохраненных версий более ранних чем 2 не одобряется" - чтобы это могло значить? Может быть то же самое можно сделать в другой кнопочной программе (есть SPSS, statistica6, attestat). Спасибо.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 5.12.2011 - 13:21
Сообщение #49





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



Цитата(mamalita @ 5.12.2011 - 12:47) *
Начала с самого начала и сразу проблема: при открытии рабочего пространства выдает "ошибка: неправильное магическое число файла (файл может быть поврежден) данные не загружены Вдобавок: предупреждение файл "имя" имеет магическое число 'непонятные знаки' использование сохраненных версий более ранних чем 2 не одобряется" - чтобы это могло значить? Может быть то же самое можно сделать в другой кнопочной программе (есть SPSS, statistica6, attestat). Спасибо.


вот csv файл с Вашими данными, далее запускаете R и в окне команд просто вставляете мои команды из комментариев...

файл распаковать в рабочую папку R и вот такая команда загружает его под именем data

Цитата
data <- read.csv2("кол-во-размер-рецидив.csv")


её прямо печатаете (или копируете контрл-c контрл-v) в окне R (меню лучше пока не трогать все что там есть не относится к собственно вычислениям в среде).


Можно прямо продвигаться (копируя команды) начиная с сообщения http://forum.disser.ru/index.php?showtopic...ost&p=12224

особенно полезно прочитать и немного поделать примеры из перевода руководства http://m7876.wiki.zoho.com/Introduction-to-R.html

PS повторить трансформацию данных в другой программе работающей по "кнопочному" принципу будет довольно затруднительно и трудоемко.

Сообщение отредактировал p2004r - 5.12.2011 - 14:11
Прикрепленные файлы
Прикрепленный файл  кол_во_размер_рецидив.rar ( 968 байт ) Кол-во скачиваний: 360
 


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 6.12.2011 - 13:38
Сообщение #50





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



Все делаю как написано программа отвечает : не могу открыть соединение, не могу открыть файл, сохраняю его в расширении CSV(разделитель запятые)?
Теперь по теории. Понимаю что мне нужно что-то почитать желательно с примерами, может дадите ссылку. Потому что до момента разбиения на интервалы и определения количества попадания в эти интервалы МТС я поняла а дальше туман. Например новые данные для 1 случая 40010 это значит 4 попали в первый интервал, 1 в четвертый?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 6.12.2011 - 14:30
Сообщение #51





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



Цитата(mamalita @ 6.12.2011 - 13:38) *
Все делаю как написано программа отвечает : не могу открыть соединение, не могу открыть файл, сохраняю его в расширении CSV(разделитель запятые)?
Теперь по теории. Понимаю что мне нужно что-то почитать желательно с примерами, может дадите ссылку. Потому что до момента разбиения на интервалы и определения количества попадания в эти интервалы МТС я поняла а дальше туман. Например новые данные для 1 случая 40010 это значит 4 попали в первый интервал, 1 в четвертый?


1. В предыдущем посте присоединен раровский архив, в нем готовый csv файл. Это он не читается примером команды из форума?

2. Вообще сохранять русские ексель данные в csv надо с разделителем ";" иначе конфликт с тем фактом, что десятичную точку в русском екселе заменяет запятая. И я по моему всегда удаляю из результата сохранения двойные кавычки в редакторе с помощью автозамены.

Теория

Мы выбрали группировку 0.5-1, 1-2, 2-3, 3-4, 4-5. Первый случай "1.0 1.0 1 1 4 NA".
По выбранным интервалам группировки 4 случая в первом интервале и 1 случай в четвертом.

Код
## поместить результат в result
result<-t(apply(mts,                #для таблицы mts                            
                  1,                #для каждой строки
                  function (x) hist(x,  # посчитать функцию из hist() где каждая строку как x
                                    plot=FALSE, # запретить выводит hist() рисунок
                                    breaks=c(0.5, 1.0, 2.0, 3.0, 4.0, 5.0) # разбить по интервалам заданным точками
                                    )$counts      # взять из результата hist() только вектор числа попаданий в интервалы
                ) # apply() закончилась
         ) # поменять строки и столбцы местами (транспонировать)


Сообщение отредактировал p2004r - 6.12.2011 - 14:32


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 8.12.2011 - 19:58
Сообщение #52





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



[quote name='p2004r' date='6.12.2011 - 15:30' post='12448']
1. В предыдущем посте присоединен раровский архив, в нем готовый csv файл. Это он не читается примером команды из форума?


И он тоже, на этот файл программа выдает туже ошибку.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 8.12.2011 - 21:35
Сообщение #53





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



Цитата(mamalita @ 8.12.2011 - 19:58) *
И он тоже, на этот файл программа выдает туже ошибку.


1) вы его распаковали ?

2) какую команду вводите на загрузку?

скопируйте что происходит в окне ввода команд в ответ


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 11.12.2011 - 21:22
Сообщение #54





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



> data <- read.csv2("кол-во-размер-рецидив.csv")
Ошибка в file(file, "rt") : не могу открыть соединение
Вдобавок: Предупреждение
In file(file, "rt") :
не могу открыть файл 'Р?Р?Р?-Р?Р?-С?азР?Р?С?-С?Р?С?РёР?РёР?.csv': No such file or directory
>
>
Вот такие результаты выдает
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 12.12.2011 - 00:42
Сообщение #55





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



Цитата(mamalita @ 11.12.2011 - 21:22) *
> data <- read.csv2("кол-во-размер-рецидив.csv")
No such file or directory


попробуйте вот так, положив файл в папку на диск C:

data <- read.csv2("c:\\имя _папки_с_данными_на_диске_С\\кол-во-размер-рецидив.csv")


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
mamalita
сообщение 13.12.2011 - 10:34
Сообщение #56





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



Спасибо, данные ввелись. Вопрос 1. вместо имен переменных - абракадабра "Р?Р?Р?Р?С? Р?Р?Р..Р?Р? С?С?Р?Р?Р?РёР..С?Р.Р.Р?Р?С? Р?С.С?1 Р?С.С?2 Р?С.С?3 Р?С.С?4 Р?С.С?5 Р?С.С?6 С?С?Р?Р?Р.С?Р?С.Р..С?Р.Р.Р?Р?С? С?Р?С.РёР?РёР? С?С?Р?Р?" Что-то здесь не так?
2. почему после head(data) выводится только 6 переменных?
Дошла до части второй Вашего поста. Ввела все как указано вот что получила: > names(data)[1] "номер" "кол.во" "средний.размер" "мтс1"
Ошибка: неожиданный строковая константа в "names(data)[1] "номер""
Еще раз спасибо за Ваш нелегкий труд
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 13.12.2011 - 10:50
Сообщение #57





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



Цитата(mamalita @ 13.12.2011 - 10:34) *
Спасибо, данные ввелись. Вопрос 1. вместо имен переменных - абракадабра "Р?Р?Р?Р?С? Р?Р?Р..Р?Р? С?С?Р?Р?Р?РёР..С?Р.Р.Р?Р?С? Р?С.С?1 Р?С.С?2 Р?С.С?3 Р?С.С?4 Р?С.С?5 Р?С.С?6 С?С?Р?Р?Р.С?Р?С.Р..С?Р.Р.Р?Р?С? С?Р?С.РёР?РёР? С?С?Р?Р?" Что-то здесь не так?
2. почему после head(data) выводится только 6 переменных?
Дошла до части второй Вашего поста. Ввела все как указано вот что получила: > names(data)[1] "номер" "кол.во" "средний.размер" "мтс1"
Ошибка: неожиданный строковая константа в "names(data)[1] "номер""
Еще раз спасибо за Ваш нелегкий труд


1. В моем файле все в UTF-8. Очевидно под виндовс используется другая кодировка по умолчанию. Попробуйте так

Код
data <- read.csv2("c:\\имя _папки_с_данными_на_диске_С\\кол-во-размер-рецидив.csv", fileEncoding = "UTF-8" )


2. Возможно это следствие несовпадения кодировки, попробуйте на вновь импортированных данных.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 18.12.2011 - 17:16
Сообщение #58





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



Цитата(DrgLena @ 16.11.2011 - 21:40) *
Для посчитанных мною по вашим коэффициентам, приведенным выше, значение площади ROC максимально=0,85, по приведенным вами вероятностям, чуть ниже 0,83. А по моей модели учитывающей только число и макс размер 0,79. Статистически площади на различаются.


Отличная библиотека для работы с ROC, развитая графика

http://web.expasy.org/pROC/

встроенный бутстреп используется легко и непринужденно smile.gif

Код
> library(pROC)
> a<-roc(data$рецидив.до.года, read.csv2("predict.csv")[,2])

> plot(a)

> ci.auc(a, boot.n=10000)
95% CI: 0.7322-0.9233 (DeLong)

> ci.se(a, boot.n=10000)
Loading required package: tcltk
Загружаю интерфейс Tcl/Tk... готово
95% CI (10000 stratified bootstrap replicates):
  sp  se.low se.median se.high
0.0 1.00000    1.0000  1.0000
0.1 0.98740    0.9969  1.0000
0.2 0.97270    0.9937  1.0000
0.3 0.94000    0.9906  1.0000
0.4 0.80300    0.9851  1.0000
0.5 0.72730    0.9154  1.0000
0.6 0.68480    0.8182  0.9864
0.7 0.64050    0.7727  0.8982
0.8 0.54850    0.7091  0.8485
0.9 0.05114    0.6015  0.7631
1.0 0.00000    0.0000  0.6364

> ci.sp(a, boot.n=10000)
95% CI (10000 stratified bootstrap replicates):
  se sp.low sp.median sp.high
0.0 1.0000    1.0000  1.0000
0.1 0.8889    0.9630  1.0000
0.2 0.8889    0.9630  1.0000
0.3 0.8519    0.9630  1.0000
0.4 0.8148    0.9274  1.0000
0.5 0.8148    0.9259  1.0000
0.6 0.7556    0.9048  1.0000
0.7 0.5580    0.8112  0.9585
0.8 0.4111    0.6444  0.8691
0.9 0.3352    0.5136  0.6963
1.0 0.0000    0.0000  0.5926

> ci.thresholds(a, boot.n=10000)
95% CI (10000 stratified bootstrap replicates):
thresholds sp.low sp.median sp.high se.low se.median se.high
       -Inf 0.0000    0.0000  0.0000 1.0000    1.0000  1.0000
  0.3723259 0.2593    0.4444  0.6296 0.9545    0.9848  1.0000
  0.6950756 0.5185    0.7037  0.8519 0.6818    0.7879  0.8788
  0.8096497 0.8148    0.9259  1.0000 0.4697    0.5909  0.7121
  0.9343796 0.8889    0.9630  1.0000 0.2273    0.3333  0.4394
        Inf 1.0000    1.0000  1.0000 0.0000    0.0000  0.0000

sens.ci <- ci.se(a, specificities=seq(0, 1, .1))
     plot(sens.ci, type="shape", col="lightblue")

sens.cp <- ci.sp(a, specificities=seq(0, 1, .1))
     plot(sens.cp, type="shape", col="blue")

     plot(sens.cp, type="bars")
     plot(sens.ci, type="bars")

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


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

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