Bir lmer modeli için hangi çoklu karşılaştırma yöntemi kullanılır: lsmeans veya glht?


16

Bir veri setini bir sabit efekt (durum) ve iki rastgele efekt (katılımcı konu tasarımı ve çifti nedeniyle katılımcı) ile karışık efektler modeli kullanarak analiz ediyorum. Model ile oluşturulan lme4paket: exp.model<-lmer(outcome~condition+(1|participant)+(1|pair),data=exp).

Sonra, bu modelin sabit etki (durum) olmadan modele karşı bir olasılık oranı testi yaptım ve önemli bir farkım var. Veri setimde 3 koşul var, bu yüzden çoklu bir karşılaştırma yapmak istiyorum, ancak hangi yöntemi kullanacağımdan emin değilim . CrossValidated ve diğer forumlarda bir dizi benzer soru buldum, ancak hala oldukça kafam karıştı.

Gördüğüm kadarıyla, insanlar

1.lsmeans - paket lsmeans(exp.model,pairwise~condition): Bana şu çıktıyı verir

condition     lsmean         SE    df  lower.CL  upper.CL
 Condition1 0.6538060 0.03272705 47.98 0.5880030 0.7196089
 Condition2 0.7027413 0.03272705 47.98 0.6369384 0.7685443
 Condition3 0.7580522 0.03272705 47.98 0.6922493 0.8238552

Confidence level used: 0.95 

$contrasts
 contrast                   estimate         SE    df t.ratio p.value
 Condition1 - Condition2 -0.04893538 0.03813262 62.07  -1.283  0.4099
 Condition1 - Condition3 -0.10424628 0.03813262 62.07  -2.734  0.0219
 Condition2 - Condition3 -0.05531090 0.03813262 62.07  -1.450  0.3217

P value adjustment: tukey method for comparing a family of 3 estimates 

2.multcomp iki farklı yolla paket - ile mcp glht(exp.model,mcp(condition="Tukey"))sonuçlanan

     Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts


Fit: lmer(formula = outcome ~ condition + (1 | participant) + (1 | pair), 
    data = exp, REML = FALSE)

Linear Hypotheses:
                             Estimate Std. Error z value Pr(>|z|)  
Condition2 - Condition1 == 0  0.04894    0.03749   1.305    0.392  
Condition3 - Condition1 == 0  0.10425    0.03749   2.781    0.015 *
Condition3 - Condition2 == 0  0.05531    0.03749   1.475    0.303  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1
(Adjusted p values reported -- single-step method)

ve kullanarak lsm glht(exp.model,lsm(pairwise~condition))sonuç

Note: df set to 62

     Simultaneous Tests for General Linear Hypotheses

Fit: lmer(formula = outcome ~ condition + (1 | participant) + (1 | pair), 
    data = exp, REML = FALSE)

Linear Hypotheses:
                             Estimate Std. Error t value Pr(>|t|)  
Condition1 - Condition2 == 0 -0.04894    0.03749  -1.305   0.3977  
Condition1 - Condition3 == 0 -0.10425    0.03749  -2.781   0.0195 *
Condition2 - Condition3 == 0 -0.05531    0.03749  -1.475   0.3098  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1
(Adjusted p values reported -- single-step method)

Gördüğünüz gibi yöntemler farklı sonuçlar veriyor. Bu benim R ve istatistiklerle ilk defa çalıştığım için bir şeyler ters gidebilir ama nerede olduğunu bilemezdim. Sorularım:

Sunulan yöntemler arasındaki farklar nelerdir? İlgili soruların cevabında bunun özgürlük dereceleriyle ( lsmeansvs. glht) ilgili olduğunu okudum . Hangisinin ne zaman kullanılacağına dair bazı kurallar veya öneriler var mı, yani yöntem 1 bu tür veri seti / modeli vb. İçin iyidir? Hangi sonucu rapor etmeliyim? Daha iyi bilmeden, muhtemelen sadece güvenli oynamam gereken en yüksek p değerini bildiririm, ancak daha iyi bir nedene sahip olmak güzel olurdu. Teşekkürler

Yanıtlar:


17

Tam bir cevap değil ...

glht(myfit, mcp(myfactor="Tukey"))Diğer iki yöntem ile arasındaki fark , bu yolun "z" istatistiği (normal dağılım) kullanması, diğer yöntemlerin ise "t" istatistiği (Öğrenci dağılımı) kullanmasıdır. "Z" istatistiği, sonsuz serbestlik derecesine sahip "t" istatistiği ile aynıdır. Bu yöntem asimtotik bir yöntemdir ve diğerlerinden daha küçük p değerleri ve daha kısa güven aralıkları sağlar. Veri kümesi küçükse p değerleri çok küçük olabilir ve güven aralıkları çok kısa olabilir.

Çalıştırdığımda lsmeans(myfit, pairwise~myfactor)aşağıdaki mesaj belirir:

Loading required namespace: pbkrtest

Bu, lsmeans(bir lmermodel için) pbkrtest"t" istatistiğinin serbestlik dereceleri için Kenward & Rogers yöntemini uygulayan paketi kullandığı anlamına gelir . Bu yöntem, asimptotik olandan daha iyi p değerleri ve güven aralıkları sağlamayı amaçlamaktadır (özgürlük derecesi büyük olduğunda fark yoktur).

Şimdi, lsmeans(myfit, pairwise~myfactor)$contrastsve arasındaki fark hakkında, glht(myfit, lsm(pairwise~factor)bazı testler yaptım ve gözlemlerim şu:

  • lsmlsmeanspaket ve paket arasındaki bir arabirimdir multcomp(bkz. ?lsm)

  • dengeli bir tasarım için sonuçlar arasında fark yoktur

  • dengesiz bir tasarım için, sonuçlar arasında küçük farklılıklar gözlemledim (standart hatalar ve t oranı)

Ne yazık ki bu farklılıkların sebebinin ne olduğunu bilmiyorum. Sadece doğrusal hipotezler matrisini ve serbestlik derecesini almak için lsmçağrılara benziyor lsmeans, ancak lsmeansstandart hataları hesaplamak için farklı bir yol kullanıyor.


Detaylı cevap için teşekkürler! Test istatistiğindeki farkı tamamen kaçırdım ... Değerlerin çok küçük olabileceğini ve CI'ların asimptotik yöntem için çok dar olabileceğini söylüyorsunuz. Veri setim ~ 30 katılımcıdan oluşuyor, bu yüzden sanırım t istatistiğine bağlı kalacağım. Kenward & Rogers yönteminin daha iyi p değerlerine yol açtığını söylediğinizde, daha doğru mu yoksa daha küçük mü demek istediniz? Bu nedenle, farklılıklar df ve SE hesaplama yöntemlerindeki farklılıklardan kaynaklanıyor ve sizi doğru anladıysam, bunlardan birinin modelimle yanlış kullanılmasından kaynaklanmıyor. Burada "en iyi" yöntemi seçmenin bir yolu var mı?
schvaba986

11
(Ben lsmeans paket geliştiricisiyim) pbkrtest paketini lsmeanskullanır, bu da (1) Kenward-Rogers df hesaplamaları ve (2) tahminlerde azalmış önyargıya sahip ayarlanmış bir kovaryans matrisi sağlar. İlk olarak ayarlarsanız lsm.options(disable.pbkrtest=TRUE), lsmeansile çağrı , çok değişkenli t dağılımı için her iki paket tarafından kullanılan rasgele algoritma nedeniyle küçük farklılıklar dışında adjust="mvt"aynı sonuçları verecektir glht.
Russ Lenth

3
Ancak, önyargı ayarlaması ve df olmadan, asimptotik (z) değerlerinin esasen sonsuz df'yi alması nedeniyle pbkrtest'i devre dışı bırakmadan "mvt" ayarını öneririm, böylece gerçekçi olmayan düşük P değerleri verir.
Russ Lenth

3
Bu arada, summaryyöntem glht, varsayılan tek adımlı (eşzamanlı CI) çokluk ayarının yanı sıra çeşitli adım aşağı test yöntemlerine izin verir. Tamamen farklı bir noktada, birden fazla faktörünüz varsa, lsmnormal karşılaştırma türlerini kolayca oluşturabilir, ancak mcpbunu yapamazsınız.
Russ Lenth
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.