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

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

4 страниц V   1 2 3 > »   
Добавить ответ в эту темуОткрыть тему
> Логистическая регрессия в R
nastushka
сообщение 28.06.2017 - 01:29
Сообщение #1


Дух форума
*

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



Подскажите, пожалуйста, кто чем может)). Я делаю логистическую регрессию. Все предикторы биноминальные (0,1). Y-зависимая переменная(бинарная 0 - нет события(это хорошо), 1-есть событие(это плохо)). Дело в том, что нули к нулям, он мало мальски правильно соотносит, но 50% единиц(плохих) у него попадают к нулям(хорошим).Т.е. неверное определение. Как понять, почему так происходит и что сделать, чтобы улучшить классификацию, хотя бы до 85% точности?
Доп. инфо, я гуглила, и нашла метод Feature Selection и его реализацию в R Boruta. Выделила 6 предикторов, думала счастье рядом, сейчас построила модель, но не тут-то было, классификация такая же некачественная:((
Может что-то не то сделала?((
Что делать? (с)(Чернышевский Н.Г.)
Прикрепленные файлы
Прикрепленный файл  data.zip ( 5,13 килобайт ) Кол-во скачиваний: 29
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 28.06.2017 - 08:07
Сообщение #2


Дух форума
*

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



Цитата(nastushka @ 28.06.2017 - 01:29) *
Подскажите, пожалуйста, кто чем может)). Я делаю логистическую регрессию. Все предикторы биноминальные (0,1). Y-зависимая переменная(бинарная 0 - нет события(это хорошо), 1-есть событие(это плохо)). Дело в том, что нули к нулям, он мало мальски правильно соотносит, но 50% единиц(плохих) у него попадают к нулям(хорошим).Т.е. неверное определение. Как понять, почему так происходит и что сделать, чтобы улучшить классификацию, хотя бы до 85% точности?
Доп. инфо, я гуглила, и нашла метод Feature Selection и его реализацию в R Boruta. Выделила 6 предикторов , думала счастье рядом ,сейчас построила модель, но не тут-то было, классификация такая же некачественная:((
Может что-то не то сделала?((
Что делать? (с)(Чернышевский Н.Г.)


1. Откуда "дровишки"? В смысле "датасет"?


2.
Код
df <- read.csv2("data.csv")

df <- data.frame(lapply(df, factor))

> randomForest(Y~., df)

Call:
randomForest(formula = Y ~ ., data = df)
               Type of random forest: classification
                     Number of trees: 500
No. of variables tried at each split: 4

        OOB estimate of  error rate: 38.47%
Confusion matrix:
     0   1 class.error
0 1305 232   0.1509434
1  602  29   0.9540412


Выборка несбалансирована. Если такое соотношение исходов в генсовокупности, то и пусть так будет. Но если это просто "так сложилось", необходимо получить модель для 1:1 и потом сделать трешоилд оптимальный для генсовокупности в которой модель будет применяться.

Код
> randomForest(Y~.,df, sampsize=c("0"=500, "1"=500))

Call:
randomForest(formula = Y ~ ., data = df, sampsize = c(`0` = 500,      `1` = 500))
               Type of random forest: classification
                     Number of trees: 500
No. of variables tried at each split: 4

        OOB estimate of  error rate: 31.83%
Confusion matrix:
    0   1 class.error
0 907 630  0.40988939
1  60 571  0.09508716


Если балансируем выборку, то видим "забавный" результат. Один из "исходов" зависимой переменной просто практически случаен.

Ну а Boruta честно улучшает различение неслучайного исхода зависимой переменной. На ~5 случаев.

Код
> randomForest(getConfirmedFormula(res.boruta),df,  sampsize=c("0"=500, "1"=500))

Call:
randomForest(formula = getConfirmedFormula(res.boruta), data = df,      sampsize = c(`0` = 500, `1` = 500))
               Type of random forest: classification
                     Number of trees: 500
No. of variables tried at each split: 3

        OOB estimate of  error rate: 31.78%
Confusion matrix:
    0   1 class.error
0 904 633  0.41184125
1  56 575  0.08874802


Сообщение отредактировал p2004r - 28.06.2017 - 08:08


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


Дух форума
*

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



Цитата(nastushka @ 28.06.2017 - 01:29) *
Подскажите, пожалуйста, кто чем может)).


Настя, hi.gif!

Сделал несколько вариантов анализа Вашего массива.
Вот лучшее уравнение:

Analysis of Maximum Likelihood Estimates

Standard Wald Standardized
Parameter DF Estimate Error Chi-Square Pr > ChiSq Estimate Label

Intercept 1 -0.1140 0.0764 2.2259 0.1357 Intercept: Y=0
X1 1 0.5680 0.1106 26.3749 <.0001 0.2467 X1
X3 1 1.3719 0.2735 25.1699 <.0001 0.3327 X3
X5 1 2.9687 1.0229 8.4227 0.0037 0.4436 X5
X8 1 1.0929 0.4541 5.7929 0.0161 0.2349 X8
X9 1 0.8818 0.3970 4.9331 0.0263 0.1993 X9
X11 1 0.4458 0.1158 14.8159 0.0001 0.1177 X11
X14 1 0.6613 0.2686 6.0622 0.0138 0.1365 X14
X16 1 0.2207 0.1289 2.9316 0.0869 0.0606 X16


Odds Ratio Estimates

Point 95% Wald
Effect Estimate Confidence Limits

X1 1.765 1.421 2.192
X3 3.943 2.307 6.739
X5 19.467 2.622 144.544
X8 2.983 1.225 7.263
X9 2.415 1.109 5.259
X11 1.562 1.245 1.960
X14 1.937 1.144 3.280
X16 1.247 0.969 1.605


Association of Predicted Probabilities and Observed Responses

Percent Concordant 71.8 Somers' D 0.554
Percent Discordant 16.4 Gamma 0.628
Percent Tied 11.8 Tau-a 0.229
Pairs 969847 c 0.777

Прикрепляю 2 графика с ROC-кривыми, а также таблицу сопряжённости фактических и предсказанных значений Y.

Могу выслать Вам 4 больших файла (объём 8,8 Мб) с более подробными результатами. Сообщите, на какой адрес отправить эти файлы.
Анализ этих результатов говорит о том, что что нужно разобраться с содержанием самого массива.
И отобрать новый массив.
Тогда и будут получены лучшие результаты.

Сообщение отредактировал leo_biostat - 28.06.2017 - 08:40
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Олег Кравец
сообщение 28.06.2017 - 18:32
Сообщение #4


Редколлегия журнала "Врач-аспирант"
*

Группа: Модераторы
Сообщений: 266
Регистрация: 1.02.2005
Из: Воронеж
Пользователь №: 93



Цитата(leo_biostat @ 28.06.2017 - 08:34) *
Сделал несколько вариантов анализа Вашего массива.


Спасибо. Прекрасный пример помощи.


Signature
О.Я.Кравец, д.т.н., проф.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 28.06.2017 - 18:40
Сообщение #5


Дух форума
*

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



Цитата(nastushka @ 28.06.2017 - 01:29) *
Подскажите, пожалуйста, кто чем может)). Я делаю логистическую регрессию. Все предикторы биноминальные (0,1). Y-зависимая переменная(бинарная 0 - нет события(это хорошо), 1-есть событие(это плохо)). Дело в том, что нули к нулям, он мало мальски правильно соотносит, но 50% единиц(плохих) у него попадают к нулям(хорошим).Т.е. неверное определение. Как понять, почему так происходит и что сделать, чтобы улучшить классификацию, хотя бы до 85% точности?
Доп. инфо, я гуглила, и нашла метод Feature Selection и его реализацию в R Boruta. Выделила 6 предикторов , думала счастье рядом ,сейчас построила модель, но не тут-то было, классификация такая же некачественная:((
Может что-то не то сделала?((
Что делать? (с)(Чернышевский Н.Г.)


ROC выглядит вот так как на атаче. Существуют только решения которые снабжены доверительным интервалом.

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

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

PS

Можно только по результатам применения модели сказать что "если модель сказала 0, то весьма вероятно что действительно 0. А если модель сказала 1, то подбрось монетку и выбери случайный исход между 0 и 1". (!все это в случае одинаковой частоты исходов в генсовокупности! для конкретной частоты исходов в генсовокупности решения полезного вообще может не быть !)

PPS

Судя по всему никакого "более лучшего решения" тут не существует по принципиальным ограничениям.

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

 


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


Дух форума
*

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



Цитата(nastushka @ 28.06.2017 - 01:29) *
Подскажите, пожалуйста, кто чем может)). Я делаю логистическую регрессию. Все предикторы биноминальные (0,1). Y-зависимая переменная(бинарная 0 - нет события(это хорошо), 1-есть событие(это плохо)). Дело в том, что нули к нулям, он мало мальски правильно соотносит, но 50% единиц(плохих) у него попадают к нулям(хорошим).Т.е. неверное определение. Как понять, почему так происходит и что сделать, чтобы улучшить классификацию, хотя бы до 85% точности?
Доп. инфо, я гуглила, и нашла метод Feature Selection и его реализацию в R Boruta. Выделила 6 предикторов , думала счастье рядом ,сейчас построила модель, но не тут-то было, классификация такая же некачественная:((
Может что-то не то сделала?((
Что делать? (с)(Чернышевский Н.Г.)


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



Код
> table(df$x1, df$x11, df$Y )
, ,  = 0

  
      0   1
  0 355 684
  1  22 223
  2   8 182
  3   0  63

, ,  = 1

  
      0   1
  0 355 203
  1  22  28
  2   8  12
  3   0   3


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nastushka
сообщение 28.06.2017 - 20:39
Сообщение #7


Дух форума
*

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



p2004r, суперски
leo_biostat, а можете как и p2004r тоже дать исходный код, хочу сама получить такие ре-ты:))
p2004r, что касается дровишек ,я не могу говорить, поэтому и закодировала в иксы и игрике, но это фин скоринг .
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nastushka
сообщение 28.06.2017 - 21:23
Сообщение #8


Дух форума
*

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



Что касается данных, то такие переменные как:
x3 x4 x5 x6 x8 x10 x11 x13 x14 x15 x16 x17
изначально метрические, я просто в отчаянии, когда ничего не получалось, их перевела в дихотомическую шкалу, принцип перевода был простой, если есть значение, то 1, нет , то 0.
оригинальный датасет вот
на мой взгляд ключевая переменная x13 (количество шарашек оформленный на одно ФИО)
x11 сколько было судебных дел
х15 количество дочерних фирм
х8 сколько нарушений выявила налоговая полиция

остальные не важно:)
Если выше указанные переменные оставить метрическими, это может повлиять на ре-тат лог.регрессии?, у меня когда они были метрические, процент ошибок отнесения единиц (это событие обмана) к нулям был адский.,
Прикрепленные файлы
Прикрепленный файл  data.zip ( 22,67 килобайт ) Кол-во скачиваний: 24
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nokh
сообщение 28.06.2017 - 22:38
Сообщение #9


Дух форума
*

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



Цитата(nastushka @ 29.06.2017 - 00:23) *
Что касается данных, то такие переменные как:
x3 x4 x5 x6 x8 x10 x11 x13 x14 x15 x16 x17
изначально метрические, я просто в отчаянии, когда ничего не получалось, их перевела в дихотомическую шкалу, принцип перевода был простой, если есть значение, то 1, нет , то 0.
оригинальный датасет вот
на мой взгляд ключевая переменная x13 (количество шарашек оформленный на одно ФИО)
x11 сколько было судебных дел
х15 количество дочерних фирм
х8 сколько нарушений выявила налоговая полиция

остальные не важно:)
Если выше указанные переменные оставить метрическими, это может повлиять на ре-тат лог.регрессии?, у меня когда они были метрические, процент ошибок отнесения единиц (это событие обмана) к нулям был адский.,

Хотел высказаться по первому набору, но прочитав этот пост засомневался. Смотрите, что получается. Чисто из жизненного опыта, расшифрованные вами 4 показателя должны быть показателями риска, т.е. их наличие должно увеличивать риск Y=1 (обман). В вашем же первом наборе они являются протекторными показателями, т.е. их наличие, напротив, снижает риск 1. Вы не напутали с кодировками?

"на мой взгляд ключевая переменная x13", "остальные не важно:)"
Не верю! (с) (Станиславский К.С.) Нужно считать относительные риски: найти % события в группе Y=0 и % события в Y=1, а затем правильно разделить одно на другое.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 28.06.2017 - 23:14
Сообщение #10


Дух форума
*

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



Цитата(nastushka @ 28.06.2017 - 20:39) *
p2004r, суперски
leo_biostat, а можете как и p2004r тоже дать исходный код, хочу сама получить такие ре-ты:))
p2004r, что касается дровишек ,я не могу говорить, поэтому и закодировала в иксы и игрике, но это фин скоринг .



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

Код
> nrow(unique(df[,-1]))
[1] 414
> nrow(df[,-1])
[1] 2168

> table(do.call(paste0,as.list(df[,-1])), df$Y)
                  
                     0   1
  0000000000000000  36  36
  0000000000000011   2   2
  0000000000000100   1   1
  0000000000000111   1   1
  0000000000001000  18  18
  0000000000001011   3   3
  0000000000001111   1   1
  0000000000010000 146 146
  0000000000010010   2   2
  0000000000010011  29  29
  0000000000010100   1   1
  0000000000010110   2   2
  0000000000011000  88  88
  0000000000011011  23  23
  0000000000011100   1   1
  0000000000100000  17  15
  0000000000100011   8   3
  0000000000100100   1   0
  0000000000100111   2   0
  0000000000101000  11  10
  0000000000101010   1   1
  0000000000101011   5   0
  0000000000101111   3   0
  0000000000110000  75  72
  0000000000110010   2   2
  0000000000110011  36  28
  0000000000110100   4   2
  0000000000110111   3   1
  0000000000111000  44  39
  0000000000111001   1   1
  0000000000111010   4   3
  0000000000111011  16  11
  0000000000111100   2   1
  0000000000111111   8   2
  0000000010111011   2   2
  0000000101100111   1   0
  0000000101101011   1   0
  0000000101110000   1   0
  0000000101110111   1   0
  0000000101111000   1   0
  0000000101111100   1   0
  0000000111100011   1   0
  0000000111100111   2   0
  0000000111101000   1   0
  0000000111101011   1   0
  0000000111101100   1   0
  0000000111110011   1   0
  0000000111110111   2   0
  0000000111111011   3   0
  0000000111111111   3   0
  0000110000100000   3   0
  0000110000100100   7   0
  0000110000101100   4   0
  0000110000110000   1   0
  0000110000110100   4   0
  0000110000111000   1   0
  0000110000111100   2   0
  0000110010100000   1   0
  0000110010101000   2   0
  0000110010110000   1   0
  0000110010110100   2   0
  0000110010111000   3   0
  0000110101110100   1   0
  0000110101111000   1   0
  0000110111100000   4   0
  0000110111100100   3   0
  0000110111101000   3   0
  0000110111110100   5   0
  0000110111111000   1   0
  0011000000010000   1   1
  0011000000100000   1   1
  0011000000100111   1   1
  0011000000110011   4   0
  0011000000110111   2   0
  0011000000111000   3   1
  0011000000111011   8   2
  0011000000111111   5   0
  0011000010100011   2   0
  0011000010101000   1   0
  0011000010110011   3   0
  0011000010110111   2   0
  0011000010111000   1   0
  0011000010111011   5   0
  0011000010111111   3   0
  0011000101100011   2   0
  0011000101100111   1   0
  0011000101101011   3   0
  0011000101101111   2   0
  0011000101111111   4   0
  0011000111100111   2   0
  0011000111101011   3   0
  0011000111101111   9   0
  0011000111110011   4   0
  0011000111110111   3   0
  0011000111111010   1   0
  0011000111111011   5   0
  0011000111111111   3   0
  0011001000110011   1   0
  0011001111100111   1   0
  0011110000100000   1   0
  0011110000100100   9   0
  0011110000101000   1   0
  0011110000101100   1   0
  0011110000110100   5   0
  0011110000111000   1   0
  0011110000111100   2   0
  0011110010100000   2   0
  0011110010100011   1   0
  0011110010101000   1   0
  0011110010110000   1   0
  0011110010110011   2   0
  0011110010111000   1   0
  0011110010111111   1   0
  0011110101100100   1   0
  0011110101101000   1   0
  0011110101101011   1   0
  0011110101101100   1   0
  0011110101111100   2   0
  0011110111100000   2   0
  0011110111100011   1   0
  0011110111100100   3   0
  0011110111101011   2   0
  0011110111101100   1   0
  0011110111101111   1   0
  0011110111110011   2   0
  0011110111110100   3   0
  0011110111111011   1   0
  0011110111111100   1   0
  0011111101110000   1   0
  0011111111101100   1   0
  0100000000101000   1   0
  0100000000101011   1   0
  0100000000110011   1   1
  0100000000110100   1   0
  0100000010101111   1   0
  0100000010110011   1   0
  0100000010111011   2   0
  0100000101100011   1   0
  0100000101111011   1   0
  0100000111100000   1   0
  0100000111100011   2   0
  0100000111100100   1   0
  0100000111100111   2   0
  0100000111101011   2   0
  0100000111101111   3   1
  0100000111110011   2   0
  0100000111110100   2   0
  0100000111110111   4   0
  0100000111111011   3   0
  0100000111111111   6   0
  0100001111110111   1   0
  0100001111111111   3   0
  0100110000110100   1   0
  0100110010100000   1   0
  0100110111100000   1   0
  0100110111100111   1   0
  0100110111101000   1   0
  0100110111111000   2   0
  0100110111111111   1   0
  0111000000110000   1   0
  0111000000110011   1   0
  0111000000110101   1   0
  0111000000110111   1   0
  0111000000111011   1   0
  0111000000111111   1   0
  0111000010100111   2   0
  0111000010101011   1   0
  0111000010101111   1   0
  0111000010110000   1   0
  0111000010110011   2   0
  0111000010110111   2   0
  0111000010111111   1   0
  0111000101100100   1   0
  0111000101100111   1   0
  0111000101111011   2   1
  0111000111100000   1   0
  0111000111100011   7   0
  0111000111100100   4   0
  0111000111100111   4   0
  0111000111101000   1   0
  0111000111101011   7   0
  0111000111101111  10   1
  0111000111110011   8   0
  0111000111110100   3   0
  0111000111110111  14   0
  0111000111111000   1   0
  0111000111111011  14   0
  0111000111111100   3   0
  0111000111111111  16   0
  0111001010101100   1   0
  0111001111100111   2   0
  0111001111101111   1   0
  0111001111110111   1   0
  0111001111111111   1   0
  0111110000100111   1   0
  0111110000101111   1   0
  0111110010100000   1   0
  0111110010100111   1   0
  0111110010110000   2   0
  0111110010110100   1   0
  0111110010110111   1   0
  0111110101101000   1   0
  0111110101110000   1   0
  0111110101111111   1   0
  0111110111100000   1   0
  0111110111100011   1   0
  0111110111100111   4   0
  0111110111101000   5   0
  0111110111101011   3   0
  0111110111101100   3   0
  0111110111101111   5   0
  0111110111110000   2   0
  0111110111110011   2   0
  0111110111110100   4   0
  0111110111110111   3   0
  0111110111111000   3   0
  0111110111111011   5   0
  0111110111111100   1   0
  0111110111111111   7   1
  0111111111110000   1   0
  1000000000000011   2   2
  1000000000010000   6   6
  1000000000010001   2   2
  1000000000010010   2   2
  1000000000010011   5   5
  1000000000011000   1   1
  1000000000011011   3   3
  1000000000100000   5   0
  1000000000100011   9   0
  1000000000101000   1   0
  1000000000101011   6   0
  1000000000101111   1   0
  1000000000110000  25   4
  1000000000110001   1   1
  1000000000110010   4   1
  1000000000110011  25   5
  1000000000110100   1   1
  1000000000110111   2   0
  1000000000111000   9   3
  1000000000111010   1   1
  1000000000111011  25   2
  1000000000111100   1   1
  1000000000111111   1   0
  1000000010100011   1   1
  1000000010110011   5   1
  1000000010111000   1   1
  1000000010111011   1   0
  1000000010111111   1   0
  1000000101110011   1   0
  1000000111110000   1   0
  1000000111110011   1   1
  1011000000100000   3   0
  1011000000100011   5   0
  1011000000101000   3   0
  1011000000101011   4   0
  1011000000110000   2   0
  1011000000110011  18   2
  1011000000111000   4   1
  1011000000111011  17   1
  1011000000111110   1   0
  1011000000111111   1   0
  1011000010101011   1   0
  1011000010110011   4   0
  1011000010111011   1   0
  1011000010111111   1   0
  1011000101101011   1   0
  1011000101111000   1   0
  1011000101111011   1   0
  1011000111110011   1   0
  1100000000011000   1   1
  1100000000110011   1   0
  1100000000110111   1   0
  1100000000111011   3   1
  1100000010110111   1   0
  1100000111110011   1   0
  1111000000100000   1   0
  1111000000100011   1   0
  1111000000101011   1   0
  1111000000110011   3   0
  1111000000110100   1   0
  1111000000111000   1   0
  1111000000111011   3   0
  1111000000111111   1   0
  1111000010110011   1   0
  1111000010111011   1   0
  1111000101110011   1   0
  1111000111101011   1   0
  1111000111110011   1   0
  1111000111111011   1   0
  2000000000000000   1   1
  2000000000010000   2   2
  2000000000010001   1   1
  2000000000010011   1   1
  2000000000011000   1   1
  2000000000100011   1   0
  2000000000101011   2   1
  2000000000110000   1   0
  2000000000110010   1   1
  2000000000110011  15   4
  2000000000110110   1   0
  2000000000110111   3   0
  2000000000111000   3   0
  2000000000111011  19   2
  2000000000111111   3   0
  2000000010101011   1   0
  2000000010110011   1   0
  2000000010110111   1   0
  2000000010111011   1   0
  2000000101101011   1   0
  2000000101110111   1   0
  2000000101111011   3   2
  2000000101111111   1   0
  2000000111110011   1   0
  2000000111111011   2   0
  2000000111111110   1   0
  2011000000000011   1   1
  2011000000100011   4   0
  2011000000101011   7   0
  2011000000101111   1   0
  2011000000110000   1   0
  2011000000110011   6   1
  2011000000110111   3   0
  2011000000111011  14   0
  2011000000111111   1   0
  2011000010100011   1   0
  2011000010101011   1   0
  2011000010110011   3   0
  2011000010111011   7   0
  2011000010111111   1   0
  2011000101101011   3   0
  2011000101101111   1   0
  2011000101110000   1   0
  2011000101110011   2   0
  2011000101110111   1   0
  2011000111100111   1   0
  2011000111101011   3   0
  2011000111110000   1   0
  2011000111110011   2   0
  2011000111110111   1   0
  2011000111111011   2   0
  2011000111111111   6   0
  2100000000100000   2   0
  2100000000110011   2   1
  2100000000111011   2   0
  2100000000111111   1   0
  2100000010111011   1   0
  2100000101111011   1   0
  2100000101111100   1   0
  2100000111101011   1   0
  2100000111111011   1   0
  2100000111111111   1   0
  2111000000010011   1   1
  2111000000100011   1   0
  2111000000110111   1   0
  2111000000111011   2   0
  2111000000111111   3   0
  2111000010100111   1   0
  2111000010101011   1   0
  2111000010101111   1   0
  2111000010110011   2   0
  2111000010110111   1   0
  2111000010111011   5   0
  2111000111100011   2   0
  2111000111101011   2   0
  2111000111110011   2   0
  2111000111110111   2   0
  2111000111111011   6   0
  3000000000100011   2   0
  3000000000100111   1   0
  3000000000110000   1   0
  3000000000110011   1   0
  3000000000111011   4   0
  3000000000111111   1   0
  3000000010100011   1   0
  3000000010101011   2   1
  3000000101111011   1   0
  3000000111110011   2   0
  3000000111111111   2   0
  3011000000101011   1   0
  3011000000110011   1   0
  3011000000110111   1   1
  3011000000111011   4   0
  3011000000111111   1   0
  3011000010101011   1   0
  3011000010101111   1   0
  3011000010111111   1   0
  3011000101100011   1   0
  3011000111100011   1   1
  3011000111101011   1   0
  3011000111101111   1   0
  3011000111111011   4   0
  3011000111111111   2   0
  3011001010111011   1   0
  3100000000101111   1   0
  3100000000110111   1   0
  3100000000111111   1   0
  3100000010111011   1   0
  3100000101110011   1   0
  3100000111100011   1   0
  3100000111101111   2   0
  3100000111111111   2   0
  3111000000100011   1   0
  3111000000101011   1   0
  3111000000111011   1   0
  3111000010101011   1   0
  3111000101111011   1   0
  3111000111100011   1   0
  3111000111100111   1   0
  3111000111101011   1   0
  3111000111101111   1   0
  3111000111110011   1   0
  3111000111111011   1   0
  3111000111111111   1   0
  3111001111111111   1   0


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


Дух форума
*

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



nokh, а как это сделать?)) Имеете ввиду регрессию Кокса?
p2004r, в принципе такое может быть, но проблема в том, что проверить это нельзя, данные не я собираю, я бы была более внимательной, их дает манагер.
А можно совпадающие кейсы просто удалить, чтобы они не путали мне модель и манагеру честно признаться, что я это удалила.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nastushka
сообщение 29.06.2017 - 18:01
Сообщение #12


Дух форума
*

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



манагер одобрил удалять совпадающие наблюдения
Подскажите, как это сделать?
table(do.call(paste0,as.list(df[,-1])), df$Y)
Т.е. нашла наблюдение, как их удалять?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 29.06.2017 - 19:49
Сообщение #13


Дух форума
*

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



Цитата(nastushka @ 29.06.2017 - 18:01) *
манагер одобрил удалять совпадающие наблюдения
Подскажите, как это сделать?
table(do.call(paste0,as.list(df[,-1])), df$Y)
Т.е. нашла наблюдение, как их удалять?


Вот эти "склеенные" которые имеют _точно_ одинаковое число в 0 и 1 исходах надо попробовать (каждое по очереди) удалить сначала из 0 и смотреть на то как реагирует статистика модели.

Выделить достаточно просто, вот номера первой строчки из таблицы, которые по Y равны "0":

Код
> which(do.call(paste0,as.list(df[,-1]))=="0000000000000000" & df$Y == "0")
[1]  778  852 1149 1150 1219 1231 1259 1307 1373 1375 1382 1413 1611 1643 1652
[16] 1683 1720 1743 1746 1770 1776 1784 1785 1814 1854 1889 1893 1914 1933 1947
[31] 1960 1962 1978 2000 2011 2018


как видим их и есть 36



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


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


Дух форума
*

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



фух) я запарилась в ручную это перебирать)) p2004r, а нельзя ли R заставить это ужасную монотонную работу автоматизировать, пока у меня голова не взорвалась?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 30.06.2017 - 23:53
Сообщение #15


Дух форума
*

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



Цитата(nastushka @ 30.06.2017 - 18:23) *
фух) я запарилась в ручную это перебирать)) p2004r, а нельзя ли R заставить это ужасную монотонную работу автоматизировать, пока у меня голова не взорвалась?


зачем вручную?

Вот номера первых десяти уникальных + условие Y == 0

Код
> unique(do.call(paste0,as.list(df[,-1])))[1:10]
[1] "0000000000010000" "0000000000001000" "1000000000110000" "0000000000110000"
[5] "0000000000100000" "0000000000011000" "0000000000111000" "0000000000000000"
[9] "0000000000011011" "0000000000101000"


> do.call(c, lapply(unique(do.call(paste0,as.list(df[,-1])))[1:10], function(m) which(do.call(paste0,as.list(df[,-1]))== m & df$Y == "0")))
  [1]  660  665  698  701  711  712  762  785  800  817  827  848  855  857  858
[16]  860  862  863  892  974 1018 1026 1051 1055 1069 1070 1151 1152 1194 1198
[31] 1199 1228 1237 1266 1269 1278 1279 1280 1281 1286 1305 1341 1356 1357 1374
[46] 1377 1378 1379 1386 1392 1399 1436 1444 1446 1459 1478 1479 1482 1485 1486
[61] 1489 1490 1530 1534 1565 1619 1636 1647 1654 1656 1667 1669 1670 1684 1685
[76] 1687 1691 1696 1703 1719 1724 1731 1732 1736 1745 1752 1769 1774 1786 1790
[91] 1794 1800 1806 1809 1822 1824 1828 1834 1835 1836 1837 1838 1843 1846 1869
[106] 1871 1874 1875 1877 1881 1890 1891 1894 1897 1898 1899 1902 1907 1918 1920
[121] 1922 1923 1928 1929 1936 1942 1945 1946 1948 1949 1953 1955 1958 1961 1979
[136] 1980 1989 1992 1994 1999 2004 2009 2032 2033 2037 2052  685  795  868 1004
[151] 1206 1481 1509 1535 1564 1646 1649 1658 1668 1728 1744 1865 1896 1993  690
[166]  713  715  738  833  870  900  960  972 1079 1111 1162 1250 1447 1524 1604
[181] 1622 1813 1903 1969 2024 2085 2107 2125 2129  702  761  773  851  859  871
[196]  872  884  937  957  977  979  997 1031 1035 1050 1109 1144 1182 1196 1221
[211] 1262 1263 1267 1271 1273 1275 1276 1277 1328 1334 1351 1362 1365 1380 1393
[226] 1395 1406 1407 1410 1425 1426 1437 1457 1472 1543 1567 1612 1613 1639 1682
[241] 1697 1709 1766 1777 1783 1787 1791 1808 1819 1839 1857 1860 1880 1887 1895
[256] 1912 1930 1963 2005 2030 2036 2043 2051 2105  704  844  924  951 1121 1232
[271] 1236 1385 1453 1458 1474 1560 1598 1742 1882 2022 2050  705  772  846  847
[286]  889  987  989 1023 1034 1089 1090 1127 1128 1129 1130 1153 1180 1202 1220
[301] 1230 1264 1265 1270 1401 1433 1445 1483 1585 1587 1595 1597 1638 1650 1653
[316] 1657 1666 1676 1681 1698 1701 1705 1706 1708 1722 1723 1733 1735 1749 1750
[331] 1751 1763 1764 1772 1773 1782 1789 1793 1798 1801 1807 1818 1847 1855 1861
[346] 1864 1867 1868 1872 1884 1886 1900 1908 1909 1917 1934 1951 1967 1977 1981
[361] 1988 1991 2001 2007 2008 2012 2031 2057 2120  706  777  874  890 1036 1056
[376] 1117 1133 1168 1197 1213 1332 1396 1397 1443 1521 1527 1586 1629 1641 1642
[391] 1675 1692 1707 1710 1716 1762 1815 1820 1823 1842 1859 1873 1910 1916 1919
[406] 1943 1959 1982 1996 2093 2103 2110 2163  778  852 1149 1150 1219 1231 1259
[421] 1307 1373 1375 1382 1413 1611 1643 1652 1683 1720 1743 1746 1770 1776 1784
[436] 1785 1814 1854 1889 1893 1914 1933 1947 1960 1962 1978 2000 2011 2018  780
[451]  796  895  897 1158 1249 1451 1466 1491 1635 1702 1721 1737 1797 1802 1821
[466] 1888 1913 1964 1990 2002 2014 2035  744  792  941  943 1126 1268 1317 1686
[481] 1844 1940 1957


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

удалить их просто "данные[-номера, ]"


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

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