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

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

> Критерий Краскела-Уоллиса для сравнения двух групп на трех визитах
Varta
сообщение 29.06.2023 - 20:04
Сообщение #1





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



Здравствуйте уважаемые участники форума!

В одной статье мне встретилось следующее: имеем две группы пациентов, каждая из которых обследована на 3 визитах. Пациенты на визитах строго одни и те же, то есть по логике самым простым должно быть сравнение групп между собой на 1, 2 и 3 визитах с помощью критерия Манна-Уитни, и сравнение динамики внутри групп 1 визит---2 визит --- 3 визит с помощью критерия Фридмана с дальнейшим попарным сравнением с поправкой на множественные сравнения. Если есть желание избежать ошибки множественных сравнений на визитах, то проводится одномерный анализ повторных измерений с установлением влияния временного фактора, фактора группы и наличие их взаимодействия (непараметрического аналога данного анализа я не знаю, если подскажете. буду благодарна)

В статье было указано, что анализ проведен с помощью критерия Краскела Уоллиса с поправкой на множественность сравнений с помощью программы Prism. И далее на графиках имели место звездочки для сравнения двух групп на каком-либо визите, либо для сравнения динамики между визитами внутри какой-либо из групп.
Это правильная процедура для анализа? У меня было предположение, что это попытка избежать ошибки множественных сравнений путем того, что мы все 6 точек считаем отдельными выборками, но там же как связанные, так и не связанные данные. Я не вижу нигде в доступных мне источниках упоминание о каком-то варианте критерия Краскела-Уоллиса, который использовался бы как аналог одномерного анализа повторных измерений.

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

Прогуглила форум и в одном из тредов нашла мнение 100$ по похожему случаю (критерий Крускела применять некорректно)
http://forum.disser.ru/index.php?showtopic=1246&st=30
Это интерлейкины, их очень сложно привести в нормальное распределение, кроме того три точки нелинейны, это уровень ИЛ до воздействия, на фоне воздействия, после окончания. Соответственно связь с лечением будет только в одной точке - втором визите, как бы не получилось, что эти различия будут проигнорированы при анализе повторных измерений

Сообщение отредактировал Varta - 29.06.2023 - 20:58
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
 
Открыть тему
Ответов
Vitek_22
сообщение 17.02.2024 - 15:25
Сообщение #2





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



Цитата(comisora @ 17.02.2024 - 13:25) *
но не по остаткам модели.


Что значат эти "остатки модели"? Далёк всё же от статистики)

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

Цитата(ИНО @ 17.02.2024 - 13:50) *
Вообще, с приведенными данными модно проделать очень много всякого, хорошие такие данные. вкусные smile.gif
Я просто не знаю, что из этого реализовано в Statistica 12, за неимением оной. А еще не совсем ясно, проверка каких конкретно гипотез интересует.

Возможно, мне надо осваивать другие программы))

Гипотеза. что лечение повлияло на развитие симптоматики и этот эффект был стойким во времени. Само заболеваний вылечить нельзя, т.к. оно генетически-обусловлено, но у "лечённой" группы показатели были лучше, как можно видеть из данных.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
comisora
сообщение 17.02.2024 - 23:31
Сообщение #3





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



Цитата(Vitek_22 @ 17.02.2024 - 15:25) *
Что значат эти "остатки модели"?

Посмотрите учебные материалы по ссылке.

Цитата(Vitek_22 @ 17.02.2024 - 15:25) *
Разницу вычислять - не очень, т.к. разный размер выборок (у части животных симптоматика прогрессировала быстрее и они погибли раньше повторного анализа). как в этом случае произвести вычитание?


Тут возможны варианты: исключать из анализа (умер/не умер - другой вопрос), проставить умершим нули (время 0 у живого быть не может), оставить для использования (реально только через смешанные модели).

В коде ниже указана попытка сделать анализ повторных измерений при допущении различных трансформаций. Лучшей оказалась модель с предварительным логарифмированием зависимой переменной. На графике видно, что группы изначально различались, к концу исследования эти различия усилились. На мой взгляд, если различия объясняются эффектом лечения, то результат (сила эффекта) достаточно скромный. Чтобы в этом убедиться, нужно или усилить эффект от лечения или увеличить количество наблюдений.

CODE
library(mgcv)
txt <- "id value group time
1 31 control first
2 40 control first
3 19 control first
4 55 control first
5 27 control first
6 3 control first
7 40 control first
8 29 control first
9 17 control first
10 46 control first
11 55 treatment first
12 55 treatment first
13 38 treatment first
14 55 treatment first
15 55 treatment first
16 55 treatment first
17 27 treatment first
18 40 treatment first
1 0,7 control second
2 1,4 control second
3 0,5 control second
4 3 control second
5 0,5 control second
6 1,5 control second
7 1,6 control second
11 3 treatment second
12 6,6 treatment second
13 2,4 treatment second
14 2,1 treatment second
15 3 treatment second
16 1,4 treatment second
17 4 treatment second
18 9,7 treatment second"
df <- read.table(text = txt, header = TRUE, dec = ',')
#df <- df[-which(df$id %in% c(8, 9, 10)),]
df$group <- factor(df$group, levels = c('control', 'treatment'))
df$time <- factor(df$time, levels = c('first', 'second'))
df$val1 <- log(df$value)
df$val2 <- df$value/60
fitA <- gam(value~time*group + s(id, bs = 're'),
family = gaussian(link = 'identity'),
data = df)
fitB <- gam(value~time*group + s(id, bs = 're'),
family = gaussian(link = 'log'),
data = df)
fitC <- gam(value~time*group + s(id, bs = 're'),
family = gaussian(link = 'inverse'),
data = df)
fit1 <- gam(val1~time*group + s(id, bs = 're'),
family = gaussian(link = 'identity'),
data = df)
fit2 <- gam(val2~time*group + s(id, bs = 're'),
family = betar(link = 'logit'),
data = df)
mods <- ls(pattern = 'fit')
modSum <- do.call(cbind,
lapply(seq_along(mods),
function(i) {
mod <- summary(get(mods[i]))
result <- rbind(mod$dev.expl, mod$r.sq)
row.names(result) <- c('DevExpl', 'RsqAdj')
colnames(result) <- mods[i]
return(result)
}
)
)

pred <- predict(fit1,
newdata = expand.grid(group = levels(df$group),
time = levels(df$time)),
newdata.guaranteed = TRUE,
type = 'response',
exclude = 's(id)',
se.fit = TRUE)
pred$cil <- pred$fit - pred$se.fit*qnorm(0.975)
pred$ciu <- pred$fit + pred$se.fit*qnorm(0.975)
pred$mu <- exp(pred$fit)
pred$lwr <- exp(pred$cil)
pred$upr <- exp(pred$ciu)
pred <- data.frame(pred)
pred <- cbind(pred,
expand.grid(group = levels(df$group), time = levels(df$time))
)
pl <- ggplot(pred, aes(x = time, y = mu, ymax = upr, ymin = lwr,
shape = group)) +
geom_pointrange(position = position_dodge(0.1)) +
theme_bw() + theme(strip.text = element_blank()) +
scale_y_log10()


Цитата(ИНО @ 17.02.2024 - 21:07) *
Единственный недостаток - тормоза, но сомневаюсь, что Ваши выборки столь велики, чтобы Вы из заметили.

Это не баг, это - фича (с).
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  txt.txt ( 3,94 килобайт ) Кол-во скачиваний: 185
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Сообщений в этой теме
- Varta   Критерий Краскела-Уоллиса для сравнения двух групп на трех визитах   29.06.2023 - 20:04
- - Игорь   Цитата(Varta @ 29.06.2023 - 21:04) ....   30.06.2023 - 06:26
- - ИНО   Тут много чего можно применить, но вопрос зачем, в...   30.06.2023 - 20:19
- - nokh   Имеем две группы на разных сроках. Соответственно ...   1.07.2023 - 09:56
- - comisora   2 Varta В Вашем случае можно использовать порядко...   1.07.2023 - 13:25
|- - ИНО   Цитата(comisora @ 1.07.2023 - 13:25)...   1.07.2023 - 22:45
- - Игорь   Возможно ошибаюсь, в задаче вижу две многомерных в...   2.07.2023 - 07:52
- - 100$   Один фактор "Группа" - межгрупповой (Bet...   2.07.2023 - 16:37
- - comisora   2 ИНО Как я понял, нужно выбрать тип распределени...   2.07.2023 - 19:13
|- - ИНО   Цитата(comisora @ 2.07.2023 - 19:13)...   2.07.2023 - 20:34
- - Varta   Игорь, ИНО, nokh, 100$, comisora - огромное с...   6.07.2023 - 14:23
- - ИНО   Вместо благодарностей все ж хотелось бы услышать к...   7.07.2023 - 16:42
|- - 100$   Цитата(ИНО @ 7.07.2023 - 16:42) Вмес...   7.07.2023 - 18:07
- - ИНО   А фиг его знает, в чем они этот ИЛ измеряют, может...   8.07.2023 - 12:04
- - nokh   > Varta. См. личное сообщение.   10.07.2023 - 07:41
- - Leonov   Для корректности подробного описания по сравнениям...   10.07.2023 - 08:21
|- - 100$   Цитата(Leonov @ 10.07.2023 - 08:21) ...   10.07.2023 - 12:03
- - ИНО   ЦитатаДля корректности подробного описания по срав...   10.07.2023 - 12:08
- - Vitek_22   Коллеги, очень похожая задача. Есть две группы жив...   16.02.2024 - 19:14
|- - comisora   Цитата(Vitek_22 @ 16.02.2024 - 19:14...   17.02.2024 - 13:25
- - ИНО   Посмотрел на Ваши данные одним глазком. С нормальн...   16.02.2024 - 23:04
- - ИНО   Не нужна там трансформация - остатки плюс-минус ла...   17.02.2024 - 13:50
- - Vitek_22   Цитата(comisora @ 17.02.2024 - 13:25...   17.02.2024 - 15:25
|- - comisora   Цитата(Vitek_22 @ 17.02.2024 - 15:25...   17.02.2024 - 23:31
- - ИНО   ЦитатаЧерез месяц - это абсолютный показатель врем...   17.02.2024 - 21:07
- - ИНО   Зачем GAM если есть только две точки для каждого ж...   18.02.2024 - 11:34
|- - comisora   Цитата(ИНО @ 18.02.2024 - 11:34) Зач...   18.02.2024 - 12:14
- - ИНО   ИМХО с нулем Вас куда-то не туда занесло. Бета-рег...   18.02.2024 - 13:18
- - ИНО   Vitek_22, пожалуйста, ответьте на два вопроса: 1....   18.02.2024 - 13:30


Добавить ответ в эту темуОткрыть тему