น่าแปลกที่ฉันไม่พบคำตอบของคำถามต่อไปนี้โดยใช้ Google:
ฉันมีข้อมูลทางชีววิทยาจากบุคคลหลายคนที่แสดงพฤติกรรมการเจริญเติบโต sigmoid คร่าวๆในเวลา ดังนั้นฉันต้องการจำลองโดยใช้การเติบโตโลจิสติกมาตรฐาน
P(t) = k*p0*exp(r*t) / (k+p0*(exp(r*t)-1))
ด้วย p0 เป็นค่าเริ่มต้นที่ t = 0, k เป็นขีด จำกัด เชิงเส้นกำกับที่ t-> infinity และ r เป็นความเร็วในการเติบโต เท่าที่ฉันเห็นฉันสามารถจำลองสิ่งนี้ได้อย่างง่ายดายโดยใช้ nls (ขาดความเข้าใจในส่วนของฉัน: ทำไมฉันถึงไม่สร้างแบบจำลองบางอย่างที่คล้ายกันโดยใช้ logit regression แบบมาตรฐานโดยการปรับขนาดเวลาและข้อมูล EDIT: ขอบคุณ Nick สัดส่วน แต่ไม่ค่อยhttp://www.stata-journal.com/article.html?article=st0147 . คำถามต่อไปเกี่ยวกับแทนเจนต์นี้คือถ้าแบบจำลองสามารถจัดการค่าผิดปกติ> 1)
ตอนนี้ฉันต้องการอนุญาตให้แก้ไขบางอย่าง (ส่วนใหญ่เป็นหมวดหมู่) และสุ่มบางอย่าง (ID แต่ละตัวและอาจเป็น ID การศึกษา) ในพารามิเตอร์สามตัวคือ k, p0 และ r nlme เป็นวิธีที่ดีที่สุดในการทำเช่นนี้หรือไม่? รูปแบบ SSlogis ดูเหมือนสมเหตุสมผลสำหรับสิ่งที่ฉันพยายามทำถูกต้องหรือไม่ เป็นหนึ่งในโมเดลที่เหมาะสมที่จะเริ่มต้นด้วยหรือไม่ ฉันไม่สามารถรับค่าเริ่มต้นที่ถูกต้องและอัปเดต () ดูเหมือนว่าจะใช้งานกับเอฟเฟกต์แบบสุ่มเท่านั้นไม่ใช่แบบคงที่ - มีคำแนะนำใด ๆ
nlme(y ~ k*p0*exp(r*t) / (k+p0*(exp(r*t)-1)), ## not working at all (bad numerical properties?)
data = data,
fixed = k + p0 + r ~ var1 + var2,
random = k + p0 + r ~ 1|UID,
start = c(p0=1, k=100, r=1))
nlme(y ~ SSlogis(t, Asym, xmid, scal), ## not working, as start= is inappropriate
data = data,
fixed = Asym + xmid + scal ~ var1 + var2, ## works fine with ~ 1
random = Asym + xmid + scal ~ 1|UID,
start = getInitial(y ~ SSlogis(Dauer, Asym, xmid, scal), data = data))
เนื่องจากฉันเป็นรุ่นใหม่ถึงรุ่นที่ไม่ใช่เชิงเส้นโดยเฉพาะรุ่นที่ไม่ใช่เชิงเส้นและโดยทั่วไปฉันขอขอบคุณคำแนะนำในการอ่านหรือลิงก์ไปยังบทแนะนำ / คำถามที่พบบ่อยเกี่ยวกับคำถามใหม่