设置nls的上限适合逻辑增长曲线

问题描述 投票:0回答:1

我正在拟合逻辑增长曲线,但是nls高估了我的参数。我有蜗牛的数据,这些蜗牛长到了一些渐近大小(K),并且它们的生长方式呈对数形状。一些渐近大小超出了估计值,因此我想为模型设置一个上限,以免该参数超过蜗牛长到的最大长度。

逻辑对数:y〜K * y0 * exp(mumax * x)/(K + y0 *(exp(mumax * x)-1)] >>

数据:

x<-c(4,6,8,10,12,14,16,18,20,22)
y<-c(0.7, 0.9, 1.3, 1.9, 2.3, 2.8, 3.35, 3.4, 3.4)

模型有效,但估计K为3.9:

y0_start<-0.4
mumax_start<-0.2
K_start<-3.3

m<-nls(y~K*y0*exp(mumax*x)/(K+y0*(exp(mumax*x)-1)),
   start=list(y0=y0_start,mumax=mumax_start, K=K_start))

不适用于约束的模型:

m<-nls(y~K*y0*exp(mumax*x)/(K+y0*(exp(mumax*x)-1)),
        start=list(y0=y0_start,mumax=mumax_start, K=K_start, 
        algorithim="port", lower=list(y0=0, mumax=0, K=0), 
        upper=list(y0=0.4,mumax=0.4, K=3.45)))

错误:

Error in qr.default(.swts * gr) : 
  NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In storage.mode(temp) <- "double" : NAs introduced by coercion

我正在拟合逻辑增长曲线,但是nls高估了我的参数。我有蜗牛的数据,这些蜗牛长到了一些渐近大小(K),并且它们的生长方式呈对数形状。一些...

r curve nls
1个回答
1
投票

有几个问题:

© www.soinside.com 2019 - 2024. All rights reserved.