ฉันใช้glmer
ฟังก์ชันจากlme4
แพ็คเกจใน R และฉันใช้bobyqa
เครื่องมือเพิ่มประสิทธิภาพ (เช่นค่าเริ่มต้นในกรณีของฉัน) ฉันได้รับคำเตือนและฉันสงสัยว่ามันหมายถึงอะไร
Warning message:
In optwrap(optimizer, devfun, start, rho$lower, control = control, :
convergence code 3 from bobyqa: bobyqa -- a trust region step failed to reduce q
ฉันค้นหา "ขั้นตอนภูมิภาคที่เชื่อถือได้ล้มเหลวในการลด q" พบข้อมูลบางอย่างในแพ็คเกจ minqaซึ่งพูดว่า "Consult Powell สำหรับคำอธิบาย" ฉันทำ (คุณสามารถทำได้เช่นกันหากคุณต้องการ! ดูการอ้างอิงและลิงก์ไปยังพวกเขาด้านล่าง) แต่ฉันไม่เข้าใจ ที่จริงแล้วฉันไม่พบสิ่งใดเกี่ยวกับการลด q
MJD Powell (2007) "การพัฒนา NEWUOA สำหรับการลดขนาดที่ไม่มีเงื่อนไขโดยปราศจากอนุพันธ์", มหาวิทยาลัยเคมบริดจ์, ภาควิชาคณิตศาสตร์ประยุกต์และฟิสิกส์เชิงทฤษฎี, กลุ่มการวิเคราะห์เชิงตัวเลข, รายงาน NA2007 / 05, http://www.damtp.cam.ac.uk/ ผู้ใช้
MJD Powell (2009), "อัลกอริทึม BOBYQA สำหรับการเพิ่มประสิทธิภาพข้อ จำกัด ที่ไม่มีข้อผูกมัด", หมายเลขรายงาน DAMTP 2009 / NA06, ศูนย์คณิตศาสตร์วิทยาศาสตร์, มหาวิทยาลัยเคมบริดจ์, สหราชอาณาจักร http://www.damtp.cam.ac.uk/user/na/NA_papers/NA2009_06.pdf
ป.ล. ฉันรู้ว่าฉันสามารถเปลี่ยนเครื่องมือเพิ่มประสิทธิภาพและฉันจะดูว่าฉันจะได้รับผลลัพธ์โดยไม่มีคำเตือนหรือข้อผิดพลาด ฉันยังจะตรวจสอบการไล่ระดับสีและรัฐถ้าผมสามารถเป็นต่อความคิดเห็น / คำตอบโดยเบน Bolker ฉันใช้glmer
ภายในdredge
จากMuMIn
และฉันไม่แน่ใจว่าคำตอบของเบ็นจะทำงานได้โดยไม่ต้องทำการแก้ไขเพิ่มเติม แต่ฉันจะทำงานเมื่อคอมพิวเตอร์ของฉันเสร็จสิ้นสิ่งที่กำลังทำอยู่แล้วฉันเชือนแช
ปรับปรุง
ตามความคิดเห็นของดร. โบลเคอร์ด้านล่างฉันเริ่มดูรหัส FORTRAN ( นี่คือรหัสสำหรับทุกคนที่สนใจในการค้นหา แต่ไม่ได้ดาวน์โหลด ) "430" ปรากฏในส่วน bobyqb.f ของรหัส เพียงค้นหา "430" หรือ "ลด Q" เพื่อค้นหารหัสที่เกี่ยวข้อง
นี่เป็นครั้งแรกที่ฉันพบกับรหัส FORTRAN แต่ฉันคิดว่ารหัสแจ้งว่าหากตรงตามเงื่อนไขดังต่อไปนี้ให้สร้างคำเตือน: NTRITS
> 0, VQUAD
> = 0, IPRINT
> 0 "NTRITS จำนวนเต็มถูกตั้งค่าเป็น" trust trust " การทำซ้ำที่เกิดขึ้นตั้งแต่การทำซ้ำ "ทางเลือก" ล่าสุด VQUAD
ปรากฏขึ้นหลายครั้งและฉันยังไม่ชัดเจนเกี่ยวกับความสำคัญเนื่องจากค่าของมันดูเหมือนจะขึ้นอยู่กับตัวแปรอื่น ๆ หลายค่าซึ่งบางครั้งก็ขึ้นอยู่กับตัวแปรอื่นจาก bobyqa.f: "ค่าของ IPRINT ควรเป็น ตั้งค่าเป็น 0, 1, 2 หรือ 3 ซึ่งควบคุมปริมาณการพิมพ์โดยเฉพาะไม่มีการส่งออกถ้า IPRINT = 0 และมีการส่งออกเฉพาะที่ส่งคืนหาก IPRINT = 1 "
ดังนั้นดูเหมือนว่างานคือการหาความสำคัญของVQUAD
การเป็น> = 0 และบางทีการทำความเข้าใจว่า / เมื่อIPRINT
กลายเป็น> 0 ฉันจะต้องกลับไปที่กระดาษเพื่อดู แต่คณิตศาสตร์หรือที่ อย่างน้อยการแสดงออกเชิงสัญลักษณ์มันเป็นอุปสรรคเล็กน้อยสำหรับฉัน ถ้าไม่มีใครรู้เกี่ยวกับอัลกอริทึมหรือมีความปรารถนาที่จะเรียนรู้เกี่ยวกับมันฉันคิดว่าฉันจะต้องเพิ่มความเข้าใจของฉันเตือนโดยการกลับไปกลับมาระหว่างเอกสารรหัสและอินเทอร์เน็ตจนกว่าฉันจะเข้าใจสิ่งที่มัน วิธี
src
ไดเรกทอรีของcran.r-project.org/src/contrib/minqa_1 2.3.tar.gzและเห็นอย่างชัดเจนว่าเกิดอะไรขึ้นเมื่อข้อผิดพลาดนี้ (รหัสข้อผิดพลาด 430 ในรหัส) ได้รับการเรียกใช้ ...