当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R SSweibull 自启动 NLS 威布尔增长曲线模型


R语言 SSweibull 位于 stats 包(package)。

说明

selfStart 模型评估威布尔模型的增长曲行数据及其梯度。它具有 initial 属性,用于评估给定数据集的参数 AsymDroplrcpwr 的初始估计。

用法

SSweibull(x, Asym, Drop, lrc, pwr)

参数

x

用于评估模型的数值向量。

Asym

表示右侧水平渐近线的数字参数(x 的值非常小)。

Drop

表示从 Asymy 截距的更改的数字参数。

lrc

表示速率常数的自然对数的数字参数。

pwr

一个数字参数,表示 x 的幂次。

细节

该模型是 SSasymp 模型的泛化,当 pwr 统一时,它会简化为 SSasymp

x 长度相同的数值向量。它是表达式 Asym-Drop*exp(-exp(lrc)*x^pwr) 的值。如果所有参数 AsymDroplrcpwr 都是对象的名称,则与这些名称相关的梯度矩阵将作为名为 gradient 的属性附加。

例子

Chick.6 <- subset(ChickWeight, (Chick == 6) & (Time > 0))
SSweibull(Chick.6$Time, 160, 115, -5.5, 2.5)   # response only
local({ Asym <- 160; Drop <- 115; lrc <- -5.5; pwr <- 2.5
  SSweibull(Chick.6$Time, Asym, Drop, lrc, pwr) # response _and_ gradient
})
## IGNORE_RDIFF_BEGIN
getInitial(weight ~ SSweibull(Time, Asym, Drop, lrc, pwr), data = Chick.6)
## IGNORE_RDIFF_END
## Initial values are in fact the converged values
fm1 <- nls(weight ~ SSweibull(Time, Asym, Drop, lrc, pwr), data = Chick.6)
summary(fm1)
## Data and Fit:
plot(weight ~ Time, Chick.6, xlim = c(0, 21), main = "SSweibull() fit to Chick.6")
ux <- par("usr")[1:2]; x <- seq(ux[1], ux[2], length.out=250)
lines(x, do.call(SSweibull, c(list(x=x), coef(fm1))), col = "red", lwd=2)
As <- coef(fm1)[["Asym"]]; abline(v = 0, h = c(As, As - coef(fm1)[["Drop"]]), lty = 3)

作者

Douglas Bates

参考

Ratkowsky, David A. (1983), Nonlinear Regression Modeling, Dekker. (section 4.4.5)

也可以看看

nls , selfStart , SSasymp

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Self-Starting Nls Weibull Growth Curve Model。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。