Apakah masuk akal untuk efek tetap yang disarangkan dalam acak, atau bagaimana kode tindakan berulang di R (aov dan lmer)?

23

Saya telah melihat ikhtisar rumus lm / lmer R oleh @conjugateprior dan bingung dengan entri berikut:

Sekarang asumsikan A adalah acak, tetapi B adalah tetap dan B bersarang dalam A.

aov(Y ~ B + Error(A/B), data=d)

Formula model campuran analog di bawah lmer(Y ~ B + (1 | A:B), data=d) ini disediakan untuk kasus yang sama.

Saya tidak begitu mengerti apa artinya. Dalam percobaan di mana subjek dibagi menjadi beberapa kelompok, kita akan memiliki faktor acak (subjek) bersarang dalam faktor tetap (kelompok). Tetapi bagaimana suatu faktor tetap dapat bersarang dalam faktor acak? Sesuatu yang diperbaiki bersarang dalam subjek acak? Apakah itu mungkin? Jika tidak memungkinkan, apakah rumus R ini masuk akal?


Ikhtisar ini disebutkan akan sebagian didasarkan pada halaman kepribadian-proyek melakukan ANOVA di R berdasarkan diri pada ini tutorial langkah-langkah diulang dalam R . Ada contoh berikut untuk langkah-langkah yang diulang ANOVA diberikan:

aov(Recall ~ Valence + Error(Subject/Valence), data.ex3)

Di sini subjek disajikan dengan kata-kata valensi yang berbeda-beda (faktor dengan tiga level) dan waktu mengingatnya diukur. Setiap subjek disajikan dengan kata-kata dari ketiga level valensi. Saya tidak melihat apa pun yang bersarang di desain ini (tampaknya dilintasi, sesuai jawaban yang bagus di sini ), dan saya akan dengan naif berpikir bahwa Error(Subject)atau (1 | Subject)harus istilah acak yang sesuai dalam kasus ini. The Subject/Valence"bersarang" (?) Membingungkan.

Perhatikan bahwa saya mengerti itu Valenceadalah faktor dalam-subjek . Tapi saya pikir itu bukan faktor "bersarang" dalam subjek (karena semua subjek mengalami ketiga level Valence).


Memperbarui. Saya mengeksplorasi pertanyaan pada CV tentang mengkode tindakan ANOVA yang berulang di R.

  • Di sini berikut ini digunakan untuk tetap dalam-subjek / tindakan-berulang A dan acak subject:

    summary(aov(Y ~ A + Error(subject/A), data = d))
    anova(lme(Y ~ A, random = ~1|subject, data = d))
    
  • Di sini untuk dua efek A-B / subjek yang diulang / diulang-ulang:

    summary(aov(Y ~ A*B + Error(subject/(A*B)), data=d))
    lmer(Y ~ A*B + (1|subject) + (1|A:subject) + (1|B:subject), data=d) 
    
  • Di sini untuk tiga efek dalam-subjek A, B, dan C:

    summary(aov(Y ~ A*B*C + Error(subject/(A*B*C)), data=d))
    lmer(Y ~ A*B*C + (1|subject) + (0+A|subject) + (0+B|subject) + (0+C|subject) + (0+A:B|subject) + (0+A:C|subject) + (0+B:C|subject), data = d)
    

Pertanyaan saya:

  1. Kenapa Error(subject/A)dan tidak Error(subject)?
  2. Apakah itu (1|subject)atau (1|subject)+(1|A:subject)atau hanya (1|A:subject)?
  3. Apakah itu (1|subject) + (1|A:subject)atau (1|subject) + (0+A|subject), dan mengapa tidak sederhana (A|subject)?

Pada saat ini saya telah melihat beberapa utas yang mengklaim bahwa beberapa hal ini setara (misalnya, yang pertama: klaim bahwa mereka sama tetapi klaim yang berlawanan pada SO ; yang ketiga: jenis klaim bahwa mereka sama ). Apakah mereka?

amuba kata Reinstate Monica
sumber
2
Hanya komentar singkat untuk mengatakan bahwa, berbicara secara konseptual , menurut pendapat saya, hampir tidak pernah masuk akal untuk memiliki faktor tetap yang bersarang dalam faktor acak. Saya telah membaca setidaknya satu penulis buku teks mengatakan juga (tidak dapat mengingat referensi saat ini). Yang mengatakan, ada kemungkinan bahwa beberapa spesifikasi model yang Anda tulis di atas bekerja secara statistik setara dengan model yang lebih masuk akal ... Saya harus memikirkannya lebih lanjut dan sedikit mempermainkannya.
Jake Westfall
4
Sebenarnya saya kira masuk akal jika Anda berpikir tentang cara R menginterpretasikan sintaks A / B: itu hanya memperluas ini ke A + A: B. Jadi jika kita mempertimbangkan istilah acak seperti subject/condition, ini secara konsep meragukan karena tampaknya menyarankan bahwa kondisi bersarang pada subjek, ketika jelas itu kebalikannya, tetapi model yang benar-benar cocok adalah subject + subject:condition, yang merupakan model yang benar-benar valid dengan efek subjek acak dan lereng X subjek acak.
Jake Westfall
@JakeWestfall Terima kasih, ini sudah saya pikirkan sekarang, tapi saya ingin seseorang menjelaskannya dengan benar. Sebenarnya saya terkejut bahwa ini ternyata bukan pertanyaan sepele; Saya berharap Anda menjadi salah satu orang yang akan menjawab langsung. Tapi ini melegakan, karena awalnya saya pikir kebingungan saya pasti bodoh. By the way, ada beberapa standar referensi pada lmdan aovformula? Jika saya ingin memiliki sumber yang berwenang tentang apa sebenarnya yang aovdilakukan (apakah ini pembungkus lm?) Dan bagaimana Error()istilah tersebut bekerja, di mana saya harus mencari?
Amuba kata Reinstate Monica
1
@amoeba Ya, aovadalah pembungkus untuk lmdalam arti yang lmdigunakan untuk kotak paling cocok, tetapi aovmelakukan beberapa pekerjaan tambahan (terutama, menerjemahkan Erroristilah untuk lm). Sumber otoritatif adalah kode sumber atau mungkin referensi yang diberikan dalam help("aov"): Chambers et al (1992). Tetapi saya tidak memiliki akses ke referensi itu, jadi saya akan melihat ke dalam kode sumber.
Roland
Catatan untuk saya sendiri: ini adalah lembar contekan yang bagus uni-kiel.de/psychologie/rexrepos/posts/anovaMixed.html . Satu lagi: rpsychologist.com/r-guide-longitudinal-lme-lmer . Juga, Bates: stat.wisc.edu/~bates/UseR2008/WorkshopD.pdf dan stat.ethz.ch/pipermail/r-sig-mixed-models/2009q1/001736.html
amoeba mengatakan Reinstate Monica

Jawaban:

12

Dalam model campuran, pengobatan faktor-faktor sebagai tetap atau acak, terutama dalam hubungannya dengan apakah mereka dilintasi, sebagian dilintasi atau disarang dapat menyebabkan banyak kebingungan. Juga, tampaknya ada perbedaan dalam terminologi antara apa yang dimaksud dengan bersarang di dunia anova / eksperimen yang dirancang dan dunia model campuran / multilevel.

Saya tidak mengaku tahu semua jawaban, dan jawaban saya tidak akan lengkap (dan dapat menghasilkan pertanyaan lebih lanjut) tetapi saya akan mencoba untuk mengatasi beberapa masalah di sini:

Apakah masuk akal untuk efek tetap yang disarangkan dalam acak, atau bagaimana kode tindakan berulang di R (aov dan lmer)?

(judul pertanyaan)

Tidak, saya tidak percaya ini masuk akal. Ketika kita berhadapan dengan tindakan berulang, maka biasanya apa pun masalahnya tindakan itu diulangi akan acak, sebut saja Subject, dan lme4kita akan ingin memasukkan Subjectdi sisi kanan satu atau lebih |di bagian acak dari rumus. Jika kita memiliki efek acak lainnya, maka ini dapat dilintasi, sebagian dilintasi atau disarangkan - dan jawaban saya untuk pertanyaan ini mengatasinya.

Masalah dengan eksperimen yang dirancang dengan tipe anova ini tampaknya adalah bagaimana menangani faktor-faktor yang biasanya dianggap telah diperbaiki, dalam situasi tindakan berulang, dan pertanyaan-pertanyaan dalam tubuh OP berbicara tentang ini:

Mengapa Kesalahan (subjek / A) dan bukan Kesalahan (subjek)?

Saya biasanya tidak menggunakan aov()sehingga saya bisa kehilangan sesuatu tetapi, bagi saya Error(subject/A)itu sangat menyesatkan dalam kasus pertanyaan terkait . Error(subject)sebenarnya mengarah ke hasil yang persis sama.

Apakah (1 | subjek) atau (1 | subjek) + (1 | A: subjek) atau hanya (1 | A: subjek)?

Ini berkaitan dengan pertanyaan ini . Dalam hal ini, semua formulasi efek acak berikut mengarah ke hasil yang sama persis:

(1|subject)
(1|A:subject)
(1|subject) + (1|A:subject)
(1|subject) + (1|A:subject) + (1|B:subject)

Namun, ini karena dataset simulasi dalam pertanyaan tidak memiliki variasi dalam apa pun, hanya dibuat dengan Y = rnorm(48). Jika kita mengambil dataset nyata seperti cakedataset dalam lme4, kami menemukan bahwa ini umumnya tidak akan terjadi. Dari dokumentasi, berikut adalah pengaturan eksperimental:

Data tentang kerusakan sudut kue coklat dibuat dengan tiga resep berbeda dan dipanggang pada enam suhu berbeda. Ini adalah desain petak-terpisah dengan resep menjadi satuan utuh dan suhu berbeda diterapkan pada sub unit (dalam ulangan). Catatan eksperimental menunjukkan bahwa penomoran replikasi mewakili pemesanan temporal.

Kerangka data dengan 270 pengamatan pada 5 variabel berikut.

replicate sebuah faktor dengan level 1 hingga 15

recipe sebuah faktor dengan level A, B dan C

temperature faktor yang dipesan dengan level 175 <185 <195 <205 <215 <225

temp nilai numerik suhu pemanggangan (derajat F).

angle vektor numerik memberikan sudut di mana kue pecah.

Jadi, kami telah mengulangi langkah-langkah di dalam replicate, dan kami juga tertarik pada faktor recipe- faktor tetap dan temperature(kami dapat mengabaikan tempkarena ini hanya pengkodean yang berbeda temperature), dan kami dapat memvisualisasikan situasi menggunakan xtabs:

> xtabs(~recipe+replicate,data=cake)

     replicate
recipe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
     A 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6
     B 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6
     C 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6

Jika recipeitu adalah efek acak, kami akan mengatakan bahwa ini adalah efek acak berpotongan. Tidak mungkin recipe Amilik replicate 1atau replikasi lainnya.

> xtabs(~temp+replicate,data=cake)

     replicate
temp  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  175 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  185 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  195 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  205 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  215 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  225 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3

Demikian pula untuk temp.

Jadi model pertama yang mungkin cocok adalah:

> lmm1 <-  lmer(angle ~ recipe * temperature + (1|replicate), cake, REML= FALSE)

Ini akan memperlakukan masing-masing replicatesebagai satu-satunya sumber variasi acak (selain residu tentu saja). Tetapi mungkin ada perbedaan acak antara resep. Jadi kita mungkin tergoda untuk memasukkan recipesebagai efek acak (silang) lain tetapi itu akan keliru karena kita hanya memiliki 3 level recipesehingga kita tidak dapat mengharapkan model untuk memperkirakan komponen varians dengan baik. Jadi, sebagai gantinya kita dapat menggunakan replicate:recipesebagai variabel pengelompokan yang akan memungkinkan kita untuk memperlakukan setiap kombinasi replikasi dan resep sebagai faktor pengelompokan yang terpisah. Jadi sedangkan dengan model di atas kita akan memiliki 15 intersep acak untuk level replicatekita sekarang akan memiliki 45 intersep acak untuk masing-masing kombinasi yang terpisah:

lmm3 <-  lmer(angle ~ recipe * temperature + (1|replicate:recipe) , cake, REML= FALSE)

Perhatikan bahwa kami sekarang memiliki (sangat sedikit) hasil yang berbeda yang menunjukkan bahwa ada beberapa variabilitas acak karena resep, tetapi tidak banyak.

Kita juga bisa melakukan hal yang sama temperature.

Sekarang, kembali ke pertanyaan Anda, Anda juga bertanya

Mengapa (1|subject) + (1|A:subject)dan tidak (1|subject) + (0+A|subject)atau bahkan sekadar (A|subject)?

Saya tidak sepenuhnya yakin dari mana ini (menggunakan lereng acak) berasal - sepertinya tidak muncul dalam 2 pertanyaan terkait - tetapi masalah saya (1|subject) + (1|A:subject)adalah bahwa ini persis sama dengan (1|subject/A)yang berarti Abersarang di dalam subject, yang pada turn berarti (bagi saya) bahwa setiap level Aterjadi dalam 1 dan hanya 1 level subjectyang jelas tidak terjadi di sini.

Saya mungkin akan menambah dan / atau mengedit jawaban ini setelah saya memikirkannya lagi, tetapi saya ingin mendapatkan pemikiran awal saya.

Robert Long
sumber
Terima kasih banyak (+1). Saya tidak yakin saya mengerti cakedataset. Tampaknya replikasi bersarang dalam resep; alasannya xtabstidak menunjukkannya persis alasan yang Anda jelaskan dalam jawaban bersarang-vs-silang: replikasi dikodekan sebagai 1-15 dan bukan sebagai 1-45. Untuk setiap resep, 15 "replikasi" dibuat dengan 6 kue; setiap kue kemudian dipanggang pada suhu yang berbeda. Jadi resep adalah faktor di antara subjek dan suhu adalah faktor di dalam subjek. Jadi menurut jawaban Anda itu, seharusnya (1|recipe/replicate). Tidak? (1|replicate:recipe)mungkin setara.
Amuba mengatakan Reinstate Monica
Saya memfokuskan pertanyaan saya hanya pada faktor-faktor dalam subjek, jadi itu seperti membatasi cakehanya pada satu resep. Mengenai poin ketiga yang Anda katakan tidak yakin dari mana asalnya, silakan lihat tautan terakhir di Q saya, dengan contoh tiga faktor dalam-subjek. Lihat juga komentar Jake yang diputuskan di bawah Q ini, di mana ia menyebutkan lereng acak.
Amuba kata Reinstate Monica
Dan mengenai aovAnda benar bahwa tampaknya Error(subject/A)dan Error(subject)menghasilkan hasil yang sama jika tidak ada faktor lain, tetapi ambil contoh dari utas terkait dengan dua faktor, dan ada Error(subject/(A*B))dan Error(subject)tidak setara. Pemahaman saya saat ini adalah karena yang pertama termasuk lereng acak.
Amuba mengatakan Reinstate Monica
@amoeba cakedataset itu bukan contoh kerja yang baik. Permintaan maaf saya. Saya akan melihat sedikit lebih dalam ke dalamnya dan mungkin mencoba mencari yang lebih baik untuk ilustrasi.
Robert Long
Terima kasih. Menantikan pembaruan apa pun, serta pembaruan yang sedang disiapkan Placidia. Sementara itu, saya pikir saya akan mendapat hadiah di sini.
Amoeba berkata Reinstate Monica
3

Ooooops. Komentator lansiran telah melihat bahwa posting saya penuh dengan omong kosong. Saya bingung desain bersarang dan desain ukuran berulang.

Situs ini memberikan rincian yang berguna tentang perbedaan antara desain tindakan bersarang dan berulang. Menariknya, penulis menunjukkan kuadrat rata-rata yang diharapkan untuk diperbaiki di dalam tetap, acak di dalam tetap dan acak di acak - tetapi tidak tetap dalam acak. Sulit membayangkan apa artinya itu - jika faktor-faktor di tingkat A dipilih secara acak, maka keacakan sekarang mengatur pemilihan faktor-faktor tingkat B. Jika 5 sekolah dipilih secara acak dari dewan sekolah, dan kemudian 3 guru dipilih dipilih dari masing-masing sekolah (guru bersarang di sekolah), tingkat faktor "guru" sekarang merupakan pemilihan acak guru dari dewan sekolah berdasarkan pemilihan sekolah secara acak. Saya tidak dapat "memperbaiki" guru yang akan saya miliki dalam percobaan.

Placidia
sumber
2
+1, terima kasih banyak. Segala sesuatu dalam jawaban Anda masuk akal bagi saya. Namun, saya pikir kita harus setuju bahwa kata "bersarang" digunakan dalam dua pengertian yang berbeda dan ini menyebabkan kebingungan. @RobertLong mengatakan bahwa A bersarang di B ketika setiap level B terjadi bersama dengan level yang berbeda dari kelas AEg yang bersarang di dalam sekolah yang bersarang di dalam kota, dll. Dalam contoh Anda, subjek bersarang di dalam faktor perlakuan / kontrol. Anda mengatakan bahwa waktu bersarang di dalam subjek, tetapi semua tingkat waktu terjadi dengan semua subjek sehingga Robert akan mengatakan mereka terlintas! Ini berbeda "bersarang". Kanan?
Amoeba berkata Reinstate Monica
1
Dalam contoh Anda jelas bahwa waktu dan pengobatan adalah efek yang pasti, tetapi jauh dari jelas bahwa waktu bersarang dalam pasien. Tolong bisakah Anda memberikan definisi "bersarang"?
Joe King
Kesalahanku. Saya membingungkan tindakan bersarang dan berulang. Saya telah mengubah jawaban saya - lagi !.
Placidia
Sebenarnya saya menyukai jawaban asli Anda dengan koreksi / penambahan dari sebelumnya hari ini. Ada banyak informasi yang berguna untuk pertanyaan saya karena seperti yang Anda lihat saya sebenarnya tertarik pada "tindakan berulang" di sini (dan pertanyaan tentang "bersarang" hanyalah titik terminologis). Saya menyarankan agar Anda menyimpan revisi sebelumnya!
Amoeba berkata Reinstate Monica
2
Ketika saya menulisnya, saya menyadari bahwa efek acak dalam tindakan berulang bersarang, dan saya ingin menguji bagaimana matematika bekerja dan derajat kebebasan. Saya akan memperkuat jawaban saya ketika saya yakin bahwa saya sudah memaku!
Placidia