无法使用varPower或其他varClasses更新我的nlme模型

时间:2012-08-17 17:12:18

标签: r

我使用nlme拟合模型,我认为残差看起来不够好,所以我正在尝试进行转换

fit.nlme6 <- update(fit.nlme5, weights = varPower())

我得到Error: Singularity in backsolve at level 0, block 1。我尝试了其他我认为没有多大意义的课程,并尝试了各种forms = ~fixed。所有人都有相同的错误信息,有时会收到奖励警告信息。

这是残差。我认为varPower应该完美,所以为什么不呢?

残差:

更多信息,fit.nlme5是适合β增长函数的模型,其具有三个参数w.max(最大生物量),t.e(时刻增长结束)和{{1 (最大增长的时刻)。该模型看起来像这样

t.m

在两个地点(地面)有三种治疗方法(trt)。残差修复后,我会进行一些对比,比较不同位置的治疗方法。

以下是数据https://dl.dropbox.com/u/21080842/cobsgddv8.txt

代码需要进入最终模型:

fit.nlme5 <- update(fit.nlme4, fixed = list(t.e ~ trt + ground + trt:ground, w.max + t.m ~ 1),
                start = c(cfsTD[1:4], rep(0,2) ,cfsTD[5:6]))

1 个答案:

答案 0 :(得分:0)

正如克里斯所说,这还不够。由于这么多点接近于零,你应该给出

varConstPower(power=0.5,fixed=list(const=10)) 

尝试,并使用偏移量。