Парний t-тест як особливий випадок лінійного моделювання зі змішаним ефектом


20

Ми знаємо, що парний t- test - це лише особливий випадок односторонньої (або всередині суб'єкта) ANOVA, а також лінійної моделі зі змішаним ефектом, яку можна продемонструвати за допомогою lme () функції пакету nlme в R як показано нижче.

#response data from 10 subjects under two conditions
x1<-rnorm(10)
x2<-1+rnorm(10)

# Now create a dataframe for lme
myDat <- data.frame(c(x1,x2), c(rep("x1", 10), rep("x2", 10)), rep(paste("S", seq(1,10), sep=""), 2))
names(myDat) <- c("y", "x", "subj")

Коли я запускаю такий парний t-тест:

t.test(x1, x2, paired = TRUE)

Я отримав цей результат (ви отримаєте інший результат через випадковий генератор):

t = -2.3056, df = 9, p-value = 0.04657

З підходом ANOVA ми можемо отримати той же результат:

summary(aov(y ~ x + Error(subj/x), myDat))

# the F-value below is just the square of the t-value from paired t-test:
          Df  F value Pr(>F)
x          1  5.3158  0.04657

Тепер я можу отримати такий самий результат у lme із наступною моделлю, припускаючи позитивно-певну симетричну матрицю кореляції для двох умов:

summary(fm1 <- lme(y ~ x, random=list(subj=pdSymm(form=~x-1)), data=myDat))

# the 2nd row in the following agrees with the paired t-test
# (Intercept) -0.2488202 0.3142115  9 -0.7918878  0.4488
# xx2          1.3325786 0.5779727  9  2.3056084  0.0466

Або інша модель, якщо припустити складну симетрію для кореляційної матриці двох умов:

summary(fm2 <- lme(y ~ x, random=list(subj=pdCompSymm(form=~x-1)), data=myDat))

# the 2nd row in the following agrees with the paired t-test
# (Intercept) -0.2488202 0.4023431  9 -0.618428  0.5516
# xx2          1.3325786 0.5779727  9  2.305608  0.0466

За допомогою парного t-тесту та одностороннього повторного вимірювання ANOVA я можу записати традиційну модель середньої комірки як

Yij = μ + αi + βj + εij, i = 1, 2; j = 1, ..., 10

де i індексується умова, j індекс суб'єкта, Y ij - змінна відповіді, μ є постійним для фіксованого ефекту для загального середнього значення, α i - фіксований ефект для умови, β j - випадковий ефект для суб'єкта, що слідує за N (0, σ p 2 ) (σ p 2 - дисперсія популяції), а ε ij є залишковим після N (0, σ 2 ) (σ 2 - в межах предметної дисперсії).

Я вважав, що модель середньої комірки вище не підходить для lme-моделей, але проблема полягає в тому, що я не можу придумати розумну модель для двох підходів lme () з припущенням кореляційної структури. Причина полягає в тому, що модель lme, здається, має більше параметрів для випадкових компонентів, ніж запропонована вище модель середньої комірки. Принаймні, lme-модель забезпечує точно таку саму F-величину, ступінь свободи та p-значення, що і gls не може. Більш конкретно, gls дає некоректні DF через те, що він не враховує того, що кожен суб'єкт має два спостереження, що призводить до сильно завищених DF. Модель lme, швидше за все, завищена параметризовано у визначенні випадкових ефектів, але я не знаю, що це за модель та які параметри. Тож питання для мене ще залишається невирішеним.


2
Не зовсім впевнений, що ви просите. Записана вами модель - це саме модель для моделі випадкових ефектів; кореляційна структура індукується випадковим ефектом.
Аарон - Відновіть Моніку

@Aaron: випадкова дія βj у моделі середньої комірки повинна відповідати N (0, σp2). Моя плутанина полягає в тому, як цей термін (з одним параметром σp2) пов'язаний із кореляційною структурою, визначеною або складовою симетрією, або простою симетричною матрицею в lme-моделі?
bluepole

Коли ви обчислюєте кореляцію між двома спостереженнями з одного і того ж предмета, кореляція є sigma_p ^ 2 / (sigma_p ^ 2 + sigma ^ 2), оскільки вони поділяють однакову beta_j. Див. Піньейро / Бейтс, стор.8. Крім того, модель випадкового ефекту, яку ви написали, еквівалентна складовій симетрії; інші кореляційні структури є більш складними.
Аарон - Відновити Моніку

@Aaron: Дякую! Я вже читав книгу Піньейро / Бейтса про це, і досі не міг з'ясувати специфіку випадкових ефектів. Більш релевантні сторінки, здається, є прикладом на с.160-161. Крім того, вигляд випадкових ефектів від lme () з припущенням складної симетрії, схоже, не узгоджується з кореляцією σp2 / (σp2 + σ2) в середній моделі комірки. Все ще дивується структура структури.
bluepole

Ну, майже рівнозначна складовій симетрії; у CS кореляція може бути негативною, але не з випадковими ефектами. Можливо, саме тут і виникає ваша різниця. Докладні відомості див. У статистиці stats.stackexchange.com/a/14185/3601 .
Аарон - Відновити Моніку

Відповіді:


16

Еквівалентність моделей можна спостерігати, обчислюючи кореляцію між двома спостереженнями від одного і того ж індивіда, таким чином:

Yij=мк+αi+βj+ϵijβjN(0,σp2)ϵijN(0,σ2)Соv(уiк,уjк)=Соv(мк+αi+βк+ϵiк,мк+αj+βк+ϵjк)=Соv(βк,βк)=σp2Vаr(уiк)=Vаr(уjк)=σp2+σ2σp2/(σp2+σ2)

Зауважимо, що моделі не є цілком еквівалентними, оскільки модель випадкових ефектів змушує кореляцію бути позитивною. Модель CS та модель t-test / anova цього не роблять.

РЕДАКТУВАННЯ: Є ще дві відмінності. По-перше, моделі CS та випадкових ефектів передбачають нормальність для випадкового ефекту, але модель t-test / anova цього не робить. По-друге, моделі CS та випадкових ефектів підходять із максимальною вірогідністю, тоді як anova підходить за допомогою середніх квадратів; коли все збалансовано, вони погоджуються, але не обов'язково в більш складних ситуаціях. Нарешті, я б з обережністю використовував значення F / df / p від різних підходів як міру того, наскільки узгоджуються моделі; див. знамениту стяжку Дуга Бейтса на df's для отримання більш детальної інформації. (END ENDIT)

Проблема вашого Rкоду полягає в тому, що ви неправильно не визначаєте кореляційну структуру. Вам потрібно використовувати glsз corCompSymmкореляційною структурою.

Створіть дані, щоб мати предметний ефект:

set.seed(5)
x <- rnorm(10)
x1<-x+rnorm(10)
x2<-x+1 + rnorm(10)
myDat <- data.frame(c(x1,x2), c(rep("x1", 10), rep("x2", 10)), 
                    rep(paste("S", seq(1,10), sep=""), 2))
names(myDat) <- c("y", "x", "subj")

Тоді ось, як вам підійдуть випадкові ефекти та моделі складної симетрії.

library(nlme)
fm1 <- lme(y ~ x, random=~1|subj, data=myDat)
fm2 <- gls(y ~ x, correlation=corCompSymm(form=~1|subj), data=myDat)

Стандартні помилки в моделі випадкових ефектів:

m1.varp <- 0.5453527^2
m1.vare <- 1.084408^2

А кореляційна та залишкова дисперсія від CS-моделі:

m2.rho <- 0.2018595
m2.var <- 1.213816^2

І вони рівні тому, що очікується:

> m1.varp/(m1.varp+m1.vare)
[1] 0.2018594
> sqrt(m1.varp + m1.vare)
[1] 1.213816

Інші кореляційні структури зазвичай не відповідають випадковим ефектам, а просто шляхом вказівки потрібної структури; один загальний виняток - модель випадкових ефектів AR (1) +, яка має випадковий ефект та кореляцію AR (1) між спостереженнями за тим самим випадковим ефектом.

EDIT2: Коли я підходжу до трьох варіантів, я отримую абсолютно однакові результати, за винятком того, що gls не намагається відгадати df за термін, що цікавить.

> summary(fm1)
...
Fixed effects: y ~ x 
                 Value Std.Error DF   t-value p-value
(Intercept) -0.5611156 0.3838423  9 -1.461839  0.1778
xx2          2.0772757 0.4849618  9  4.283380  0.0020

> summary(fm2)
...
                 Value Std.Error   t-value p-value
(Intercept) -0.5611156 0.3838423 -1.461839  0.1610
xx2          2.0772757 0.4849618  4.283380  0.0004

> m1 <- lm(y~ x + subj, data=myDat)
> summary(m1)
...
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  -0.3154     0.8042  -0.392  0.70403   
xx2           2.0773     0.4850   4.283  0.00204 **

(Перехоплення тут відрізняється тим, що при кодуванні за замовчуванням це не середнє значення для всіх предметів, а натомість середнє значення першого предмета.)

Цікаво також зазначити, що новий lme4пакет дає ті самі результати, але навіть не намагається обчислити p-значення.

> mm1 <- lmer(y ~ x + (1|subj), data=myDat)
> summary(mm1)
...
            Estimate Std. Error t value
(Intercept)  -0.5611     0.3838  -1.462
xx2           2.0773     0.4850   4.283

Ще раз дякую за допомогу! Я знаю цю частину з точки зору моделі клітинного середнього значення. Однак із наступним результатом lme () зі складною симетрією: Випадкові ефекти: Формула: ~ x - 1 | Структура subj: складна симетрія StdDev xx1 1.1913363 xx2 1.1913363 Corr: -0.036 Залишкова 0.4466733. Я до сих пір не можу узгодити ці числа із моделлю середньої комірки. Можливо, ви можете далі допомогти мені розібрати ці цифри?
bluepole

Також якісь думки щодо формулювання моделі з іншими кореляційними структурами, такими як проста симетрична матриця?
bluepole

Я бачу! Я мав би уважніше прочитати вашу відповідь в іншій темі. Я раніше думав про використання gls (), але не зміг визначити специфікацію кореляції. Цікаво, що lme () зі складовою структурою симетрії для випадкового ефекту все ще надає однакове t-значення, але, здається, відхилення випадкових ефектів прямо не інтерпретуються. Я дуже ціную вашу допомогу!
bluepole

Після якоїсь другої думки я відчуваю, що моя первісна плутанина досі не розв'язана. Так, gls можуть бути використані для демонстрації кореляційної структури та середніх квадратних ромів, але модель під нею точно не збігається з тестом парного t (або в цілому одностороннім повторним вимірюванням ANOVA), і така оцінка є надалі підтримується неправильними кодами DF та р-значеннями від gls. На противагу цьому, моя команда lme зі складною симетрією забезпечує однакові значення F, DF та p. Єдине, про що я спантеличений, - це те, як параметризована модель lme, як зазначено в моєму початковому пості. Будь-яка допомога там?
bluepole

Не знаєте, як вам допомогти. Не могли б ви виписати, на вашу думку, дві різні моделі? Щось не так, як ви думаєте про одну з них.
Аарон - Відновити Моніку

3

Ви також можете розглянути можливість використання функції mixedв пакеті afexдля повернення значень р з наближенням Кенворда-Роджера df, що повертає однакові значення p як парний t-тест:

library(afex)
mixed(y ~ x + (1|subj), type=3,method="KR",data=myDat) 

Або

library(lmerTest)
options(contrasts=c('contr.sum', 'contr.poly'))
anova(lmer(y ~ x + (1|subj),data=myDat),ddf="Kenward-Roger")
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.