Логистическая регрессия? |
Здравствуйте, гость ( Вход | Регистрация )
Логистическая регрессия? |
18.11.2011 - 11:56
Сообщение
#46
|
|
Группа: Пользователи Сообщений: 1325 Регистрация: 27.11.2007 Пользователь №: 4573 |
p2004r, вы продемонстрировали, что моделирование - это искусство. У Автора есть первичная клиническая гипотеза, и есть достаточно средств, чтобы выбрать лучшее статистическое доказательство.
|
|
25.11.2011 - 11:16
Сообщение
#47
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
Медленно но верно тем самым и занимаюсь. Мне нужно вникнуть в суть самого метода, а на это времени катастрофически не хватает. А по поводу клинической гипотезы скажу. Что лучше всего новому методу лечения как раз должны поддаваться МТС размером 2-3см, конечно округление до 0,5 условно, можно наверное разделить и по 1 см. МТС размером больше 3,5 см часто не могут подвергнуться полному удалению и тогда высок риск рецидива, а слишком маленькие могут быть не удалены из-за плохой визуализации.
|
|
5.12.2011 - 12:47
Сообщение
#48
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
Начала с самого начала и сразу проблема: при открытии рабочего пространства выдает "ошибка: неправильное магическое число файла (файл может быть поврежден) данные не загружены Вдобавок: предупреждение файл "имя" имеет магическое число 'непонятные знаки' использование сохраненных версий более ранних чем 2 не одобряется" - чтобы это могло значить? Может быть то же самое можно сделать в другой кнопочной программе (есть SPSS, statistica6, attestat). Спасибо.
|
|
5.12.2011 - 13:21
Сообщение
#49
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Начала с самого начала и сразу проблема: при открытии рабочего пространства выдает "ошибка: неправильное магическое число файла (файл может быть поврежден) данные не загружены Вдобавок: предупреждение файл "имя" имеет магическое число 'непонятные знаки' использование сохраненных версий более ранних чем 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
Прикрепленные файлы
|
|
6.12.2011 - 13:38
Сообщение
#50
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
Все делаю как написано программа отвечает : не могу открыть соединение, не могу открыть файл, сохраняю его в расширении CSV(разделитель запятые)?
Теперь по теории. Понимаю что мне нужно что-то почитать желательно с примерами, может дадите ссылку. Потому что до момента разбиения на интервалы и определения количества попадания в эти интервалы МТС я поняла а дальше туман. Например новые данные для 1 случая 40010 это значит 4 попали в первый интервал, 1 в четвертый? |
|
6.12.2011 - 14:30
Сообщение
#51
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Все делаю как написано программа отвечает : не могу открыть соединение, не могу открыть файл, сохраняю его в расширении 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 |
|
8.12.2011 - 19:58
Сообщение
#52
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
[quote name='p2004r' date='6.12.2011 - 15:30' post='12448']
1. В предыдущем посте присоединен раровский архив, в нем готовый csv файл. Это он не читается примером команды из форума? И он тоже, на этот файл программа выдает туже ошибку. |
|
8.12.2011 - 21:35
Сообщение
#53
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
И он тоже, на этот файл программа выдает туже ошибку. 1) вы его распаковали ? 2) какую команду вводите на загрузку? скопируйте что происходит в окне ввода команд в ответ |
|
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 > > Вот такие результаты выдает |
|
12.12.2011 - 00:42
Сообщение
#55
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
> data <- read.csv2("кол-во-размер-рецидив.csv") No such file or directory попробуйте вот так, положив файл в папку на диск C: data <- read.csv2("c:\\имя _папки_с_данными_на_диске_С\\кол-во-размер-рецидив.csv") |
|
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] "номер"" Еще раз спасибо за Ваш нелегкий труд |
|
13.12.2011 - 10:50
Сообщение
#57
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Спасибо, данные ввелись. Вопрос 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. Возможно это следствие несовпадения кодировки, попробуйте на вновь импортированных данных. |
|
18.12.2011 - 17:16
Сообщение
#58
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Для посчитанных мною по вашим коэффициентам, приведенным выше, значение площади ROC максимально=0,85, по приведенным вами вероятностям, чуть ниже 0,83. А по моей модели учитывающей только число и макс размер 0,79. Статистически площади на различаются. Отличная библиотека для работы с ROC, развитая графика http://web.expasy.org/pROC/ встроенный бутстреп используется легко и непринужденно Код > 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") |
|