library(datasets)
library(nlme)
n1 <- nlme(circumference ~ phi1 / (1 + exp(-(age - phi2)/phi3)),
data = Orange,
fixed = list(phi1 ~ 1,
phi2 ~ 1,
phi3 ~ 1),
random = list(Tree = pdDiag(phi1 ~ 1)),
start = list(fixed = c(phi1 = 192.6873, phi2 = 728.7547, phi3 = 353.5323)))
Ich passe ein nichtlineares Mischeffektmodell mit nlme
R an und hier ist meine Ausgabe.
> summary(n1)
Nonlinear mixed-effects model fit by maximum likelihood
Model: circumference ~ phi1/(1 + exp(-(age - phi2)/phi3))
Data: Orange
AIC BIC logLik
273.1691 280.9459 -131.5846
Random effects:
Formula: phi1 ~ 1 | Tree
phi1 Residual
StdDev: 31.48255 7.846255
Fixed effects: list(phi1 ~ 1, phi2 ~ 1, phi3 ~ 1)
Value Std.Error DF t-value p-value
phi1 191.0499 16.15411 28 11.82671 0
phi2 722.5590 35.15195 28 20.55530 0
phi3 344.1681 27.14801 28 12.67747 0
Correlation:
phi1 phi2
phi2 0.375
phi3 0.354 0.755
Standardized Within-Group Residuals:
Min Q1 Med Q3 Max
-1.9146426 -0.5352753 0.1436291 0.7308603 1.6614518
Number of Observations: 35
Number of Groups: 5
Ich passe das gleiche Modell in SAS an und erhalte die folgenden Ergebnisse.
Kann mir jemand helfen zu verstehen, warum ich etwas andere Schätzungen bekomme? Ich weiß, dass das nlme
die Implementierung von Lindstrom & Bates (1990) verwendet. Laut SAS-Dokumentation basiert die integrale Approximation von SAS auf Pinhiero & Bates (1995). Ich habe versucht, die Optimierungsmethode auf Nelder-Mead zu ändern nlme
, aber die Ergebnisse sind immer noch unterschiedlich.
Ich hatte andere Fälle, in denen der Standardfehler und die Parameterschätzung in R vs. SAS sehr unterschiedlich sind (ich habe kein reproduzierbares Beispiel dafür, aber jede Einsicht wäre willkommen). Ich vermute, das hat damit zu tun, wie nlme
und wie nlmixed
die Standardfehler bei zufälligen Effekten geschätzt werden?
Orange
Datensatz enthält 35 Beobachtungen.