首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >logistic增长曲线nls拟合上界的设置

logistic增长曲线nls拟合上界的设置
EN

Stack Overflow用户
提问于 2019-11-06 01:07:27
回答 1查看 82关注 0票数 0

我正在拟合logistic增长曲线,但nls高估了我的参数。我有一些关于蜗牛的数据,这些蜗牛的大小是渐近的(K),而且它们的生长模式也有一个逻辑的形状。一些渐近大小被估计过了,所以我想给模型设置一个上限,这样它就不会让这个参数超过蜗牛增长到的最大长度。

Logistic方程:y~K*y0*exp(木乃伊* x)/(K+y0*(exp(mumax * x)-1)

数据:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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))

不适用于约束的模型:

代码语言:javascript
复制
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)))

错误:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-06 01:29:00

有几个问题:

"algorithm"

  • your
  • xy的长度是不同的
  • 你拼错了的

圆括号是错的。

下面是正确的代码,但是您需要修复xy的长度

代码语言:javascript
复制
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), 
        algorithm="port", lower=list(y0=0, mumax=0, K=0), 
        upper=list(y0=0.5, mumax=0.4, K=3.45))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58721679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档