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

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

41 страниц V   1 2 3 > » 

p2004r
Отправлено: 26.06.2018 - 22:51


Дух форума
*

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


Цитата(passant @ 26.06.2018 - 19:48) *
Если "change point" неизвестна, даже на монотонном тренде - то вот вам две абслоютно реальные задачи
- найти точку, в которой тренд меняет скорость возрастания/убывания
- найти точку в котором меняется дисперсия и/или другие характеристики ряда (например - автокорреляция).
Обе задачи абсолютно реальны, например, в технической диагностике, в задачах компьютерной безопасности, в экономике. Я уверен, что и в медицине можно кучу ситуаций свести к этим.
Если - как у ТС - "change point" известна, то задаче действительно сильно упрощается. Не надо обнаруживать точку (которая то-ли есть, то-ли ее нет), а надо просто выяснить, остались-ли характеристики ряда на интервале "до" и на интервале "после" неизменными или же изменились. Следующее - и последнее- упрощение: вообще убрать время из рассмотрения, что судя по всему удовлетворяет ТС.


Я вот тут о другом подумал - а не может количество "бракованных" образцов зависеть от других факторов, например - как от индивидуальных особенностей конкретных пациентов, так и от опыта лаборанта, берущего образец и пр. (Сорри, если вопросы с точки зрения медицины ламмерские, но теоретические такие факторы могут иметь место).


И делать все это с помощью дисперсионного анализа? Это временной ряд и придумано просто куча методов нахождения когда эти самые ченчпойн наступают, никакие велосипеды тут не нужны. А любые упрощения надо обосновывать, в медицине и так "наудовлетворялись" в области статистики в отечественных публикациях до предела.

Пусть данные топикстартер покажет, все остальное это пустые предположения на ничем не ограниченном множестве возможных ситуаций.
  Форум: Медицинская статистика · Просмотр сообщения: #23121 · Ответов: 30 · Просмотров: 802

p2004r
Отправлено: 26.06.2018 - 22:45


Дух форума
*

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


Цитата(Алексей Лк @ 26.06.2018 - 19:18) *
Я уже писал выше что даты не важны, там две точки - дата смены курьера и равные временные интервалы по обе стороны от этой даты, вмещающие в себя обе выборки. У вас есть мысли как правильно считать FA?


Продолжайте считать.
  Форум: Медицинская статистика · Просмотр сообщения: #23120 · Ответов: 30 · Просмотров: 802

p2004r
Отправлено: 26.06.2018 - 19:13


Дух форума
*

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


Цитата(Алексей Лк @ 26.06.2018 - 13:52) *
А можно подробнее, что вы имеете ввиду? Вам нужны данные по средему, медиане, 25 и 75 процентилям, стандартному отклонению? Или что то еще?


Нужен ряд событий с датами когда они произошли (можно агрегированный по датам). Без этого эти рассуждения будут вечными (тут уже совсем не давно например обсуждали случай ДА с числом групп равным числу случаев smile.gif ).
  Форум: Медицинская статистика · Просмотр сообщения: #23111 · Ответов: 30 · Просмотров: 802

p2004r
Отправлено: 26.06.2018 - 19:08


Дух форума
*

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


Цитата(passant @ 26.06.2018 - 12:31) *
При всем уважении, а какую трудность в анализе Вы заметили?
Временной ряд? Возможно рассматривать и с этой позиции. Но! Нам точно известна change point. Да, можно проанализировать ряд "до", посмотреть, есть-ли тренд и/или сезонность, потом - если есть - сделать предсказание и сравнить с рядом "после". В общем-то то-же классическая задача. Если же тренда вообще нет - то задача вообще становиться тривиальной.
Впрочем, допускаю, что я что-то сугубо "медицинское" упустил. Буду рад за уточнения.


При всем уважении, ну как поможет знание "change point" на монотонно возрастающем (или убывающем) тренде?

Ну а остальные метания в правильном направлении. smile.gif
  Форум: Медицинская статистика · Просмотр сообщения: #23110 · Ответов: 30 · Просмотров: 802

p2004r
Отправлено: 26.06.2018 - 12:05


Дух форума
*

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



Это временной ряд, про стационарность которого мы ничего не знаем. Поэтому весь этот энтузиазм в треде мне не понятен. Надо видеть данные.
  Форум: Медицинская статистика · Просмотр сообщения: #23097 · Ответов: 30 · Просмотров: 802

p2004r
Отправлено: 19.06.2018 - 12:52


Дух форума
*

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


"Кочережек"(С)"Наблюденные"(С)


А данные где?
  Форум: Медицинская статистика · Просмотр сообщения: #23081 · Ответов: 5 · Просмотров: 691

p2004r
Отправлено: 13.06.2018 - 19:44


Дух форума
*

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


Цитата(100$ @ 13.06.2018 - 16:02) *
А у randomForest'a SRC (я даже и не знал о таком, вот уж "век живи ..., а дураком помрешь") есть какие-то очевидные/неочевидные преимущества перед "просто" randomForest?


Просто {randomForest} это референтная реализация оригинального метода автора прямо по его статье. Например SRC не ограничен в числе уровней факторов в модели.
  Форум: Медицинская статистика · Просмотр сообщения: #23065 · Ответов: 6 · Просмотров: 582

p2004r
Отправлено: 13.06.2018 - 15:34


Дух форума
*

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


Цитата(100$ @ 13.06.2018 - 14:03) *
А вот интересно, почему при выращивании леса узлы расщепляются по Gini, а при селекции переменных используется Minimal Depth? И почему при таком раскладе метод не смог выдать относительную важность предикторов (vimp=NA)? До такой степени плохой датасет?

А чем обусловлен выбор PCA3 vs. PCA5? В первых двух ГК все совсем плохо?


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

Код
> res.pca.rfsrc
                         Sample size: 118
           Frequency of class labels: 102, 16
                     Number of trees: 5000
           Forest terminal node size: 1
       Average no. of terminal nodes: 8.3986
No. of variables tried at each split: 3
              Total no. of variables: 5
                            Analysis: RF-C
                              Family: class
                      Splitting rule: gini
              Normalized Brier score: 85.2
                          Error rate: 0.32, 0.27, 0.62

Confusion matrix:

          predicted
  observed  0  1 class.error
         0 74 28      0.2745
         1 10  6      0.6250

    Overall error rate: 32.2%
> randomForestSRC::var.select(res.pca.rfsrc, nrep = 40)
minimal depth variable selection ...


-----------------------------------------------------------
family             : class
var. selection     : Minimal Depth
conservativeness   : medium
x-weighting used?  : TRUE
dimension          : 5
sample size        : 118
ntree              : 5000
nsplit             : 0
mtry               : 3
nodesize           : 1
refitted forest    : FALSE
model size         : 2
depth threshold    : 2.0305
PE (true OOB)      : 0.322 0.2745 0.625


Top variables:
    depth vimp
PC5 1.476   NA
PC3 1.833   NA


Ну и сама модель (чистого vimp отбора нет в randomForestSRC, только случайный поиск)

Код
> res.rfsrc <- rfsrc(КИН~.,
+                    data=na.omit(df.cin[,-1]),
+                    case.wt = randomForestSRC:::make.wt(na.omit(df.cin)$КИН),
+                    sampsize = randomForestSRC:::make.size(na.omit(df.cin)$КИН),
+                    ntree = 5000,
+                    importance=TRUE)
> res.rfsrc
                         Sample size: 116
           Frequency of class labels: 100, 16
                     Number of trees: 5000
           Forest terminal node size: 1
       Average no. of terminal nodes: 8.6186
No. of variables tried at each split: 3
              Total no. of variables: 9
                            Analysis: RF-C
                              Family: class
                      Splitting rule: gini
              Normalized Brier score: 80.85
                          Error rate: 0.28, 0.23, 0.56

Confusion matrix:

          predicted
  observed  0  1 class.error
         0 77 23      0.2300
         1  9  7      0.5625

    Overall error rate: 27.59%
> randomForestSRC::var.select(res.rfsrc, nrep = 40)
minimal depth variable selection ...


-----------------------------------------------------------
family             : class
var. selection     : Minimal Depth
conservativeness   : medium
x-weighting used?  : TRUE
dimension          : 9
sample size        : 116
ntree              : 5000
nsplit             : 0
mtry               : 3
nodesize           : 1
refitted forest    : FALSE
model size         : 5
depth threshold    : 2.969
PE (true OOB)      : 0.2759 0.23 0.5625


Top variables:
          depth vimp.all vimp.0 vimp.1
возраст   2.651    0.007  0.016  0.033
тропонин  2.790    0.001  0.006  0.012
КФК2      2.856    0.002  0.008 -0.001
креатинин 2.912    0.002  0.009 -0.001
калий     2.927    0.003  0.008  0.008
-----------------------------------------------------------
> randomForestSRC::var.select(res.rfsrc, nrep = 40, method = "vh.vimp")
---------------------  Iteration: 1   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.087      dim: 2
---------------------  Iteration: 2   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 1
---------------------  Iteration: 3   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.2609      dim: 1
---------------------  Iteration: 4   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 2
---------------------  Iteration: 5   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1739      dim: 2
---------------------  Iteration: 6   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.3333      dim: 2
---------------------  Iteration: 7   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1667      dim: 1
---------------------  Iteration: 8   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.2083      dim: 2
---------------------  Iteration: 9   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.2609      dim: 1
---------------------  Iteration: 10   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 2
---------------------  Iteration: 11   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1739      dim: 2
---------------------  Iteration: 12   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1739      dim: 2
---------------------  Iteration: 13   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.0833      dim: 1
---------------------  Iteration: 14   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 1
---------------------  Iteration: 15   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.2174      dim: 2
---------------------  Iteration: 16   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.2174      dim: 2
---------------------  Iteration: 17   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.2174      dim: 2
---------------------  Iteration: 18   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 1
---------------------  Iteration: 19   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 2
---------------------  Iteration: 20   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1739      dim: 2
---------------------  Iteration: 21   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.2174      dim: 2
---------------------  Iteration: 22   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.375      dim: 1
---------------------  Iteration: 23   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1739      dim: 2
---------------------  Iteration: 24   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 2
---------------------  Iteration: 25   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.0435      dim: 2
---------------------  Iteration: 26   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.3043      dim: 2
---------------------  Iteration: 27   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 2
---------------------  Iteration: 28   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 2
---------------------  Iteration: 29   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1739      dim: 2
---------------------  Iteration: 30   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.087      dim: 2
---------------------  Iteration: 31   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.2083      dim: 2
---------------------  Iteration: 32   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1739      dim: 2
---------------------  Iteration: 33   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1739      dim: 2
---------------------  Iteration: 34   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 2
---------------------  Iteration: 35   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1667      dim: 2
---------------------  Iteration: 36   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.25      dim: 1
---------------------  Iteration: 37   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 1
---------------------  Iteration: 38   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.2174      dim: 2
---------------------  Iteration: 39   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1304      dim: 2
---------------------  Iteration: 40   ---------------------
     selecting variables using Variable Hunting (VIMP) ...
     PE: 0.1739      dim: 2
fitting forests to final selected variables ...


-----------------------------------------------------------
family             : class
var. selection     : Variable Hunting (VIMP)
conservativeness   : medium
dimension          : 9
sample size        : 116
K-fold             : 5
no. reps           : 40
nstep              : 1
ntree              : 500
nsplit             : 10
mvars              : 2
nodesize           : 2
refitted forest    : TRUE
model size         : 1.75 +/- 0.4385
PE (K-fold)        : 0.1763 +/- 0.0677


Top variables:
         rel.freq
калий        27.5
тропонин     25.0
-----------------------------------------------------------
>


Но собственно качество модели об этом и говорит

Код
> roc(na.omit(df.cin[,-1])$КИН, predict(res.rfsrc)$predicted.oob[,2])

Call:
roc.default(response = na.omit(df.cin[, -1])$КИН, predictor = predict(res.rfsrc)$predicted.oob[,     2])

Data: predict(res.rfsrc)$predicted.oob[, 2] in 100 controls (na.omit(df.cin[, -1])$КИН 0) < 16 cases (na.omit(df.cin[, -1])$КИН 1).
Area under the curve: 0.5419


Эскизы прикрепленных изображений
Прикрепленное изображение
 
  Форум: Медицинская статистика · Просмотр сообщения: #23062 · Ответов: 6 · Просмотров: 582

p2004r
Отправлено: 13.06.2018 - 12:43


Дух форума
*

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


Цитата(Felix77 @ 12.06.2018 - 08:32) *
help.gif пожалуйста, можно ли из имеющихся данных создать модель для прогнозирования. В прилагаемой таблице представлены переменные пациентов, у которых в последствии развилась контраст индуцированная нефропатия (КИН), соответственно зависимая переменная - КИН (0-не развилась КИН, 1 - развилась). Пытался использовать логистическую регрессию, которая не показала значимого влияния предикторов. Пытался применить Random Forest, в R ничего не получилось. Может проблема в большом количестве пропущенных данных


Код
df.cin <- data.table::fread("./CIN.csv", dec=",")

str(df.cin)

df.cin$КИН <- as.factor(df.cin$КИН)
df.cin$пол <- as.factor(df.cin$пол)
df.cin$поч_функц <- as.factor(df.cin$поч_функц)

library(mice)

md.pattern(df.cin)

library(randomForestSRC)

?rfsrc



res.rfsrc <- rfsrc(КИН~.,
                   data=na.omit(df.cin[,-1]),
                   case.wt = randomForestSRC:::make.wt(na.omit(df.cin)$КИН),
                   sampsize = randomForestSRC:::make.size(na.omit(df.cin)$КИН),
                   ntree = 5000)

res.rfsrc <- rfsrc(КИН~.,
                   data=df.cin[,-1],
                   case.wt = randomForestSRC:::make.wt(df.cin$КИН),
                   sampsize = randomForestSRC:::make.size(df.cin$КИН),
                   na.action = "na.impute")


res.rfsrc <- rfsrc(КИН~., data=df.cin[,-1], na.action = "na.impute")


res.rfsrc

randomForestSRC::var.select(res.rfsrc, nrep = 40)


> res.rfsrc
                         Sample size: 116
           Frequency of class labels: 100, 16
                     Number of trees: 5000
           Forest terminal node size: 1
       Average no. of terminal nodes: 8.6332
No. of variables tried at each split: 3
              Total no. of variables: 9
                            Analysis: RF-C
                              Family: class
                      Splitting rule: gini
              Normalized Brier score: 80.79
                          Error rate: 0.27, 0.22, 0.56

Confusion matrix:

          predicted
  observed  0  1 class.error
         0 78 22      0.2200
         1  9  7      0.5625

    Overall error rate: 26.72%
> randomForestSRC::var.select(res.rfsrc, nrep = 40)
minimal depth variable selection ...


-----------------------------------------------------------
family             : class
var. selection     : Minimal Depth
conservativeness   : medium
x-weighting used?  : TRUE
dimension          : 9
sample size        : 116
ntree              : 5000
nsplit             : 0
mtry               : 3
nodesize           : 1
refitted forest    : FALSE
model size         : 5
depth threshold    : 2.9802
PE (true OOB)      : 0.2672 0.22 0.5625


Top variables:
          depth vimp
возраст   2.633   NA
тропонин  2.783   NA
КФК2      2.944   NA
калий     2.950   NA
креатинин 2.976   NA
-----------------------------------------------------------
>


Вполне себе выделяет...

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

Код
data.cin.pca <- data.frame(КИН=na.omit(df.cin[,-c(1,4,6,8,10)])[,c("КИН")],
                           prcomp(na.omit(df.cin[,-c(1,3,4,6,8,10)]), center = T, scale. = T)$x)


data.cin.pca$КИН <- as.factor(data.cin.pca$КИН)

res.pca.rfsrc <- rfsrc(КИН~.,
                       data=data.cin.pca,
                       case.wt = randomForestSRC:::make.wt(data.cin.pca$КИН),
                       sampsize = randomForestSRC:::make.size(data.cin.pca$КИН),
                       ntree = 5000)

res.pca.rfsrc
randomForestSRC::var.select(res.pca.rfsrc, nrep = 40)

res.pca <- prcomp(na.omit(df.cin[,-c(1,3,4,6,8,10)]), center = T, scale. = T)

biplot(res.pca, choices = c(5,3))


pairs(data.cin.pca[,c(6,4)], col = c("black", "red")[data.cin.pca$КИН])

Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
  Форум: Медицинская статистика · Просмотр сообщения: #23059 · Ответов: 6 · Просмотров: 582

p2004r
Отправлено: 23.05.2018 - 10:33


Дух форума
*

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


Собственно вот подробный мануал в котором есть рачет размера наблюдаемого эффекта и доверительного интервалаПрикрепленный файл  analiz_nominalnyh_dannyh_nezavisimye_nablyudeniya.pdf ( 1,45 мегабайт ) Кол-во скачиваний: 61
.
  Форум: Медицинская статистика · Просмотр сообщения: #23028 · Ответов: 32 · Просмотров: 2890

p2004r
Отправлено: 2.05.2018 - 11:53


Дух форума
*

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


Ну вот, день взятия Бастилии впустую прошел.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
  Форум: Медицинская статистика · Просмотр сообщения: #22939 · Ответов: 1 · Просмотров: 609

p2004r
Отправлено: 28.02.2018 - 21:11


Дух форума
*

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


Посмотрите сами в https://cran.r-project.org/web/views/Finance.html
  Форум: Медицинская статистика · Просмотр сообщения: #22706 · Ответов: 2 · Просмотров: 721

p2004r
Отправлено: 23.02.2018 - 21:18


Дух форума
*

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



Сейчас есть техники кластеризации когда результат появляется как ансамбль множества кластеризаций library(clue).
  Форум: Медицинская статистика · Просмотр сообщения: #22669 · Ответов: 9 · Просмотров: 1253

p2004r
Отправлено: 27.01.2018 - 11:43


Дух форума
*

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


Цитата(nokh @ 25.01.2018 - 09:22) *
Благодарю. Кроссвалидация в рамках проведённого препроцессинга показывает качество прогноза порядка 80%. Я пока штурмую R и не умею запрограммировать такую кросс-проверку, чтобы делать препроцессинг на части, а проверять на другой. К тому же беда в том, что такие процедуры как квантильная нормализация даёт разные результаты в зависимости от входящих в анализ данных и как тогда нормализовать отложенныую часть? Короче, ещё повоюю... К тому же ожидаются настоящие "отложенные данные" - следующая партия. Там и посмотрим насколько топы сигнатур будут перекрываться.


вот готовый пакет https://cran.r-project.org/web/packages/crossval/index.html достаточно прописать свою функцию.
  Форум: Медицинская статистика · Просмотр сообщения: #22515 · Ответов: 5 · Просмотров: 1078

p2004r
Отправлено: 27.01.2018 - 11:38


Дух форума
*

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


Цитата(medmonitor @ 25.01.2018 - 16:54) *
Здравствуйте. Никак не могу разобраться со своим исследованием. Стояла задача предсказать вероятность ухода пациента из исследования. Использовал логистическую регрессию. (собственно эту идею тут на форуме и прочел, очень частый вопрос)
Получил такую таблицу классификаций.
Pred. 1 Pred. 0 Percent
1,000000| 13 | 169 | 7,14286
0,000000| 16 | 485 | 96,80639

1-ушел из исследования добровольно , 0 остался
как видите тех кто остался программа классифицировало относительно верно,а вот 169 выбывших неверно записала в нули

у меня отношение шансов составило 2,3317
Как мне в таком случае проинтерпретировать значения OR?


У Вас перекос в численности между группами и это регрессия автоматом учитывает. Надо смотреть на ROC для оценки качества модели независимого от размера групп (может оказаться что модель вообще ничтожна). Для коррекции коэфициентов модели посмотрите, может есть параметр веса который можно задать для исхода, тогда сделайте его обратно пропорциональным размеру групп. У Вас все таки задача сделать оценку риска, а не лучший прогноз для данных частот встречаемости.
  Форум: Медицинская статистика · Просмотр сообщения: #22514 · Ответов: 11 · Просмотров: 1300

p2004r
Отправлено: 27.01.2018 - 11:27


Дух форума
*

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


Цитата(Fedor_Petuhov @ 24.01.2018 - 21:47) *
help.gif, пожалуйста, как мне правильно рассчитать размер контрольной выборки, чтобы оценить отклик. Например, клиенту предлагается покупка услуги, есть экспериментальная группа, в размере 100 человек, им предлагается услуга определенным способом.
А есть контрольная группа, им предлагается стандартным образом. Гипотеза, что если предлагать услугу определенным образом, процент откликнувшися на нее будет больше. Чтобы проверить эту гипотезу, как мне рассчитать какое количество выборки должно быть в контрольной группе? Мы тут сравниваем пропорции.


Вы должны просто определить размер эффекта который планируете заметить (или который имеет практическое значение). После этого стандарты исследования в вашей отрасли (или управление рисками в бизнесе) позволит выбрать пороговые вероятности для ошибок, которые позволяют принять решение в работу. Размер выборки будет вычислен любым приличным пакетом автоматически (например уже многократно упоминаемым на этом форуме https://cran.r-project.org/web/packages/pwr...r-vignette.html ).
  Форум: Медицинская статистика · Просмотр сообщения: #22513 · Ответов: 5 · Просмотров: 751

p2004r
Отправлено: 24.01.2018 - 22:26


Дух форума
*

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


Господа! А вас что, вот эти весь этот нескончаемый поток "тестов на интеллект", действительно не задрал ещё?

(мне когда все эти глупости стали повторяться "по второму кругу" стало совсем не хорошо)
  Форум: Медицинская статистика · Просмотр сообщения: #22483 · Ответов: 13 · Просмотров: 1407

p2004r
Отправлено: 11.01.2018 - 23:41


Дух форума
*

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


Цитата(kont @ 10.01.2018 - 16:40) *
Подскажите, теоретический вопрос.
Допустим я построил нейросетевую модель. Переменная отклика -бинарная (1,0)
Но модель плохого качества
плохой AUC
переобучение на лицо. и прочее плохие бяки:)

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


1. Задача просто может не иметь решения -- "иногда сны это просто сны" (С)

2. Если точно известно, что задача решается (например это данные по которым некий агент различает исходы), то надо думать

а) над представлением этих данных на входе

б) над аугументацией этих данных (если их явно маловато)

в) над выбранной архитектурой сети

г) над использованием более продвинутого алгоритма поиска решения, где нейросеть только один из элементов алгоритма решающего задачу разделения смеси
  Форум: Медицинская статистика · Просмотр сообщения: #22408 · Ответов: 3 · Просмотров: 659

p2004r
Отправлено: 15.12.2017 - 20:55


Дух форума
*

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


Цитата(comisora @ 11.12.2017 - 18:49) *
Всем бобра.
Настал момент, когда для ввода данных экселя стало не хватать. Чего хотелось бы на нубский взгляд:
1. Легко создаваемые форм для внесения данных.
2. Возможность вносить данные в разные моменты времени с разных точек доступа или без связи с сеткой.
3. В перспективе поддержка разных платформ.
4. Валидация вносимых данных.
5. Выгрузка в R.
6. Возможность (на первых порах) обходиться без специалистов в базах данных.
Что нашел - epiinfo тормозит, создание форм муторное; DataEntry() ограничено по функционалу; LibreOffice Base - пока не разобрался; на Shiny кроме заготовок ничего не нашел.
В общем подскажите в каком направлении двигаться и куда смотреть. Или не заморачиваться и сдаться на милость survey сайтам?


Все что есть перечислено в https://cran.r-project.org/web/views/SocialSciences.html
  Форум: Медицинская статистика · Просмотр сообщения: #22326 · Ответов: 2 · Просмотров: 531

p2004r
Отправлено: 7.12.2017 - 09:42


Дух форума
*

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


Цитата(зоо @ 6.12.2017 - 17:20) *
Подскажите, пожалуйста, вопрос из зоологии. Мне нужно посмотреть регрессионную модель вида:
y = YG + MG + YG×MG + L + МС
где y это масса коровы (метрич.пер)
YG ? эффект года рождения кат.пер.;
MG ? эффект месяца рождения кат.пер;
YG×MG ? совместное влияние факторов ?месяц × год рождения?;
L ? эффект линейной принадлежности кат.пер;
MC ? эффект месяца отела; кат. пер
для каждого из этих предикторов мне нужно построить табличку вида, как на картинке, где в ячейках должен быть скорректированный R^2.


Конечно, я бы мог сделать нечто
mymodel<-lm(y~YG,data=data)
Но это нужно делать для каждой из указанных независимой переменной, при том что у меня зависимых переменных много. Такая табличка будет для ряда зависимых переменных
Можно ли сделать в R, чтобы ввести это уравнение и он для каждой независимой переменной рассчитал регрессионные данные(коэф-ты, R^2) по отдельности?

Данные зазиппировал. т.к. на форуме я обратил внимание , что тут нельзя эксель кидать.



Стандартные репорты о моделях печатает apsrtable, stargazer.

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

  Форум: Медицинская статистика · Просмотр сообщения: #22296 · Ответов: 9 · Просмотров: 1582

p2004r
Отправлено: 29.11.2017 - 12:25


Дух форума
*

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


Цитата(Света K @ 29.11.2017 - 01:09) *
Это я так понимаю второй рисунок? А на первом что за 3 разных столбца с дисперсией? Фракция А варьирует значительно сильнее чем В, а В сильнее чем С? Можете объяснить?


Читаю данное пояснение и вижу, что это все-таки не то, даже совсем не то. Тут написано, что тернарные графики используются для показа состава смесей, состоящих из 3-х компонентов или показа условий когда три отдельные фазы существуют в равновесии. У меня ничего такого нет, да я и так знаю, что эти фракции у каждого индивида существуют в равновесии, у меня есть действующий агент, и надо бы статистически доказать повлиял/не повлиял ли он (и как именно) на общий/фракционный состав смеси. Т.е. есть ли какой-либо эффект он него? Да и не 3 компонента может быть, а до 10 (хотя какая разница), сейчас например я делаю опыт где определяю уже 5 фракций.


1) Прочитайте сначала https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%...%B5%D0%BD%D1%82 потом будет уместно задавать вопросы.


2) я поделил на количество, это видите? (хотя, какая разница)
  Форум: Медицинская статистика · Просмотр сообщения: #22272 · Ответов: 22 · Просмотров: 3395

p2004r
Отправлено: 26.11.2017 - 20:02


Дух форума
*

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


Цитата(comisora @ 25.11.2017 - 22:48) *
2 p2004r
Добрый вечер. У Вас
df.rand1 <- t(apply(t(replicate(1000, runif(3))), 1, function(d) d/sum(d)))
df.rand2 <- t(apply(t(replicate(1000, 3+runif(3))), 1, function(d) d/sum(d)))
p1 <- prcomp(df.rand1)
p2 <- prcomp(df.rand2)
Можете показать пример, как "сравнить/обработать" p1 и p2 и заполучить "заветное p<0.05"?


У меня не так. У меня сделан predict() по однократно сделанному анализу.

Процентили для набора смесей считает пакет из поста (где то целая книжка попадалась как в R работать с данными о процентном составе смесей, сейчас не соображу).
  Форум: Медицинская статистика · Просмотр сообщения: #22257 · Ответов: 22 · Просмотров: 3395

p2004r
Отправлено: 25.11.2017 - 20:14


Дух форума
*

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


Цитата(Света K @ 24.11.2017 - 18:45) *
Да, теперь это работает, спасибо. Однако, чтобы ответ был полезен не только тому, кто отвечает, но и тому, кто задал вопрос, необходимо объяснить, что показано на рисунках (наверно, это рис.1 и 2). Пока что для меня это просто какая-то дисперсия в 3 столбцах и какое-то рассеяние с какими-то векторами v2-v4 по каким-то осям pc1 и pc2. Можете подробно объяснить?


Прочитайте что такое тернарный график https://en.wikipedia.org/wiki/Ternary_plot и как работать с данными о составе смесей (или результатов голосований).

Собственно тернарный рафик в результате PCA датасета составов смесей и получается всегда.

Можно взять пакет R http://www.ggtern.com/ и построить процентили распределения смеси липидов в нем.
  Форум: Медицинская статистика · Просмотр сообщения: #22250 · Ответов: 22 · Просмотров: 3395

p2004r
Отправлено: 24.11.2017 - 21:55


Дух форума
*

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


Цитата(Света K @ 24.11.2017 - 18:45) *
Да, теперь это работает, спасибо. Однако, чтобы ответ был полезен не только тому, кто отвечает, но и тому, кто задал вопрос, необходимо объяснить, что показано на рисунках (наверно, это рис.1 и 2). Пока что для меня это просто какая-то дисперсия в 3 столбцах и какое-то рассеяние с какими-то векторами v2-v4 по каким-то осям pc1 и pc2. Можете подробно объяснить?

Это не работает (наверно это рис.3): Ошибка в predict(df.lipid.pca, data.frame(t(colMeans((df.lipid[-1, 2:4]/df.lipid[-1, :
объект 'df.lipid.pca' не найден

Да, по Вашим ссылкам полно пакетов, спасибо. Но внятного объяснения с примером пока не нашлось. Поищу еще на досуге (хотя может такого объяснения и нет).


Да, пропущена строчка сохранения результатов PCA, но сам PCA явно проводиться в первой части приведенного кода. Просто сохраните его.

df.lipid.pca <- prcomp(df.lipid[,2:4]/df.lipid[,1], center=T, scale.=T)
  Форум: Медицинская статистика · Просмотр сообщения: #22244 · Ответов: 22 · Просмотров: 3395

p2004r
Отправлено: 24.11.2017 - 11:13


Дух форума
*

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


Цитата(Света K @ 24.11.2017 - 10:30) *
Визуально я вижу, что агент слегка уменьшает количество фракции А, очень сильно увеличивает количество фракции С, но не влияет на фракцию В.


Настоящие влияния агента не совсем такие.

А соответствуют влиянию агента и ничему больше.

В соответствуют влиянию агента, но это влияние слабо + B имеет собственную динамику

С соответствует влиянию агента сильнее чем A, но "в противофазе".
  Форум: Медицинская статистика · Просмотр сообщения: #22239 · Ответов: 22 · Просмотров: 3395

41 страниц V   1 2 3 > » 

Открытая тема (есть новые ответы)  Открытая тема (есть новые ответы)
Открытая тема (нет новых ответов)  Открытая тема (нет новых ответов)
Горячая тема (есть новые ответы)  Горячая тема (есть новые ответы)
Горячая тема (нет новых ответов)  Горячая тема (нет новых ответов)
Опрос (есть новые голоса)  Опрос (есть новые голоса)
Опрос (нет новых голосов)  Опрос (нет новых голосов)
Закрытая тема  Закрытая тема
Тема перемещена  Тема перемещена