Çok seviyeli bir modelde, tahmin etmeme ve rastlantısal etki korelasyon parametrelerini tahmin etmenin pratik sonuçları nelerdir?


27

Çok seviyeli bir modelde, tahmin etmeme ve rastlantısal etki korelasyonu parametrelerini tahmin etmenin pratik ve yorumlama ile ilgili etkileri nelerdir? Bunu sormanın pratik nedeni, R'deki lmer çerçevede, parametreler arasındaki korelasyon modelinde tahminler yapıldığında, MCMC teknikleri ile p-değerleri tahmin etmek için uygulanan bir yöntem bulunmamasıdır.

Örneğin, bu örneğe bakıldığında (aşağıda alıntı yapılan bölümler) M2 ile M3 arasındaki pratik uygulamalar nelerdir. Açıkçası, bir durumda P5 tahmin edilemez ve diğerinde olacaktır.

Sorular

  1. Pratik nedenlerden dolayı (MCMC teknikleriyle bir p-değeri alma arzusu), P5 esasen sıfır olmasa bile rastgele etkiler arasında korelasyon olmadan bir modele uymak isteyebilir. Eğer biri bunu yapar ve daha sonra MCMC tekniği ile p değerleri tahmin ederse sonuçlar yorumlanabilir mi? (Ben @Ben Bolker daha önce ifade etmiştir biliyoruz ") bunu yapmaya teşvik anlamak rağmen (güven aralıkları elde daha desteklenebilir olduğunu MCMC ile önemi testi birleştirerek istatistiksel biraz tutarsız" o yapacak eğer öyleyse daha iyi uyku, Geceleri sanki güven aralıklarını söyledim.)
  2. Eğer biri P5'i tahmin edemezse, 0 olduğunu iddia etmekle aynı mıdır?
  3. Eğer P5 gerçekten sıfır değilse, P1-P4'ün tahmini değerleri hangi şekilde etkilenir?
  4. P5 gerçekten sıfır değilse, P1-P4 için hata tahminleri hangi şekilde etkilenir?
  5. P5 gerçekten sıfır değilse, P5 kusurunu içeremeyen bir modelin yorumlamaları hangi şekillerde?

@Mike Lawrence'ın cevabından ödünç almak (benden daha fazla bilgili olanları tam model gösterimi ile değiştirmekte özgürüm, bunu makul bir doğrulukla yapabileceğimden tamamen emin değilim):

M2: V1 ~ (1|V2) + V3 + (0+V3|V2)(Tahminler P1 - P4)

M3: V1 ~ (1+V3|V2) + V3(P1-P5 Tahminleri)

Tahmin edilebilecek parametreler:

P1 : Global bir engelleme

P2 : Rastgele efekt V2 için kesişir (yani, her V2 seviyesi için, bu seviyenin kesişiminin global kesişimden sapması)

P3 : V3'ün etkisi (eğimi) için tek bir küresel tahmin

P4 : V3'ün her seviyesindeki V3'ün etkisi (daha spesifik olarak, belirli bir seviye içinde V3 etkisinin derecesinin V3'ün küresel etkisinden sapma derecesi), engellemedeki sapmalar ile V3 arasındaki seviyeler arasındaki sapma arasındaki korelasyonu zorlamak V2

P5 : Kesişme sapmaları ve V2 seviyelerinde V3 sapmaları arasındaki korelasyon

Yeterince büyük ve geniş bir simülasyondan elde edilen ve beraberindeki R kodunun lmer kullanılarak eşlik ettiği koddan türetilen cevaplar kabul edilebilir.



@ JackTanner: Orada da tatmin olmuş gibisiniz. Bu sorunun cevabında endişelerinizi de ele almanız çok iyi olurdu.
russellpierce

4
Sorunuzun çoğuna kesin bir cevap vererek - "modeli _______ şekilde yanlış tanımladığımda _______ ne olur" - muhtemelen, tartışılmaz bir teoriye dalmadan muhtemelen imkansızdır (bu, bir şeyin mümkün olduğu özel bir durum olsa da - I emin değilim). Muhtemelen kullanacağım strateji, eğim ve kesişme noktası yüksek oranda korelasyon gösterdiğinde verileri simüle etmek, ilişkisiz olmak için ikisini kısıtlayan modele uyum sağlamak ve sonuçları doğru bir şekilde tanımlandığında sonuçları karşılaştırmaktır (yani "duyarlılık analizi").
Makro

4
Sorularınız için, aşağıdakilerden% 80 (ancak% 100) emin değilim: re. # 2, Evet, korelasyonu tahmin etmezseniz, onu 0 olmaya zorlarsınız; geri kalanı için, eğer korelasyon aslında tam olarak 0 değilse , o zaman verilerinizin bağımsız olmamasını yanlış belirlersiniz. Bununla birlikte, betalar tarafsız olabilir, ancak p-değerleri kapalı olacaktır (& çok yüksek veya çok düşük olmalarına bağlı olabilir ve bilemeyebilir). Böylece, betaların yorumlamaları normal olarak devam edebilir, ancak 'önemlerin' yorumları yanlış olacaktır.
gung - Reinstate Monica

2
@Macro: Umarım bir ödül, simülasyondan ziyade teoriye dayalı iyi bir cevabı serbest bırakabilirdi. Bir simülasyonla sık sık endişeleneceğim uygun bir davadan alamadım. Simülasyonları yürütmekte çok iyiyim, ama her zaman birazcık ... tüm doğru simülasyonları çalıştığımdan emin değilim (her ne kadar karar vermek için bunu derginin editörlerine bırakabileceğimi düşünmeme rağmen). Hangi senaryoları içereceği hakkında başka bir soru sormam gerekebilir.
russellpierce

Yanıtlar:


16

Lme4'te bulunan sleepstudy verilerini göz önünde bulundurun. Bates bunu çevrimiçi kitabında lme4 hakkında tartışıyor. 3. bölümde, veriler için iki model ele alınmıştır.

M0:Reaksiyon~1+günler+(1|konu)+(0+günler|konu)

ve

Mbir:Reaksiyon~1+günler+(günler|konu)

Çalışmada, 10 uykudan mahrum kalan gün boyunca incelenen 18 kişi yer aldı. Reaksiyon süreleri başlangıçta ve sonraki günlerde hesaplandı. Tepki süresi ile uyku yoksunluğu süresi arasında açık bir etkisi vardır. Konular arasında da önemli farklılıklar vardır. Model A, rastgele engelleme ve şev efektleri arasında bir etkileşim olasılığını mümkün kılar: düşünün, yani, kötü tepki süreleri olan kişilerin, uyku yoksunluğu etkilerinden daha fazla acı çektiğini düşünün. Bu, rastgele etkilerde pozitif bir korelasyon anlamına gelir.

Bates örneğinde, Kafes grafiğinden belirgin bir korelasyon yoktu ve modeller arasında anlamlı bir fark yoktu. Bununla birlikte, yukarıda sorulan soruyu araştırmak için, uyku dizgesinin uygun değerlerini almaya, korelasyonu arttırmaya ve iki modelin performansına bakmaya karar verdim.

Görüntüden görebileceğiniz gibi, uzun reaksiyon süreleri daha fazla performans kaybıyla ilişkilendirilir. Simülasyon için kullanılan korelasyon 0,58

görüntü tanımını buraya girin

Yapay verilerimin uygun değerlerine dayanarak lme4'teki benzetme yöntemini kullanarak 1000 örneği simüle ettim. Her birine M0 ve Ma uydurarak sonuçlara baktım. Orijinal veri setinde 180 gözlem (18 denekten her biri için 10) vardı ve simüle edilen veriler aynı yapıya sahipti.

Sonuç olarak, çok az fark var.

  1. Sabit parametreler her iki modelde de aynı değerlere sahiptir.
  2. Rastgele etkiler biraz farklıdır. Simüle edilen her örnek için 18 durdurma ve 18 eğim rastgele etkisi vardır. Her örnek için, bu etkiler 0'a eklenmeye zorlanır, bu, iki model arasındaki ortalama farkın (yapay olarak) 0 olduğu anlamına gelir. Ancak, farklılıklar ve kovaryanslar farklıdır. MA altındaki medyan kovaryans 104, M0 altında 84'e karşı (gerçek değer, 112). Eğimlerin ve kesişme noktalarındaki değişmeler M0 altında MA'dan daha büyüktü, muhtemelen serbest bir kovaryans parametresinin yokluğunda ihtiyaç duyulan ekstra kıpırdatma odasını almak için.
  3. Lmer için ANOVA metodu, Slope modelini sadece rastgele engellemeli bir modelle karşılaştırmak için bir F istatistiği verir (uyku yoksunluğundan dolayı etki yoktur). Açıkçası, bu değer her iki modelde de çok büyüktü, ancak MA altında tipik olarak (ancak her zaman değil) daha büyüktü (ortalama 62'ye karşılık ortalama 55).
  4. Sabit etkilerin kovaryansı ve varyansı farklıdır.
  5. Yaklaşık yarısı, MA'nın doğru olduğunu biliyor. M0 ile MA arasındaki karşılaştırma için medyan p değeri 0.0442'dir. Anlamlı bir korelasyonun ve 180 dengeli gözlemin varlığına rağmen, doğru model sadece yarı zamanlı olarak seçilecektir.
  6. Öngörülen değerler iki modelde farklılık gösterir, ancak çok azdır. Tahminler arasındaki ortalama fark 0, sd 2,7'dir. Öngörülen değerlerin kendileri 60,9

Peki bu neden oluyor? makul olarak, bir korelasyon olasılığını içermedeki başarısızlığın, rastgele etkileri ilişkisiz olmaya zorladığı tahmin edilmektedir. Belki de yapmalı; ancak bu uygulamada, rastgele etkilerin ilişkilendirilmesine izin verilir, bu, modelden bağımsız olarak verilerin parametreleri doğru yönde çekebildiği anlamına gelir. Yanlış modelin yanlışlığı, olasılıkla ortaya çıkar, bu yüzden iki modeli bu seviyede ayırt edebilirsiniz (bazen). Karışık etkiler modeli temel olarak, modelin ne olması gerektiğini düşündüğünden etkilenen her konuya doğrusal gerileme uyguluyor. Yanlış model, doğru modelde olduğundan daha az makul değere uymaya zorlar. Ancak, günün sonunda, parametreler gerçek verilere uygun olarak yönetilir.

görüntü tanımını buraya girin

İşte benim biraz zorlu kod. Buradaki düşünce uyku çalışması verilerine uymak ve aynı parametrelerle simüle edilmiş bir veri seti oluşturmaktı, ancak rastgele etkiler için daha büyük bir korelasyon vardı. Bu veri seti, her ikisi de uygun olan 1000 örneği simüle etmek için simule.lmer () 'e beslenmiştir. Bir kere takılmış objeleri eşleştirdikten sonra, fit'in farklı özelliklerini çıkarabilir ve bunları, t testleri kullanarak veya her neyse karşılaştırabilirim.

    # Fit a model to the sleep study data, allowing non-zero correlation
fm01 <- lmer(Reaction ~ 1 + Days +(1+Days|Subject), data=sleepstudy, REML=FALSE)
# Now use this to build a similar data set with a correlation = 0.9
# Here is the covariance function for the random effects
# The variances come from the sleep study. The covariance is chosen to give a larger correlation
sigma.Subjects <- matrix(c(565.5,122,122,32.68),2,2) 
# Simulate 18 pairs of random effects
ranef.sim <- mvrnorm(18,mu=c(0,0),Sigma=sigma.Subjects)
# Pull out the pattern of days and subjects.
XXM <- model.frame(fm01) 
n <- nrow(XXM) # Sample size
# Add an intercept to the model matrix.
XX.f <- cbind(rep(1,n),XXM[,2])
# Calculate the fixed effects, using the parameters from the sleep study. 
yhat <- XX.f %*%  fixef(fm01 )
# Simulate a random intercept for each subject
intercept.r <- rep(ranef.sim[,1], each=10) 
# Now build the random slopes
slope.r <- XXM[,2]*rep(ranef.sim[,2],each=10)
# Add the slopes to the random intercepts and fixed effects
yhat2 <- yhat+intercept.r+slope.r
# And finally, add some noise, using the variance from the sleep study
y <- yhat2 + rnorm(n,mean=0,sd=sigma(fm01))
# Here is new "sleep study" data, with a stronger correlation.
new.data <- data.frame(Reaction=y,Days=XXM$Days,Subject=XXM$Subject)
# Fit the new data with its correct model
fm.sim <- lmer(Reaction ~ 1 + Days +(1+Days|Subject), data=new.data, REML=FALSE)
# Have a look at it
xyplot(Reaction ~ Days | Subject, data=new.data, layout=c(6,3), type=c("p","r"))
# Now simulate 1000 new data sets like new.data and fit each one
# using the right model and zero correlation model.
# For each simulation, output a list containing the fit from each and
# the ANOVA comparing them.
n.sim <- 1000
    sim.data <- vector(mode="list",)
    tempReaction <- simulate(fm.sim, nsim=n.sim)
    tempdata <- model.frame(fm.sim)
    for (i in 1:n.sim){
        tempdata$Reaction <- tempReaction[,i]
			output0 <- lmer(Reaction ~ 1 + Days +(1|Subject)+(0+Days|Subject), data = tempdata, REML=FALSE)
			output1 <- lmer(Reaction ~ 1 + Days +(Days|Subject), data=tempdata, REML=FALSE)
			temp <- anova(output0,output1)
			pval <- temp$`Pr(>Chisq)`[2]
        sim.data[[i]] <- list(model0=output0,modelA=output1, pvalue=pval)
    }

1
Bu ilginç bir iştir. Teşekkür ederim. Önümüzdeki birkaç gün içinde başka yorumların ortaya çıktığını ve cevabı kabul etmeden önce işlerin diğer davalara nasıl genelleştiğini görmek istiyorum. Ayrıca, kullandığınız lmer sürümünü belirtmenin yanı sıra cevabınıza ilgili R Kodunu da dahil etmeyi düşünür müsünüz? Belirsiz rastgele etkiler ilişkisini nasıl ele aldığını görmek için aynı benzetilmiş durumları PROC KARIŞTIRMAYA beslemek ilginç olurdu.
russellpierce

1
@rpierce Kod örneğini istendiği gibi ekledim. İlk başta LaTeX / Sweave'de yazdım, bu yüzden kod satırları kendi yorumlarımla iç içe geçti. Haziran 2014'teki güncel sürüm olan lme4'ün 1.1-6 sürümünü kullandım.
Placidia

@ İkinci paragrafta "Model A izin verir" derken, bu MO olmamalı mı?
nzcoops

Metnin doğru olduğunu düşünüyorum (bu soru için yaptığım tek şey formülü biraz
güzeldi

6. Mükemmel cevap, eski ama değerli sorulara dikkatiniz için teşekkür ederiz.
amip diyor Reinstate Monica,

4

Placidia, veri sleepstudysetine dayanan simüle edilmiş verileri kullanarak zaten kapsamlı bir cevap sağlamıştır . İşte sleepstudyverileri kullanan başka (daha az titiz) bir cevap .

Birinin, rastgele tahmin değişkenini "değiştirerek" rastgele engel ile rastgele eğim arasındaki tahmini korelasyonu etkileyebileceğini görüyoruz. Aşağıdaki fm1ve modellerden sonuçlara fm2bakın:

library(lmer)

#Fit Models
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
k <- 3 # Shift "Days" by an arbitrary amount
fm2 <- lmer(Reaction ~ I(Days + k) + (I(Days + k)| Subject), sleepstudy)

fm1 # Model Output
# Linear mixed model fit by REML ['lmerMod']
# Formula: Reaction ~ Days + (Days | Subject)
# Data: sleepstudy
# REML criterion at convergence: 1743.628
# Random effects:
#   Groups   Name        Std.Dev. Corr
# Subject  (Intercept) 24.740       
# Days         5.922   0.07
# Residual             25.592       
# Number of obs: 180, groups:  Subject, 18
# Fixed Effects:
#   (Intercept)         Days  
# 251.41        10.47

fm2 # Model Output
# Linear mixed model fit by REML ['lmerMod']
# Formula: Reaction ~ I(Days + k) + (I(Days + k) | Subject)
# Data: sleepstudy
# REML criterion at convergence: 1743.628
# Random effects:
#   Groups   Name        Std.Dev. Corr 
# Subject  (Intercept) 29.498        
# I(Days + k)  5.922   -0.55
# Residual             25.592        
# Number of obs: 180, groups:  Subject, 18
# Fixed Effects:
#   (Intercept)  I(Days + k)  
# 220.00        10.47

# Random effects from both models
cbind(ranef(fm1)$Subject,ranef(fm2)$Subject)
# (Intercept)        Days (Intercept) I(Days + k)
# 308   2.2585654   9.1989719 -25.3383538   9.1989727
# 309 -40.3985769  -8.6197032 -14.5394628  -8.6197043
# 310 -38.9602458  -5.4488799 -22.6136027  -5.4488807
# 330  23.6904985  -4.8143313  38.1334933  -4.8143315
# 331  22.2602027  -3.0698946  31.4698868  -3.0698946
# 332   9.0395259  -0.2721707   9.8560377  -0.2721706
# 333  16.8404311  -0.2236244  17.5113040  -0.2236243
# 334  -7.2325792   1.0745761 -10.4563076   1.0745761
# 335  -0.3336958 -10.7521591  31.9227854 -10.7521600
# 337  34.8903508   8.6282840   9.0054946   8.6282850
# 349 -25.2101104   1.1734142 -28.7303527   1.1734141
# 350 -13.0699567   6.6142050 -32.9125736   6.6142054
# 351   4.5778352  -3.0152572  13.6236077  -3.0152574
# 352  20.8635924   3.5360133  10.2555505   3.5360138
# 369   3.2754530   0.8722166   0.6588028   0.8722167
# 370 -25.6128694   4.8224646 -40.0802641   4.8224648
# 371   0.8070397  -0.9881551   3.7715053  -0.9881552
# 372  12.3145393   1.2840297   8.4624492   1.2840300

Model çıktısından, rastgele varyans korelasyonunun değiştiğini görüyoruz. Bununla birlikte, eğimler (sabit ve rastgele), artık sapma tahmininde olduğu gibi aynı kalmıştır. Kavramalar (sabit ve rastgele) tahminleri, değişkene yanıt olarak değişti.

De-korelasyon LMMS için rastgele kesişme-eğim kovaryansını Dr Jack Weiss'ın ders notları tartışılmıştır burada . Weiss, bu şekilde varyans korelasyonunu azaltmanın bazen başka şeylerin yanı sıra model yakınsamasına yardımcı olabileceğini belirtti.

Yukarıdaki örnek rastgele korelasyonu değiştirir ("P5" parametresi). OP’nin Q3’ünü kısmen ele alarak, yukarıdaki çıktıdan şunu görüyoruz:

#   Parameter           Status
=================================
P1  Fixed Intercept     Affected
P2  Random Intercepts   Affected
P3  Fixed Slope         Not Affected
P4  Random Slopes       Not Affected
P5  Random Correlation  Affected

Bu uzun süredir devam eden soruya sinyal eklediğiniz için teşekkür ederiz!
russellpierce

Not: Jack
Weiss'ın

Daha sonra söz konusu verileri nasıl yorumlamalıyız? "Doğru" korelasyon nedir? Birinci veya ikinci modelden olanı? Veya BLUP'lardan olanlar?
Kullanıcı33268
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.