Non-linear Time Series Models (Temporal Pseudoreplication)
The previous example was a designed experiment in which there was no pseudoreplication. However, we often want to fit non-linear models to growth curves where there is temporal pseudoreplication across a set of subjects, each providing repeated measures on the response variable. In such a case we shall want to model the temporal autocorrelation.
nl.ts<-read.table("c:\\temp\\nonlinear.txt",header=T) attach(nl.ts) names(nl.ts) [1] "time" "dish" "isolate" "diam" growth<-groupedData(diam~time|dish,data=nl.ts)
Here, we model the temporal autocorrelation as first-order autoregessive, corAR1():
model<-nlme(diam~a+b*time/(1+c*time), fixed=a+b+c~1, random=a+b+c~1, data=growth, correlation=corAR1(), start=c(a=0.5,b=5,c=0.5)) summary(model) Nonlinear mixed-effects model fit by maximum likelihood Model: diam ~ a + b * time/(1 + c * time) Data: growth AIC BIC logLik 129.7694 158.3157 -53.88469 Random effects: Formula: list(a ~ 1, b ~ 1, c ~ 1) Level: dish Structure: General positive-definite, Log-Cholesky parametrization
StdDev Corr a 0.1014474 a b b 1.2060379 -0.557 c 0.1095790 -0.958 0.772 Residual 0.3150068 Correlation Structure: AR(1) Formula: ~1 | dish Parameter estimate(s): Phi -0.03344944 Fixed effects: a + b + c ~ 1 Value Std.Error DF t-value p-value a 1.288262 0.1086390 88 11.85819 0 b 5.215251 0.4741954 88 10.99810 0 c 0.498222 0.0450644 88 11.05578 0 Correlation: a b b -0.506 c -0.542 0.823 Standardized Within-Group Residuals: ...
Get The R Book now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.