Thử nghiệm t ghép nối như một trường hợp đặc biệt của mô hình hiệu ứng hỗn hợp tuyến tính


20

Chúng ta biết rằng một t- test được ghép nối chỉ là trường hợp đặc biệt của phép đo lặp lại một chiều (hoặc bên trong chủ đề) ANOVA cũng như mô hình hiệu ứng hỗn hợp tuyến tính, có thể được chứng minh bằng hàm lme () gói nlme trong R như hình dưới đây

#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")

Khi tôi chạy thử nghiệm t cặp sau đây:

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

Tôi đã nhận được kết quả này (bạn sẽ nhận được một kết quả khác do trình tạo ngẫu nhiên):

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

Với phương pháp ANOVA, chúng ta có thể nhận được kết quả tương tự:

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

Bây giờ tôi có thể thu được kết quả tương tự trong lme với mô hình sau, giả sử ma trận tương quan đối xứng xác định dương cho hai điều kiện:

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

Hoặc một mô hình khác, giả sử đối xứng hợp chất cho ma trận tương quan của hai điều kiện:

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

Với phép thử t-cặp và phép đo lặp lại một chiều ANOVA, tôi có thể viết ra mô hình trung bình tế bào truyền thống như

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

Trong đó i chỉ mục điều kiện, chủ đề chỉ số j, Y ij là biến trả lời, là hằng số cho hiệu ứng cố định cho trung bình tổng thể, α i là hiệu ứng cố định cho điều kiện, β j là hiệu ứng ngẫu nhiên cho chủ thể theo N (0, p 2 ) (σ p 2 là phương sai dân số) và ε ij là số dư sau N (0, 2 ) ( 2 là phương sai trong chủ đề).

Tôi nghĩ rằng mô hình trung bình tế bào ở trên sẽ không phù hợp với mô hình lme, nhưng vấn đề là tôi không thể đưa ra một mô hình hợp lý cho hai cách tiếp cận lme () với giả định cấu trúc tương quan. Lý do là mô hình lme dường như có nhiều tham số cho các thành phần ngẫu nhiên hơn mô hình trung bình tế bào ở trên cung cấp. Ít nhất là mô hình lme cung cấp chính xác cùng giá trị F, mức độ tự do và giá trị p, điều mà gls không thể. Cụ thể hơn gls cung cấp DF không chính xác do thực tế là nó không tính đến thực tế là mỗi đối tượng có hai quan sát, dẫn đến DF bị thổi phồng nhiều. Mô hình lme rất có thể được định lượng quá mức trong việc chỉ định các hiệu ứng ngẫu nhiên, nhưng tôi không biết mô hình đó là gì và các tham số là gì. Vì vậy, vấn đề vẫn chưa được giải quyết cho tôi.


2
Không hoàn toàn chắc chắn những gì bạn đang hỏi. Mô hình bạn viết ra chính xác là mô hình cho mô hình hiệu ứng ngẫu nhiên; cấu trúc tương quan được gây ra bởi hiệu ứng ngẫu nhiên.
Aaron - Tái lập Monica

@Aaron: hiệu ứng ngẫu nhiên βj trong mô hình trung bình tế bào được cho là theo N (0, p2). Sự nhầm lẫn của tôi là, làm thế nào thuật ngữ này (chỉ có một tham số σp2) được liên kết với cấu trúc tương quan được chỉ định bởi đối xứng hợp chất hoặc ma trận đối xứng đơn giản trong mô hình lme?
bluepole

Khi bạn tính toán mối tương quan giữa hai quan sát trên cùng một chủ đề, mối tương quan là sigma_p ^ 2 / (sigma_p ^ 2 + sigma ^ 2) vì chúng có chung beta_j. Xem Pinheiro / Bates p.8. Ngoài ra, mô hình hiệu ứng ngẫu nhiên như bạn đã viết nó tương đương với đối xứng hợp chất; cấu trúc tương quan khác phức tạp hơn.
Aaron - Tái lập Monica

@Aaron: Cảm ơn! Tôi đã đọc cuốn sách Pinheiro / Bates về điều này, và vẫn không thể tìm ra chi tiết cụ thể về các hiệu ứng ngẫu nhiên. Các trang có liên quan hơn dường như là ví dụ tại P.160-161. Ngoài ra, đầu ra hiệu ứng ngẫu nhiên từ lme () với giả định đối xứng hợp chất dường như không đồng ý với mối tương quan của p2 / (p2 + 2) trong mô hình trung bình tế bào. Vẫn còn băn khoăn về cấu trúc mô hình.
bluepole

Vâng, gần như tương đương với đối xứng hợp chất; trong CS mối tương quan có thể âm tính nhưng không có hiệu ứng ngẫu nhiên. Có lẽ đó là nơi phát sinh sự khác biệt của bạn. Xem số liệu thống kê.stackexchange.com/a/14185/3601 để biết chi tiết.
Aaron - Tái lập Monica

Câu trả lời:


16

Sự tương đương của các mô hình có thể được quan sát bằng cách tính toán mối tương quan giữa hai quan sát từ cùng một cá nhân, như sau:

Ytôij= =μ+αtôi+βj+εtôijβj~N(0,σp2)εtôij~N(0,σ2)Cov(ytôik,yjk)= =Cov(μ+αtôi+βk+εtôik,μ+αj+βk+εjk)= =Cov(βk,βk)= =σp2Vmộtr(ytôik)= =Vmộtr(yjk)= =σp2+σ2σp2/(σp2+σ2)

Lưu ý rằng các mô hình tuy nhiên không hoàn toàn tương đương vì mô hình hiệu ứng ngẫu nhiên buộc tương quan là dương. Mô hình CS và mô hình t-test / anova thì không.

EDIT: Có hai sự khác biệt nữa. Đầu tiên, các mô hình CS và hiệu ứng ngẫu nhiên giả định tính chuẩn cho hiệu ứng ngẫu nhiên, nhưng mô hình t-test / anova thì không. Thứ hai, các mô hình CS và hiệu ứng ngẫu nhiên phù hợp bằng cách sử dụng khả năng tối đa, trong khi anova phù hợp bằng cách sử dụng bình phương trung bình; khi mọi thứ được cân bằng họ sẽ đồng ý, nhưng không nhất thiết trong những tình huống phức tạp hơn. Cuối cùng, tôi sẽ cảnh giác khi sử dụng các giá trị F / df / p từ các mức độ phù hợp khác nhau như các biện pháp về mức độ các mô hình đồng ý; xem ý kiến ​​nổi tiếng của Doug Bates trên df để biết thêm chi tiết. (KẾT THÚC)

Vấn đề với Rmã của bạn là bạn không chỉ định đúng cấu trúc tương quan. Bạn cần sử dụng glsvới corCompSymmcấu trúc tương quan.

Tạo dữ liệu để có hiệu ứng chủ đề:

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")

Sau đó, đây là cách bạn phù hợp với các hiệu ứng ngẫu nhiên và các mô hình đối xứng ghép.

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

Các lỗi tiêu chuẩn từ mô hình hiệu ứng ngẫu nhiên là:

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

Và mối tương quan và phương sai còn lại từ mô hình CS là:

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

Và chúng bằng với những gì được mong đợi:

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

Các cấu trúc tương quan khác thường không phù hợp với các hiệu ứng ngẫu nhiên mà chỉ đơn giản bằng cách chỉ định cấu trúc mong muốn; một ngoại lệ phổ biến là mô hình hiệu ứng ngẫu nhiên AR (1) +, có hiệu ứng ngẫu nhiên và tương quan AR (1) giữa các quan sát trên cùng một hiệu ứng ngẫu nhiên.

EDIT2: Khi tôi phù hợp với ba tùy chọn, tôi nhận được kết quả chính xác như nhau ngoại trừ việc gls không cố đoán df cho cụm từ quan tâm.

> 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 **

(Việc chặn là khác nhau ở đây vì với mã hóa mặc định, nó không phải là giá trị trung bình của tất cả các đối tượng mà thay vào đó là giá trị trung bình của đối tượng đầu tiên.)

Cũng cần lưu ý rằng lme4gói mới hơn cho kết quả tương tự nhưng thậm chí không thử tính giá trị 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

Cảm ơn một lần nữa vì sự giúp đỡ! Tôi biết phần này từ quan điểm của mô hình trung bình tế bào. Tuy nhiên, với kết quả sau từ lme () với đối xứng hợp chất: Hiệu ứng ngẫu nhiên: Công thức: ~ x - 1 | cấu trúc subj: Đối xứng hợp chất StdDev xx1 1.1913363 xx2 1.1913363 Corr: -0.036 dư 0,4466733. Tôi vẫn không thể dung hòa những con số này với mô hình trung bình tế bào. Có lẽ bạn có thể giúp tôi sắp xếp những con số này?
bluepole

Ngoài ra, bất kỳ suy nghĩ về công thức mô hình với các cấu trúc tương quan khác như ma trận đối xứng đơn giản?
bluepole

Tôi hiểu rồi! Tôi nên đọc phản hồi của bạn trong các chủ đề khác cẩn thận hơn. Tôi đã nghĩ về việc sử dụng gls () trước đây, nhưng không thể tìm ra đặc tả tương quan. Thật thú vị khi lme () với cấu trúc đối xứng hỗn hợp cho hiệu ứng ngẫu nhiên vẫn biểu hiện cùng một giá trị t, nhưng dường như các phương sai cho các hiệu ứng ngẫu nhiên không thể giải thích trực tiếp. Tôi thực sự đánh giá cao sự giúp đỡ của bạn!
bluepole

Sau một vài suy nghĩ thứ 2, tôi cảm thấy rằng sự nhầm lẫn ban đầu của tôi vẫn chưa được giải quyết. Có, gls có thể được sử dụng để chứng minh cấu trúc tương quan và trung bình bình phương, nhưng mô hình bên dưới nó không hoàn toàn giống với thử nghiệm ghép đôi (hay nói chung là đo lường một chiều ANOVA), và đánh giá như vậy là được hỗ trợ thêm bởi các DF và giá trị p không chính xác từ gls. Ngược lại, lệnh lme của tôi với đối xứng ghép cung cấp cùng giá trị F, DF và p-value. Điều duy nhất tôi bối rối là làm thế nào mô hình lme được tham số hóa như đã nêu trong bài viết gốc của tôi. Có ai giúp đỡ ngoài kia không?
bluepole

Không chắc chắn làm thế nào để giúp bạn. Bạn có thể viết ra những gì bạn nghĩ rằng hai mô hình khác nhau? Có gì đó không đúng trong cách bạn nghĩ về một trong số họ.
Aaron - Tái lập Monica

3

Bạn cũng có thể xem xét sử dụng hàm mixedtrong gói afexđể trả về giá trị p với xấp xỉ Kenward-Roger df, trả về giá trị p giống hệt như thử nghiệm t được ghép nối:

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

Hoặc là

library(lmerTest)
options(contrasts=c('contr.sum', 'contr.poly'))
anova(lmer(y ~ x + (1|subj),data=myDat),ddf="Kenward-Roger")
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.