Karışık bir modelde kategorik bir faktör için “genel” bir p değeri ve etki büyüklüğü nasıl elde edilir (lme4)?


28

Bağımsız bir kategorik değişkenin (birkaç seviyeli) bir p-değeri ve etki büyüklüğü elde etmek istiyorum - bu "genel" dir ve her seviye için ayrı değildir, lme4R'deki normal çıktı gibi. Bir ANOVA çalıştırırken insanların rapor ettiği şey.

Bunu nasıl alabilirim?


Tam olarak hangi istatistikleri istiyorsun? anova()Fonksiyonunu, doğrusal modellerde olduğu gibi doğrusal karışık modellerde bir anova tablosu elde etmek için kullanabilirsiniz .
smillig

Anova () 'yı denedim ama bana Df, Sum Sq, Mean Sq ve F değeri verdi. Etki büyüklüğü ve p değeri göremiyorum. Bunun hakkında bir fikrin var mı?
user3288202

1
Etki boyutu, şunları eşdeğeri gibi ortalama bir şey yapmak ? P-değerleri ile ilgili olarak, onların tahminleri ve bunların uygulamalarında uzun ve önemli bir tartışma vardır . Daha fazla ayrıntı için bu sorudaki tartışmaya bakın. R2lme4
smillig

Bağlantı için teşekkürler, Smilig. Bu, p değeri hesaplaması ile ilgili bir sorun olduğu için, faktörün genelindeki etki büyüklüğünün de bir sorun olduğu anlamına mı geliyor?
user3288202

Doğrudan ilgili konular değildir. Bununla birlikte, doğrusal karışık bir modelin rastgele etkileri olmayan tam olarak doğrusal bir model gibi davranmadığını akılda tutmalısınız, bu nedenle doğrusal model için uygun olabilecek bir ölçü mutlaka karışık modellerde genelleştirilmez.
smillig

Yanıtlar:


48

Bahsettiğiniz kavramların her ikisi de (p-değerleri ve doğrusal karışık modellerin etki büyüklükleri) doğal sorunlara sahiptir. Efekt boyutuna gelince, orijinal yazar Doug Bates'den alıntı yapmak lme4,

Birinin bir tanımlamak istediği varsayıldığında ölçü, bir argüman, bir doğrusal model rezidüel kareler toplamı dikkate aynı şekilde bir doğrusal karma modeli kareler ceza kalıntı toplamı tedavisi için yapılabilir düşünüyorum. Veya herhangi bir ceza olmadan sadece artık kareler toplamı veya belirli bir terim kümesinden elde edilebilecek, sınırsız bir hassasiyet matrisine karşılık gelen asgari artık kareler toplamı kullanılabilir. Bilmiyorum, gerçekten. Neyi karakterize etmeye çalıştığınıza bağlı.R2

Daha fazla bilgi için, bu konuya , bu konuya ve bu mesaja bakabilirsiniz . Temel olarak mesele, varyansın modeldeki rastgele etkilerden dahil edilmesi ve ayrıştırılması için üzerinde anlaşılan bir yöntem olmadığıdır. Ancak, kullanılan birkaç standart vardır. R-sig-mixed-models e-posta listesi tarafından ayarlanan Wiki'ye bakarsanız, listelenen birkaç yaklaşım vardır.

Önerilen yöntemlerden biri, ölçülen değer ile gözlenen değerler arasındaki korelasyona bakar. Bu, Jarrett Byrnes tarafından bu konulardan birinde önerildiği gibi R'de uygulanabilir :

r2.corr.mer <- function(m) {
  lmfit <-  lm(model.response(model.frame(m)) ~ fitted(m))
  summary(lmfit)$r.squared
}

Örneğin, şu doğrusal karışık modeli tahmin ettiğimizi söyleyin:

set.seed(1)
d <- data.frame(y = rnorm(250), x = rnorm(250), z = rnorm(250),
                g = sample(letters[1:4], 250, replace=T)       )
library(lme4)
summary(fm1 <- lmer(y ~ x + (z | g), data=d))
# Linear mixed model fit by REML ['lmerMod']
# Formula: y ~ x + (z | g)
#    Data: d
# REML criterion at convergence: 744.4
# 
# Scaled residuals: 
#     Min      1Q  Median      3Q     Max 
# -2.7808 -0.6123 -0.0244  0.6330  3.5374 
# 
# Random effects:
#  Groups   Name        Variance Std.Dev. Corr 
#  g        (Intercept) 0.006218 0.07885       
#           z           0.001318 0.03631  -1.00
#  Residual             1.121439 1.05898       
# Number of obs: 250, groups: g, 4
# 
# Fixed effects:
#             Estimate Std. Error t value
# (Intercept)  0.02180    0.07795   0.280
# x            0.04446    0.06980   0.637
# 
# Correlation of Fixed Effects:
#   (Intr)
# x -0.005

Yukarıda tanımlanan fonksiyonu kullanarak efekt boyutunu hesaplayabiliriz:

r2.corr.mer(fm1)
# [1] 0.0160841

Ω02

1-var(residuals(fm1))/(var(model.response(model.frame(fm1))))
# [1] 0.01173721  # Usually, it would be even closer to the value above

P-değerleri ile ilgili olarak , bu çok daha çekişmeli bir konudur (en azından R / lme4topluluğunda). Soruların içindeki tartışmaları burada , burada ve burada diğerleri arasında görebilirsiniz. Wiki sayfasına tekrar atıfta bulunularak, doğrusal karışık modellerde etkileri üzerine hipotezleri test etmek için birkaç yaklaşım vardır. "En kötüsünden en iyisine" listelenmiştir ( Wiki sayfasının yazarlarına göre, burada en çok katkıda bulunan Ben Dougker ve Doug Bates'un da dahil olduğunu düşünüyorum):

  • Wald Z testleri
  • Df'nin hesaplanabileceği dengeli, iç içe LMM'ler için: Wald t-testleri
  • Olabilirlik oran testi, ya modeli kurarak, parametrenin izole edilebileceği / düşebileceği ( anovaya da ya da drop1) ya da hesaplama olabilirlik profilleri aracılığıyla
  • MCMC veya parametrik önyükleme güven aralıkları

Markov zinciri Monte Carlo örnekleme yaklaşımını öneriyorlar ve bunu aşağıda sözde ve tamamen Bayesian yaklaşımlarından uygulamak için bir takım olasılıkları listeliyorlar.

Sözde Bayes:

  • Bir post-hoc örnekleme, tipik olarak (1) düz öncelikler varsayar ve (2) MLE'den başlayarak, muhtemelen bir aday dağılım seçmek için yaklaşık varyans-kovaryans tahminini kullanarak
  • Via mcmcsamp(senin problemin varsa: basit rastgele etkilerle yani LMMS - değil GLMMs veya karmaşık rastgele etkilerin)
    Via pvals.fnciçinde languageRpaket için bir sarıcı mcmcsamp)
  • AD Model Builder'da, muhtemelen glmmADMBpaketle ( mcmc=TRUEseçeneği kullanın) veya R2admbpaketle (kendi model tanımınızı AD Model Builder'da yazın) veya R'nin dışında
  • Via simişlevin armpaketi (sadece beta (sabit etki) katsayıları için posterior simüle

Tam Bayesian yaklaşımları:

  • Via MCMCglmmpaketin
  • Kullanma glmmBUGS(bir WinBUGS sarıcı / R arayüzü)
  • JAGS / WinBUGS / OpenBUGS vb. rjags/ r2jags/ R2WinBUGS/ BRugsPaketlerini kullanarak

Bunun nasıl görünebileceğini gösterme amacıyla, aşağıda gördüğünüz paketi MCMCglmmkullanarak MCMCglmmyukarıdaki modelle benzer sonuçlar verdiğini ve bir tür Bayesian p değerine sahip olduğunu tahmin ediyoruz :

library(MCMCglmm)
summary(fm2 <- MCMCglmm(y ~ x, random=~us(z):g, data=d))
# Iterations = 3001:12991
# Thinning interval  = 10
#  Sample size  = 1000 
# 
#  DIC: 697.7438 
# 
#  G-structure:  ~us(z):g
# 
#       post.mean  l-95% CI u-95% CI eff.samp
# z:z.g 0.0004363 1.586e-17 0.001268    397.6
# 
#  R-structure:  ~units
# 
#       post.mean l-95% CI u-95% CI eff.samp
# units    0.9466   0.7926    1.123     1000
# 
#  Location effects: y ~ x 
# 
#             post.mean l-95% CI u-95% CI eff.samp pMCMC
# (Intercept)  -0.04936 -0.17176  0.07502     1000 0.424
# x            -0.07955 -0.19648  0.05811     1000 0.214

Umarım bu biraz yardımcı olur. Doğrusal karışık modellerle başlayan ve bunları R'de kestirmeye çalışan birileri için en iyi tavsiyenin , bu bilgilerin çoğunun çizildiği Wiki skalasını okumak olduğunu düşünüyorum . Temelden gelişmişe ve modellemeden arsaya her türlü karma efekt teması için mükemmel bir kaynaktır.


Çok teşekkürler smilig. Bu nedenle, genel parametreler için efekt boyutunu rapor etmeyebilirim.
user3288202

r2

3
+6, etkileyici şekilde net, kapsamlı ve ayrıntılı bir şekilde açıklamalı.
gung - Reinstate Monica

1
ek olarak, afex paketine ve özellikle de karma işlevine bir göz atabilirsiniz. bkz burada
acemi

6

Önemlilik ( p ) değerlerinin hesaplanmasına ilişkin olarak , Luke (2016) R'deki lineer karışık-etki modellerinde önemi değerlendirmek , en uygun yöntemin, serbestlik dereceleri için Kenward-Roger veya Satterthwaite yaklaşımı olduğunu bildirir (R gibi paketlerle mevcut) lmerTestveya afex).

soyut

Deneysel verilerin analizinde karma etki modelleri daha sık kullanılmaktadır. Bununla birlikte, R'deki lme4 paketinde, bu modellerde sabit etkilerin önemini değerlendirme standartları (yani, p-değerleri elde etmek) biraz belirsizdir. Bunun iyi nedenleri var, ancak bu modelleri kullanan araştırmacıların çoğu durumda p-değerlerini bildirmesi gerektiğinden, model çıktısının önemini değerlendirmek için bazı yöntemlere ihtiyaç duyulmaktadır. Bu makale, benzeşim oran testlerini kullanarak ve model çıktısından (t-as-z) Wald t değerlerine z dağılımını uygulamanın önemini değerlendirmek için en yaygın iki yöntemin biraz muhafazakar olduğunu gösteren simülasyonların sonuçlarını bildirmektedir. özellikle küçük örneklem büyüklükleri için. Anlamlılığı değerlendirmek için diğer yöntemler,Bu simülasyonların sonuçları, Modeller REML kullanılarak takıldıklarında Tip 1 hata oranlarının 0,05'e en yakın olduğunu ve p-değerlerinin Kenward-Roger veya Satterthwaite yaklaşımları kullanılarak elde edildiğini, bu yaklaşımların her ikisinin de daha küçük için kabul edilebilir Tip 1 hata oranlarını ürettiğini göstermektedir. örnekleri.

(vurgu eklenmiştir)


4
+1 Bu bağlantıyı paylaştığınız için teşekkür ederiz. Sadece Kenward-Roger yaklaşımının lmerTestpakette mevcut olduğunu kısaca yorumlayacağım .
amip diyor Reinstate Monica,

5

ben kullanıyorum lmerTest paketi. Bu anova(), MLM analizlerim için çıktıdaki p değerinin bir tahminini içerir , ancak buradaki diğer yazılarda verilen nedenlerden dolayı bir etki büyüklüğü vermez.


1
Benim durumumda, p değerleri de dahil olmak üzere tüm kontrast çiftlerini verdiği için lsmeans kullanarak ikili karşılaştırma yapmayı tercih ediyorum. Eğer lmerTest kullanırsam, tüm kontrast çiftlerini görmek için altı kez farklı taban çizgileri ile model çalıştırmam gerekecek.
user3288202 5:14
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.