當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。