Anehnya, saya tidak dapat menemukan jawaban untuk pertanyaan berikut menggunakan Google:
Saya memiliki beberapa data biologis dari beberapa individu yang menunjukkan perilaku pertumbuhan sigmoid secara kasar pada waktunya. Jadi, saya ingin memodelkannya menggunakan pertumbuhan logistik standar
P(t) = k*p0*exp(r*t) / (k+p0*(exp(r*t)-1))
dengan p0 menjadi nilai awal pada t = 0, k menjadi batas asimptotik pada t-> infinity dan r menjadi kecepatan pertumbuhan. Sejauh yang saya bisa lihat, saya dapat dengan mudah memodelkan ini menggunakan nls (kurangnya pemahaman pada bagian saya: mengapa saya tidak bisa memodelkan sesuatu yang serupa menggunakan regresi logit standar dengan penskalaan waktu dan data? EDIT: Terima kasih Nick, tampaknya orang melakukannya misalnya untuk proporsi, tetapi jarang http://www.stata-journal.com/article.html?article=st0147 Pertanyaan berikutnya tentang garis singgung ini adalah apakah model tersebut dapat menangani outlier> 1).
Sekarang saya ingin mengizinkan beberapa efek tetap (terutama kategorikal) dan beberapa acak (ID individual dan mungkin juga ID studi) pada tiga parameter k, p0 dan r. Apakah saya cara terbaik untuk melakukan ini? Model SSlogis tampaknya masuk akal untuk apa yang saya coba lakukan, apakah itu benar? Apakah salah satu dari model berikut masuk akal untuk memulai? Saya sepertinya tidak bisa mendapatkan nilai awal yang benar dan memperbarui () hanya berfungsi untuk efek acak, bukan yang tetap - ada petunjuk?
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))
Karena saya baru mengenal model campuran non-linear pada khususnya dan model non-linear pada umumnya, saya akan sangat menghargai beberapa rekomendasi membaca atau tautan ke tutorial / FAQ dengan pertanyaan pemula.
sumber
Jawaban:
Saya ingin membagikan beberapa hal yang saya pelajari sejak mengajukan pertanyaan ini. nlme tampaknya merupakan cara yang wajar untuk memodelkan efek campuran non-linear dalam R. Mulai dengan model basis sederhana:
Kemudian gunakan pembaruan untuk meningkatkan kompleksitas model. Parameter awal agak sulit untuk dikerjakan, mungkin perlu sedikit waktu untuk mencari tahu urutannya. Perhatikan bagaimana efek tetap baru untuk var1 pada Asym mengikuti efek tetap reguler untuk Asym.
lme4 tampak lebih kuat terhadap outlier dalam dataset saya dan tampaknya menawarkan konvergensi yang lebih andal untuk model yang lebih kompleks. Namun, tampaknya downside adalah bahwa fungsi kemungkinan yang relevan perlu ditentukan secara manual. Berikut ini adalah model pertumbuhan logistik dengan efek tetap dari var1 (biner) pada Asym. Anda dapat menambahkan efek tetap pada xmid dan scal dengan cara yang serupa. Perhatikan cara aneh menentukan model menggunakan rumus ganda sebagai hasil ~ efek tetap ~ efek acak.
sumber