Saya ingin menyesuaikan model campuran menggunakan lme4, nlme, paket regresi baysian atau yang tersedia.
Model campuran dalam konvensi pengkodean Asreml-R
sebelum membahas secara spesifik, kami mungkin ingin memiliki detail tentang konvensi asreml-R, bagi mereka yang tidak terbiasa dengan kode ASREML.
y = Xτ + Zu + e ........................(1) ;
model campuran biasa dengan, y menunjukkan vektor pengamatan n × 1, di mana τ adalah vektor p × 1 dari efek tetap, X adalah matriks desain n × p dari peringkat kolom penuh yang menghubungkan pengamatan dengan kombinasi yang tepat dari efek tetap , u adalah vektor q × 1 dari efek acak, Z adalah matriks desain n × q yang mengaitkan pengamatan dengan kombinasi yang tepat dari efek acak, dan e adalah vektor n × 1 dari kesalahan residu. Model (1) disebut model campuran linier atau model efek campuran linier. Diasumsikan
di mana matriks G dan R adalah fungsi dari parameter γ dan φ, masing-masing.
Parameter θ adalah parameter varians yang akan kita sebut sebagai parameter skala.
Dalam model efek campuran dengan lebih dari satu varians residual, timbul misalnya dalam analisis data dengan lebih dari satu bagian atau variate, parameter θ diikat menjadi satu. Dalam model efek campuran dengan varians residual tunggal maka θ sama dengan varians residual (σ2). Dalam hal ini R harus berupa matriks korelasi. Rincian lebih lanjut tentang model disediakan dalam manual Asreml (tautan) .
Struktur varians untuk kesalahan: Struktur R dan struktur Varians untuk efek acak: struktur G dapat ditentukan.
pemodelan varians dalam asreml () penting untuk memahami pembentukan struktur varians melalui produk langsung. Asumsi kuadrat terkecil yang biasa (dan default di asreml ()) adalah bahwa ini terdistribusi secara independen dan identik (IID). Namun, jika data berasal dari percobaan lapangan yang ditata dalam array persegi dari baris dengan c kolom, katakanlah, kita dapat mengatur residu sebagai matriks dan berpotensi mempertimbangkan bahwa mereka secara otomatis berkorelasi dalam baris dan kolom. Menulis residu sebagai vektor dalam urutan lapangan, yaitu, dengan mengurutkan baris residual dalam kolom (plot dalam blok) varians dari residual kemudian
adalah matriks korelasi untuk model baris (urutan r, parameter autokorelasi ½r) dan model kolom (urutan c, parameter autokorelasi ½c). Lebih khusus, struktur spasial autoregresif dua dimensi yang dapat dipisah (AR1 x AR1) kadang-kadang diasumsikan untuk kesalahan umum dalam analisis uji coba lapangan.
Contoh data:
nin89 berasal dari perpustakaan asreml-R, di mana berbagai varietas ditanam dalam replikasi / blok di bidang persegi panjang. Untuk mengontrol variabilitas tambahan dalam arah baris atau kolom, setiap plot direferensikan sebagai variabel Baris dan Kolom (desain kolom baris). Dengan demikian desain kolom baris ini dengan pemblokiran. Yield adalah variabel yang diukur.
Contoh model
Saya membutuhkan sesuatu yang setara dengan kode asreml-R:
Sintaks model sederhana akan terlihat seperti berikut:
rcb.asr <- asreml(yield ∼ Variety, random = ∼ Replicate, data = nin89)
.....model 0
Model linier ditentukan dalam argumen tetap (wajib), acak (opsional) dan rcov (komponen kesalahan) sebagai objek rumus. Default adalah istilah kesalahan sederhana dan tidak perlu ditentukan secara formal untuk istilah kesalahan seperti dalam model 0 .
di sini variasi adalah efek tetap dan acak adalah ulangan (blok). Selain istilah acak dan tetap, kami dapat menentukan istilah kesalahan. Yang merupakan default dalam model ini 0. Komponen residual atau kesalahan model ditentukan dalam objek rumus melalui argumen rcov, lihat model berikut 1: 4.
Model1 berikut ini lebih kompleks di mana struktur G (acak) dan R (kesalahan) ditentukan.
Model 1:
data(nin89)
# Model 1: RCB analysis with G and R structure
rcb.asr <- asreml(yield ~ Variety, random = ~ idv(Replicate),
rcov = ~ idv(units), data = nin89)
Model ini setara dengan model 0 di atas, dan memperkenalkan penggunaan model varians G dan R. Di sini opsi acak dan rcov menentukan rumus acak dan rcov untuk secara eksplisit menentukan struktur G dan R. di mana idv () adalah fungsi model khusus di asreml () yang mengidentifikasi model varians. Ekspresi idv (units) secara eksplisit menetapkan matriks varians untuk e ke identitas yang diskalakan.
# Model 2: model spasial dua dimensi dengan korelasi satu arah
sp.asr <- asreml(yield ~ Variety, rcov = ~ Column:ar1(Row), data = nin89)
unit eksperimental dari nin89 diindeks oleh Kolom dan Baris. Jadi kami mengharapkan variasi acak dalam dua arah - baris dan arah kolom dalam kasus ini. di mana ar1 () adalah fungsi khusus yang menentukan model varians autoregresif orde pertama untuk Row. Panggilan ini menentukan struktur spasial dua dimensi untuk kesalahan tetapi dengan korelasi spasial dalam arah baris saja. Model varians untuk Kolom adalah identitas (id ()) tetapi tidak perlu ditentukan secara formal karena ini adalah default.
# model 3: model spasial dua dimensi, struktur kesalahan di kedua arah
sp.asr <- asreml(yield ~ Variety, rcov = ~ ar1(Column):ar1(Row),
data = nin89)
sp.asr <- asreml(yield ~ Variety, random = ~ units,
rcov = ~ ar1(Column):ar1(Row), data = nin89)
mirip dengan model 2 di atas, namun korelasinya dua arah - autoregresif.
Saya tidak yakin berapa banyak model ini mungkin dengan paket R open source. Sekalipun solusi salah satu dari model ini akan sangat membantu. Bahkan jika pertarungan +50 dapat merangsang untuk mengembangkan paket seperti itu akan sangat membantu!
Lihat MAYSaseen telah memberikan output dari setiap model dan data (sebagai jawaban) untuk perbandingan.
Suntingan: Berikut ini adalah saran yang saya terima di forum diskusi model campuran: "Anda mungkin melihat paket regresi dan tata ruang David Clifford. Yang pertama memungkinkan pemasangan model campuran (Gaussian) di mana Anda dapat menentukan struktur matriks kovarians dengan sangat fleksibel (misalnya, saya telah menggunakannya untuk data silsilah). Paket spatialCovariance menggunakan regresi untuk memberikan model yang lebih rumit daripada AR1xAR1, tetapi mungkin berlaku. Anda mungkin harus berkorespondensi dengan penulis tentang penerapannya pada masalah Anda yang sebenarnya. "
lme4
. Bisakah Anda (a) memberi tahu kami mengapa Anda perlu melakukan inilme4
daripadaasreml-R
(b) mempertimbangkan memposting dir-sig-mixed-models
mana ada keahlian yang lebih relevan?corStruct
dalamnlme
(untuk korelasi anisotropik) ... Ini akan membantu jika Anda dapat secara singkat menyatakan (dalam kata-kata atau persamaan) model statistik yang sesuai dengan pernyataan ASREML ini, karena kita tidak semua akrab dengan Sintaks ASREML ...MCMCglmm
, dan saya cukup yakin bahwa (selain yangspatialCovariance
disebutkan, yang saya tidak terbiasa dengan) satu-satunya cara untuk menyelesaikannya dalam R adalah dengan mendefinisikan barucorStruct
s - yang mungkin, tapi tidak sepele.Jawaban:
Anda dapat menyesuaikan model ini dengan AD Model Builder. AD Model Builder adalah perangkat lunak gratis untuk membangun model nonlinier umum termasuk model efek acak nonlinier umum. Jadi misalnya Anda bisa cocok dengan model spasial binomial negatif di mana rata-rata dan lebih dispersi memiliki struktur ar (1) x ar (1). Saya membuat kode untuk contoh ini dan menyesuaikannya dengan data. Jika ada yang tertarik, mungkin lebih baik untuk membahas ini pada daftar di http://admb-project.org
Catatan: Ada versi R dari ADMB, tetapi fitur yang tersedia dalam paket R adalah bagian dari perangkat lunak ADMB yang berdiri sendiri.
Untuk contoh ini, lebih mudah untuk membuat file ASCII dengan data, membacanya ke dalam program ADMB, menjalankan program, dan kemudian membaca estimasi parameter dll kembali ke R untuk apa pun yang ingin Anda lakukan.
Anda harus memahami bahwa ADMB bukan kumpulan paket, melainkan bahasa untuk menulis perangkat lunak estimasi parameter nonlinier. Seperti yang saya katakan sebelumnya, lebih baik untuk membahas ini pada daftar ADMB di mana semua orang tahu tentang perangkat lunak. Setelah selesai dan Anda memahami modelnya, Anda dapat memposting hasilnya di sini. Namun di sini ada tautan ke kode ML dan REML yang saya kumpulkan untuk data gandum.
http://lists.admb-project.org/pipermail/users/attachments/20111124/448923c8/attachment.zip
sumber
Model 0
ASReml-R
lme4
Tidak
sumber
Model 1
ASReml-R
Tidak
Lihat triknya
sumber
Model 2
ASReml-R
Tidak
Sedang mengerjakannya, namun belum menemukan jawabannya. Bisa jadi sesuatu seperti ini. Masih tidak tahu bagaimana hubungannya
rcov=~Column:ar1(Row)
dengannlme
sumber
Model 3
ASReml-R
Tidak
Sedang mengerjakannya, namun belum menemukan jawabannya. Bisa jadi sesuatu seperti ini. Masih tidak tahu bagaimana hubungannya
rcov=~ar1(Column):ar1(Row)
dengannlme
Saya tidak tahu cara menyesuaikan Model 2 dan 3
nlme
. Saya sedang mengerjakannya dan akan memperbarui jawabannya ketika selesai. Tapi saya sudah memasukkan output dariASReml-R
untuk Model 2 dan 3 untuk tujuan perbandingan. Kevin memiliki pengalaman yang baik dalam menganalisis model seperti itu dan Ben Bolker memiliki otoritas yang luar biasa pada Model Campuran. Saya berharap mereka dapat membantu kami di Model 2 dan 3.sumber