R語言
SSbiexp
位於 stats
包(package)。 說明
此 selfStart
模型評估雙指數模型函數及其梯度。它具有 initial
屬性,用於創建參數 A1
、 lrc1
、 A2
和 lrc2
的初始估計。
用法
SSbiexp(input, A1, lrc1, A2, lrc2)
參數
input |
用於評估模型的數值向量。 |
A1 |
表示第一個指數的乘數的數字參數。 |
lrc1 |
表示第一個指數的速率常數的自然對數的數字參數。 |
A2 |
表示第二個指數的乘數的數字參數。 |
lrc2 |
表示第二指數的速率常數的自然對數的數字參數。 |
值
與 input
長度相同的數值向量。它是表達式 A1*exp(-exp(lrc1)*input)+A2*exp(-exp(lrc2)*input)
的值。如果所有參數 A1
、 lrc1
、 A2
和 lrc2
都是對象的名稱,則與這些名稱相關的梯度矩陣將作為名為 gradient
的屬性附加。
例子
Indo.1 <- Indometh[Indometh$Subject == 1, ]
SSbiexp( Indo.1$time, 3, 1, 0.6, -1.3 ) # response only
A1 <- 3; lrc1 <- 1; A2 <- 0.6; lrc2 <- -1.3
SSbiexp( Indo.1$time, A1, lrc1, A2, lrc2 ) # response and gradient
print(getInitial(conc ~ SSbiexp(time, A1, lrc1, A2, lrc2), data = Indo.1),
digits = 5)
## Initial values are in fact the converged values
fm1 <- nls(conc ~ SSbiexp(time, A1, lrc1, A2, lrc2), data = Indo.1)
summary(fm1)
## Show the model components visually
require(graphics)
xx <- seq(0, 5, length.out = 101)
y1 <- 3.5 * exp(-4*xx)
y2 <- 1.5 * exp(-xx)
plot(xx, y1 + y2, type = "l", lwd=2, ylim = c(-0.2,6), xlim = c(0, 5),
main = "Components of the SSbiexp model")
lines(xx, y1, lty = 2, col="tomato"); abline(v=0, h=0, col="gray40")
lines(xx, y2, lty = 3, col="blue2" )
legend("topright", c("y1+y2", "y1 = 3.5 * exp(-4*x)", "y2 = 1.5 * exp(-x)"),
lty=1:3, col=c("black","tomato","blue2"), bty="n")
axis(2, pos=0, at = c(3.5, 1.5), labels = c("A1","A2"), las=2)
## and how you could have got their sum via SSbiexp():
ySS <- SSbiexp(xx, 3.5, log(4), 1.5, log(1))
## --- ---
stopifnot(all.equal(y1+y2, ySS, tolerance = 1e-15))
## Show a no-noise example
datN <- data.frame(time = (0:600)/64)
datN$conc <- predict(fm1, newdata=datN)
plot(conc ~ time, data=datN) # perfect, no noise
## IGNORE_RDIFF_BEGIN
## Fails by default (scaleOffset=0) on most platforms {also after increasing maxiter !}
## Not run:
nls(conc ~ SSbiexp(time, A1, lrc1, A2, lrc2), data = datN, trace=TRUE)
## End(Not run)
fmX1 <- nls(conc ~ SSbiexp(time, A1, lrc1, A2, lrc2), data = datN, control = list(scaleOffset=1))
fmX <- nls(conc ~ SSbiexp(time, A1, lrc1, A2, lrc2), data = datN,
control = list(scaleOffset=1, printEval=TRUE, tol=1e-11, nDcentral=TRUE), trace=TRUE)
all.equal(coef(fm1), coef(fmX1), tolerance=0) # ... rel.diff.: 1.57e-6
all.equal(coef(fm1), coef(fmX), tolerance=0) # ... rel.diff.: 1.03e-12
## IGNORE_RDIFF_END
stopifnot(all.equal(coef(fm1), coef(fmX1), tolerance = 6e-6),
all.equal(coef(fm1), coef(fmX ), tolerance = 1e-11))
作者
José Pinheiro and Douglas Bates
也可以看看
相關用法
- R SSD 多元模型中的 SSD 矩陣和估計方差矩陣
- R SSmicmen 自啟動 NLS Michaelis-Menten 模型
- R SSasymp 自啟動 NLS 漸近回歸模型
- R SSweibull 自啟動 NLS 威布爾增長曲線模型
- R SSlogis 自啟動 NLS 邏輯模型
- R SSgompertz 自啟動 NLS Gompertz 增長模型
- R SSfol 自啟動 NLS 一階室模型
- R SSfpl 自啟動NLS四參數Logistic模型
- R SSasympOrig 通過原點的自啟動 NLS 漸近回歸模型
- R SSasympOff 帶偏移量的自啟動 Nls 漸近回歸模型
- R StructTS 擬合結構時間序列
- R Smirnov 斯米爾諾夫統計量的分布
- R SignRank Wilcoxon 有符號秩統計量的分布
- R stlmethods STL 對象的方法
- R medpolish 矩陣的中值波蘭(穩健雙向分解)
- R naprint 調整缺失值
- R summary.nls 總結非線性最小二乘模型擬合
- R summary.manova 多元方差分析的匯總方法
- R formula 模型公式
- R nls.control 控製 nls 中的迭代
- R aggregate 計算數據子集的匯總統計
- R deriv 簡單表達式的符號和算法導數
- R kruskal.test Kruskal-Wallis 秩和檢驗
- R quade.test 四方測試
- R decompose 移動平均線的經典季節性分解
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Self-Starting Nls Biexponential model。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。