Uji Ulang dan Pengujian Banyak Efek Acak

8

Saya ingin tahu tentang bagaimana paket lmerTest di R, khususnya fungsi "rand", menangani tes efek acak. Pertimbangkan contoh dari pdf lmerTest tentang CRAN yang menggunakan kumpulan data "wortel" bawaan :

#import lme4 package and lmerTest package
  library(lmerTest)
#lmer model with correlation between intercept and slopes
#in the random part
  m <- lmer(Preference ~ sens2+Homesize+(1+sens2|Consumer), data=carrots)
# table with p-values for the random effects
  rand(m)

Model ini menetapkan dua varian acak (intersep dan "sens2"), keduanya bersarang di "Konsumen," dan kovarians antara intersep dan "sens2." Output (tidak disediakan dalam pdf) untuk komponen acak dari lmer run berikut:

Random effects:
Groups   Name        Variance Std.Dev. Corr
Consumer (Intercept) 0.195168 0.44178      
         sens2       0.002779 0.05271  0.18
Residual             1.070441 1.03462      
Number of obs: 1233, groups:  Consumer, 103

Yang diharapkan diberikan spesifikasi model. Output dari fungsi rand mengikuti:

Analysis of Random effects Table:
                 Chi.sq Chi.DF p.value  
sens2:Consumer   6.99      2    0.03 *
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Diberikan tabel efek acak, saya pikir lmerTest mengevaluasi kemiringan acak untuk "sens2" tetapi mungkin juga merupakan kovarians antara kemiringan dan intersep. Tes untuk intersep acak tidak termasuk. Saya memperkirakan model lain dengan hanya intersep acak (tidak ada kemiringan atau kovarian acak), dan mendapatkan yang berikut dari pernyataan "rand":

Analysis of Random effects Table:
           Chi.sq Chi.DF p.value    
Consumer   79.6      1  <2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Tes untuk varian acak yang terkait dengan intersep disediakan di sini. Jadi, apakah ada yang tahu apa pengujian komponen varians acak dari model pertama pengujian? Apakah ada cara yang tidak bisa saya lihat dari dokumentasi untuk menguji ketiga komponen acak? Saya harus menyebutkan halaman untuk tes Rand di inside-R.org memiliki deskripsi membingungkan berikut (yang saya tidak lihat di pdf pada CRAN):

Values
Produces a data frame with tests for the random terms being non-significant.

Note
If the effect has random slopes, then first the correlations between itercept [sic] and slopes are checked for significance

Mungkinkah deskripsi "Nilai" itu mundur dan hanya efek signifikan yang dilaporkan? Saya menjalankan prosedur "langkah" dan tidak jelas apakah ketiga komponen varians acak dipertimbangkan dalam proses.

Setiap wawasan tentang masalah ini sangat dihargai.

Joe

EDIT: Plotnya sedikit mengental. Saya sadar untuk memeriksa struktur kovarians "diagonal" (tidak ada kovarians antara intersep dan kemiringan acak) dengan menggunakan yang berikut (berdasarkan pos yang luar biasa ini ):

m2 <- lmer(Preference ~ sens2+Homesize+(1|Consumer)+(0+sens2|Consumer), data=carrots)

Output lmer untuk varian acak, menggunakan VarCorr, adalah sebagai berikut:

Groups     Name        Std.Dev.
Consumer   (Intercept) 0.441807
Consumer.1 sens2       0.052719
Residual               1.034618

Yang benar menghilangkan kovarians (korelasi) antara kemiringan acak dan intersep. Menjalankan fungsi "rand" dari lmerTest menghasilkan output berikut:

Analysis of Random effects Table:
                 Chi.sq Chi.DF p.value    
Consumer         84.4      1  <2e-16 ***
sens2:Consumer    6.3      1    0.01 *  
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Jadi itu akan menguji dua komponen varians untuk model ini. Tetapi pertanyaannya tetap mengenai model pertama dengan kovarians acak. Apa itu pengujian lmerTest?

BBJonz
sumber

Jawaban:

2

Dokumentasi pada lmerTest::rand()fungsi pasti singkat.

Dari apa yang saya dapat kumpulkan saya pikir itu menguji hipotesis bahwa variasi efek acak (yaitu, intersep bervariasi (1 | Consumer) ) adalah signifikan versus nol yang tidak ada di antara variasi tingkat grup, , di mana untuk adalah indikator grup. (Saya mengikuti notasi Gelman & Hill (2007), lihat bab 12).H0:σα2=0αj[saya]N(μα,σα2)j=1,...,J


Saya bukan ahli sehingga kode sedikit membingungkan saya. Secara khusus, saya tidak jelas tentang apa elimRandEffsfungsi ini tetapi saya kira itu mengubah menjadi istilah tetap (yang dikumpulkan) dan kemudian membandingkan ini dengan model asli. Semoga seseorang dengan pengetahuan yang lebih besar dapat menjelaskan hal ini.αj[saya]α

Di sisi teoretis, randharus melakukan sesuatu seperti tes yang diusulkan dalam Lee dan Braun 2012 . Namun, tidak seperti ekstensi mereka untuk menguji efek acak pada suatu waktu (bagian 3.2), output muncul untuk menguji hanya satu efek acak pada suatu waktu. Ringkasan sederhana dari ide yang sama ada di slide 10-12 yang ditemukan di sini .0<rqrand


Jadi intuisi Anda bahwa "lmerTest sedang mengevaluasi kemiringan acak untuk 'sens2' [dan] mungkin juga merupakan kovarians antara kemiringan dan intersep" adalah benar dalam randpengujian jika varian efek acak berbeda secara signifikan dari nol.

Tetapi tidak benar untuk mengatakan bahwa "tes untuk intersep acak tidak termasuk". RE dalam spesifikasi pertama Anda:

 (1 + sens2 | Consumer) 

mengasumsikan korelasi non-nol antara intersep dan kemiringan, yang berarti mereka bervariasi bersama - sama dan dengan demikian rand()menguji spesifikasi terhadap model no RE (yaitu, mengurangi ke regresi klasik).

Spesifikasi kedua

 (1  | Consumer) + (0 + sens2 | Consumer) 

memberikan dua garis output karena efek acak dapat dipisahkan secara aditif. Di sini randmenguji (di baris keluaran 1) model dengan intersep gabungan / tetap dengan kemiringan acak terhadap spesifikasi Anda. Di baris ke-2, tes ini dilakukan terhadap tumpukan miring dengan intersep acak. Jadi, seperti stepfungsinya, randtes RE independen satu per satu.

Saya masih bingung dengan inside-R.org perhatikan itu

  Note
  If the effect has random slopes, then first the correlations between itercept [sic] and slopes are checked for significance

Itu tidak ada dalam dokumentasi paket, jadi saya tidak tahu dari mana asalnya atau dari mana tes seperti itu akan ditemukan di output.

EDIT

Saya pikir saya salah tentang model nol dalam model kemiringan / intersepsi berkorelasi seperti dalam spesifikasi pertama. The stepdokumentasi mengatakan:

pada bagian acak jika ada korelasi antara kemiringan dan intersep, model yang disederhanakan hanya akan berisi intersep. Itu adalah jika bagian acak dari model awal adalah (1 + c | f), maka model ini dibandingkan dengan (1 | f) dengan menggunakan LRT.

Saya membayangkan prinsip yang sama juga berlaku rand.

Tony Beans
sumber
1

The dokumentasi lmerTest menggambarkan rand()sebagai menghasilkan

"... vektor statistik Chi square dan nilai-p yang sesuai dari tes rasio kemungkinan."

Jadi, saya percaya ini adalah tes rasio kemungkinan. Artinya, sederhana saja, perbandingan model dengan efek acak yang diberikan ke model yang sama tanpa efek acak.

Sehubungan dengan contoh tersebut, rand()bandingkan model dengan kemiringan sens2 acak dalam Konsumen dengan model dengan intersepsi acak Konsumen .

Hitung kedua model:

m <- lmer(Preference ~ sens2+Homesize+(1+sens2|Consumer), data=carrots, REML = FALSE)
m2 <- lmer(Preference ~ sens2+Homesize+(1|Consumer), data=carrots, REML = FALSE)

Periksa output dari rand(m):

rand(m)
Analysis of Random effects Table:
           Chi.sq Chi.DF p.value  
sens2:Consumer   6.99      2    0.03 *

Lakukan uji rasio kemungkinan membandingkan model m dengan model m2 :

anova(m, m2, test = "Chi")
   Df  AIC    BIC    logLik  deviance  Chisq   Chi Df Pr(>Chisq)  
m   5 3751.4 3777.0 -1870.7   3741.4                           
m2  7 3748.7 3784.5 -1867.4   3734.7   6.6989    2     0.0351 *

Memang, anova() Chisq sedikit kurang dari itu rand(m), tetapi sebaliknya, output dasarnya identik. Mungkin interpretasi saya tidak akurat tetapi saya selalu berasumsi bahwa ini adalah bagaimana rand()fungsi menghasilkan outputnya.

JMB
sumber