ฉันต้องการที่จะพอดีกับรุ่นผสมโดยใช้ lme4, nlme, แพ็คเกจการถดถอยเบย์หรือที่มีอยู่
แบบผสมในแบบแผนการเข้ารหัส Asreml- R
ก่อนที่จะลงรายละเอียดเฉพาะเราอาจต้องการรายละเอียดเกี่ยวกับการประชุม asreml-R สำหรับผู้ที่ไม่คุ้นเคยกับรหัส ASREML
y = Xτ + Zu + e ........................(1) ;
แบบผสมกับปกติ, y หมายถึง n × 1 เวกเตอร์ของการสังเกต, ที่τคือ p × 1 เวกเตอร์ของ fi xed e ff ects, X คือเมทริกซ์การออกแบบ n × p ของคอลัมน์เต็มอันดับที่เชื่อมโยงการสังเกตด้วยการรวมกันที่เหมาะสมของ fi xed e ff ects , u คือ q × 1 เวกเตอร์ของการสุ่ม e ff ects, Z คือเมทริกซ์การออกแบบ n × q ซึ่งการสังเกตการณ์ที่เกี่ยวข้องกับการรวมกันที่เหมาะสมของการสุ่ม e ff ects และ e คือเวกเตอร์ของข้อผิดพลาดที่เหลือ n × 1 โมเดล (1) เรียกว่า โมเดลผสมเชิงเส้นหรือโมเดลผสมเชิงเส้น มันสันนิษฐานว่า
โดยที่เมทริกซ์ G และ R เป็นฟังก์ชันของพารามิเตอร์γและφตามลำดับ
พารามิเตอร์θเป็นพารามิเตอร์ความแปรปรวนซึ่งเราจะอ้างถึงเป็นพารามิเตอร์สเกล
ในโมเดลผสมที่มีความแปรปรวนตกค้างมากกว่าหนึ่งเกิดขึ้นเช่นในการวิเคราะห์ข้อมูลที่มีมากกว่าหนึ่งส่วนหรือแปรผันพารามิเตอร์θคือ fi xed เป็นหนึ่ง ในแบบจำลอง e ff ects ที่มีความแปรปรวนตกค้างเดียวดังนั้นθเท่ากับความแปรปรวนที่เหลือ (σ2) ในกรณีนี้ R จะต้องเป็นเมทริกซ์สหสัมพันธ์ รายละเอียดเพิ่มเติมเกี่ยวกับรูปแบบการมีไว้ในคู่มือ Asreml (ลิงค์)
โครงสร้างความแปรปรวนสำหรับข้อผิดพลาด: โครงสร้าง R และโครงสร้างความแปรปรวนสำหรับรหัสสุ่ม: โครงสร้าง G สามารถระบุได้
การสร้างแบบจำลองผลต่างใน asreml () เป็นสิ่งสำคัญที่จะต้องเข้าใจการก่อตัวของโครงสร้างความแปรปรวนผ่านผลิตภัณฑ์โดยตรง สมมติฐานกำลังสองน้อยสุดตามปกติ (และค่าเริ่มต้นใน asreml ()) คือสิ่งเหล่านี้มีการกระจายอย่างอิสระและเหมือนกัน (IID) อย่างไรก็ตามถ้าข้อมูลมาจากการทดลองภาคสนามในแถว r ของแถว r เรียงตามคอลัมน์ c เราสามารถจัดเรียง e ให้เป็นเมทริกซ์และอาจพิจารณาว่าพวกมันมีความสัมพันธ์กันแบบอัตโนมัติภายในแถวและคอลัมน์ เวกเตอร์ตามลำดับฟิลด์นั่นคือโดยการจัดเรียงแถวที่เหลือภายในคอลัมน์ (แปลงภายในบล็อก) ความแปรปรวนของส่วนที่เหลืออาจจะเป็น
คือเมทริกซ์สหสัมพันธ์สำหรับโมเดลแถว (order r, พารามิเตอร์ autocorrelation ½r) และโมเดลคอลัมน์ (order c, พารามิเตอร์ autocorrelation ½c) ตามลำดับ โดยเฉพาะอย่างยิ่งโครงสร้างเชิงพื้นที่สองมิติแบบแบ่งได้อัตโนมัติ (AR1 x AR1) สามารถสันนิษฐานได้ว่าเป็นข้อผิดพลาดทั่วไปในการวิเคราะห์การทดลองภาคสนาม
ข้อมูลตัวอย่าง:
nin89 มาจากไลบรารี asreml-R ซึ่งมีความหลากหลายแตกต่างกันในการจำลองแบบ / บล็อกในฟิลด์สี่เหลี่ยม เพื่อควบคุมความแปรปรวนเพิ่มเติมในทิศทางแถวหรือคอลัมน์แต่ละพล็อตจะถูกอ้างอิงเป็นตัวแปรแถวและคอลัมน์ (การออกแบบคอลัมน์แถว) ดังนั้นการออกแบบคอลัมน์แถวนี้ที่มีการบล็อก อัตราผลตอบแทนเป็นตัวแปรวัด
ตัวอย่างแบบจำลอง
ฉันต้องการบางสิ่งที่เทียบเท่ากับรหัส asreml-R:
ไวยากรณ์ของโมเดลอย่างง่ายจะมีลักษณะดังนี้:
rcb.asr <- asreml(yield ∼ Variety, random = ∼ Replicate, data = nin89)
.....model 0
โมเดลเชิงเส้นถูกระบุไว้ในอาร์กิวเมนต์ (จำเป็น) คงที่, สุ่ม (เป็นตัวเลือก) และ rcov (องค์ประกอบข้อผิดพลาด) เป็นวัตถุสูตรค่าเริ่มต้นคือคำผิดพลาดง่าย ๆ และไม่จำเป็นต้องระบุอย่างเป็นทางการสำหรับคำผิดเช่นเดียวกับในรุ่น 0 .
ที่นี่ความหลากหลายได้รับผลกระทบคงที่และสุ่มเป็นแบบจำลอง (บล็อก) นอกจากเงื่อนไขแบบสุ่มและแบบคงที่เราสามารถระบุคำผิดพลาดได้ ซึ่งเป็นค่าเริ่มต้นในรุ่นนี้ 0 ส่วนที่เหลือหรือข้อผิดพลาดของรูปแบบที่ระบุไว้ในวัตถุสูตรผ่านอาร์กิวเมนต์ rcov ดูรุ่นต่อไปนี้ 1: 4
โมเดล 1 ต่อไปนี้มีความซับซ้อนมากขึ้นซึ่งระบุทั้งโครงสร้าง G (สุ่ม) และ R (ข้อผิดพลาด)
รุ่น 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)
โมเดลนี้เทียบเท่ากับโมเดลข้างต้น 0 และแนะนำการใช้โมเดลความแปรปรวน G และ R ที่นี่ตัวเลือกแบบสุ่มและ rcov ระบุสูตรแบบสุ่มและแบบ rcov เพื่อระบุโครงสร้าง G และ R อย่างชัดเจน โดยที่ idv () เป็นฟังก์ชันรุ่นพิเศษใน asreml () ที่ระบุรูปแบบความแปรปรวน expression idv (units) ตั้งค่าเมทริกซ์ความแปรปรวนสำหรับ e เป็น identity ที่ถูกกำหนดขนาดอย่างชัดเจน
# Model 2: โมเดลเชิงพื้นที่สองมิติที่มีความสัมพันธ์ในทิศทางเดียว
sp.asr <- asreml(yield ~ Variety, rcov = ~ Column:ar1(Row), data = nin89)
หน่วยการทดลองของ nin89 ถูกจัดทำดัชนีโดยคอลัมน์และแถว ดังนั้นเราคาดว่าการเปลี่ยนแปลงแบบสุ่มในสองทิศทาง - แถวและทิศทางคอลัมน์ในกรณีนี้ โดยที่ ar1 () เป็นฟังก์ชั่นพิเศษที่ระบุรูปแบบการแปรปรวนอัตโนมัติแบบลำดับที่หนึ่งสำหรับแถว การเรียกนี้ระบุโครงสร้างเชิงพื้นที่สองมิติสำหรับข้อผิดพลาด แต่มีความสัมพันธ์เชิงพื้นที่ในทิศทางแถวเท่านั้นรูปแบบความแปรปรวนสำหรับคอลัมน์คือเอกลักษณ์ (id ()) แต่ไม่จำเป็นต้องระบุอย่างเป็นทางการเนื่องจากเป็นค่าเริ่มต้น
# model 3: โมเดลเชิงพื้นที่สองมิติโครงสร้างข้อผิดพลาดในทั้งสองทิศทาง
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)
คล้ายกับโมเดลด้านบน 2 แต่ความสัมพันธ์เป็นสองทิศทาง
ฉันไม่แน่ใจว่าโมเดลเหล่านี้มีความเป็นไปได้มากเพียงใดด้วยแพ็คเกจโอเพ่นซอร์ส R แม้ว่าทางออกของรุ่นใดรุ่นหนึ่งเหล่านี้จะเป็นประโยชน์อย่างมาก แม้ว่าบูติกของ +50 สามารถกระตุ้นการพัฒนาแพคเกจดังกล่าวจะเป็นประโยชน์อย่างมาก!
ดู MAYSaseen ได้ให้เอาท์พุทจากแต่ละรุ่นและข้อมูล (เป็นคำตอบ) สำหรับการเปรียบเทียบ
การแก้ไข: ต่อไปนี้เป็นข้อเสนอแนะที่ฉันได้รับในฟอรั่มการอภิปรายแบบผสม: "คุณอาจดูแพ็คเกจ regress และ spatialCovariance ของ David Clifford. เดิมอนุญาตให้ใช้แบบจำลองผสม (Gaussian) ซึ่งคุณสามารถระบุโครงสร้างของเมทริกซ์ความแปรปรวนร่วมได้อย่างยืดหยุ่นมาก (ตัวอย่างเช่นฉันใช้สำหรับข้อมูลสายเลือด) แพคเกจ spatialCovariance ใช้การถดถอยเพื่อจัดทำแบบจำลองที่ซับซ้อนกว่า AR1xAR1 แต่อาจใช้ได้คุณอาจต้องติดต่อกับผู้เขียนเกี่ยวกับการใช้กับปัญหาที่แน่นอนของคุณ "
corStruct
ในnlme
(สำหรับความสัมพันธ์ anisotropic) ... มันจะช่วยถ้าคุณสามารถระบุสั้น ๆ (ในคำหรือสมการ) แบบจำลองทางสถิติที่สอดคล้องกับงบ ASREML เหล่านี้เนื่องจากเราไม่คุ้นเคย ASREML syntax ...
MCMCglmm
และฉันค่อนข้างแน่ใจว่า (นอกเหนือจาก ที่spatialCovariance
กล่าวถึงซึ่งฉันไม่คุ้นเคยกับ) วิธีเดียวที่จะทำให้สำเร็จใน R คือการกำหนดcorStruct
s ใหม่- ซึ่งเป็นไปได้ แต่ไม่น่ารำคาญ
lme4
ไม่ได้เป็นไปได้ใน คุณ (ก) บอกเราได้ไหมว่าเหตุใดคุณต้องทำสิ่งนี้lme4
แทนที่จะเป็นasreml-R
(ข) ลองโพสต์r-sig-mixed-models
ว่ามีความเชี่ยวชาญที่เกี่ยวข้องมากกว่านี้หรือไม่