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

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

 
Добавить ответ в эту темуОткрыть тему
> Сравнение рядов динамик, (временные ряды)
nokh
сообщение 3.02.2025 - 21:46
Сообщение #1





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



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

Эксперимент. На 5 временных точках оценивалась концентрация кислорода в воде в 6 аквариумах (контроль + 5 вариантов опыта). Особенности опыта заставляют считать данные на разных сроках рядами динамики, т.е. значение на каждом последующем сроке зависело от того, что было на предыдущем.
С использованием критерия Фридмана смог доказать, что есть статистически значимые различия между сроками опыта и между вариантами опыта. Также с помощью проверки на тренд критерием Манна - Кендалла можно доказать, что тренд на снижение статистически значим (без поправки на множественность тестов) во всех вариантах опыта, а в контроле - нет. Но хотелось бы сравнить между собой именно ряды динамики. Т.е. скажем доказать, что в одном варианте снижение шло сильнее, чем в другом. Т.к. интересны сравнения разных вариантов между собой, нужен какой-то аналог апостериорных сравнений для рядов динамики.

Погуглил, задачу можно назвать сравнением цепных темпов роста, но его нужно провести статистически. В статистике общественного здоровья и здравоохранения такое должно быть распространено: например статистическое сравнение прибыли/убыли населения в ряде локалитетов за несколько лет. Подскажите, пожалуйста, как такое обсчитывают? Данные прикрепил.

Прикрепленные файлы
Прикрепленный файл  Сравнение_рядов_динамики.xls ( 36,5 килобайт ) Кол-во скачиваний: 102
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
comisora
сообщение 4.02.2025 - 10:49
Сообщение #2





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



2 nokh

Я очень быстро накидал вариант, как можно (не)пыльно это сделать. С помощью библиотеки emmeans на тех моделях, которые поддерживаются разработчиком, можно выполнять сравнение как тренда, так и "исследовательских" групп =). На саму модель прошу сильно не смотреть т.к. под Вашу задачу вполне может подойти обычная lm модель.

CODE

##Вариант 1 - параллельный тренд
t <- rep(1:5, time = 2)
y <- c(
12, 10, 12, 11, 13,
7, 5, 7, 6, 8
)
g <- rep(c('a', 'b'), each = 5)
fit <- lme4::lmer(y~g*t + (1+t|g))
emmeans::emtrends(fit, pairwise~g, var = 't')
emmeans::emmeans(fit, consec~t|g, cov.reduce = FALSE)
emmeans::emmeans(fit, revpairwise~g)

##Вариант 2 - перекрёстный тренд
t <- rep(1:5, time = 2)
y <- c(
12, 14, 17, 19, 28,
28, 19, 17, 14, 12
)
g <- rep(c('a', 'b'), each = 5)
fit <- lme4::lmer(y~g*t + (1+t|g))
emmeans::emtrends(fit, pairwise~g, var = 't')
emmeans::emmeans(fit, consec~t|g, cov.reduce = FALSE)
emmeans::emmeans(fit, revpairwise~g)


Сообщение отредактировал comisora - 4.02.2025 - 11:27
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nokh
сообщение 9.02.2025 - 09:03
Сообщение #3





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



Цитата(comisora @ 4.02.2025 - 12:49) *
Я очень быстро накидал вариант, как можно (не)пыльно это сделать. С помощью библиотеки emmeans на тех моделях, которые поддерживаются разработчиком, можно выполнять сравнение как тренда, так и "исследовательских" групп =). На саму модель прошу сильно не смотреть т.к. под Вашу задачу вполне может подойти обычная lm модель...

Большое спасибо! Значит в R. Не думал, что хватит компонента типа (1+t|g), не додумался сразу погуглить на предмет Times series in R, а уже сейчас поискал: много информации. Давно знаю о программе gretl (https://gretl.sourceforge.net/ru.html), но данных и времени поразбираться не было. А сейчас, действительно, проще в R начать.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DoctorStat
сообщение 11.02.2025 - 15:44
Сообщение #4





Группа: Пользователи
Сообщений: 381
Регистрация: 18.08.2008
Из: Москва Златоглавая
Пользователь №: 5224



Цитата(nokh @ 3.02.2025 - 21:46) *
Эксперимент. На 5 временных точках оценивалась концентрация кислорода в воде в 6 аквариумах (контроль + 5 вариантов опыта). Подскажите, пожалуйста, как такое обсчитывают?
Не являюсь знатоком анализа временных рядов, но в голову приходит простой алгоритм в случае равных временных промежутков. Вычисляеи разности в текущей и предыдущей временных точках и получаем привычные выборки, которые можно анализировать стандартными статистичесими методами: параметрическими, если данные ложатся на нормальную кривую и непарамерическими - если нет. Также допустимо проводить множественные сравнения с соответствующими поправками.


Signature
Просто включи мозги => http://doctorstat.narod.ru
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ИНО
сообщение 11.02.2025 - 17:26
Сообщение #5





Группа: Пользователи
Сообщений: 262
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Поздравляю: Вы заново изобрели разности первого порядка smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

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