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
Ω20
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 / lme4
topluluğ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 (
anova
ya 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.fnc
içinde languageR
paket için bir sarıcı mcmcsamp
)
- AD Model Builder'da, muhtemelen
glmmADMB
paketle ( mcmc=TRUE
seçeneği kullanın) veya R2admb
paketle (kendi model tanımınızı AD Model Builder'da yazın) veya R'nin dışında
- Via
sim
işlevin arm
paketi (sadece beta (sabit etki) katsayıları için posterior simüle
Tam Bayesian yaklaşımları:
- Via
MCMCglmm
paketin
- Kullanma
glmmBUGS
(bir WinBUGS sarıcı / R arayüzü)
- JAGS / WinBUGS / OpenBUGS vb.
rjags
/ r2jags
/ R2WinBUGS
/ BRugs
Paketlerini kullanarak
Bunun nasıl görünebileceğini gösterme amacıyla, aşağıda gördüğünüz paketi MCMCglmm
kullanarak MCMCglmm
yukarı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.
anova()
Fonksiyonunu, doğrusal modellerde olduğu gibi doğrusal karışık modellerde bir anova tablosu elde etmek için kullanabilirsiniz .