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


R SSasympOff 帶偏移量的自啟動 Nls 漸近回歸模型


R語言 SSasympOff 位於 stats 包(package)。

說明

selfStart 模型評估漸近回歸函數的替代參數化以及相對於這些參數的梯度。它具有 initial 屬性,用於創建參數 Asymlrcc0 的初始估計。

用法

SSasympOff(input, Asym, lrc, c0)

參數

input

用於評估模型的數值向量。

Asym

表示右側水平漸近線的數字參數( input 的值非常大)。

lrc

表示速率常數的自然對數的數字參數。

c0

表示響應為零的 input 的數字參數。

input 長度相同的數值向量。它是表達式 Asym*(1 - exp(-exp(lrc)*(input - c0))) 的值。如果所有參數 Asymlrcc0 都是對象的名稱,則與這些名稱相關的梯度矩陣將作為名為 gradient 的屬性附加。

例子

CO2.Qn1 <- CO2[CO2$Plant == "Qn1", ]
SSasympOff(CO2.Qn1$conc, 32, -4, 43)  # response only
local({  Asym <- 32; lrc <- -4; c0 <- 43
  SSasympOff(CO2.Qn1$conc, Asym, lrc, c0) # response and gradient
})
getInitial(uptake ~ SSasympOff(conc, Asym, lrc, c0), data = CO2.Qn1)
## Initial values are in fact the converged values
fm1 <- nls(uptake ~ SSasympOff(conc, Asym, lrc, c0), data = CO2.Qn1)
summary(fm1)

## Visualize the SSasympOff()  model  parametrization :

  xx <- seq(0.25, 8,  by=1/16)
  yy <- 5 * (1 -  exp(-(xx - 3/4)*0.4))
  stopifnot( all.equal(yy, SSasympOff(xx, Asym = 5, lrc = log(0.4), c0 = 3/4)) )
  require(graphics)
  op <- par(mar = c(0, 0, 4.0, 0))
  plot(xx, yy, type = "l", axes = FALSE, ylim = c(-.5,6), xlim = c(-1, 8),
       xlab = "", ylab = "", lwd = 2,
       main = "Parameters in the SSasympOff model")
  mtext(quote(list(phi[1] == "Asym", phi[2] == "lrc", phi[3] == "c0")))
  usr <- par("usr")
  arrows(usr[1], 0, usr[2], 0, length = 0.1, angle = 25)
  arrows(0, usr[3], 0, usr[4], length = 0.1, angle = 25)
  text(usr[2] - 0.2, 0.1, "x", adj = c(1, 0))
  text(     -0.1, usr[4], "y", adj = c(1, 1))
  abline(h = 5, lty = 3)
  arrows(-0.8, c(2.1, 2.9),
         -0.8, c(0  , 5  ), length = 0.1, angle = 25)
  text  (-0.8, 2.5, quote(phi[1]))
  segments(3/4, -.2, 3/4, 1.6, lty = 2)
  text    (3/4,    c(-.3, 1.7), quote(phi[3]))
  arrows(c(1.1, 1.4), -.15,
         c(3/4, 7/4), -.15, length = 0.07, angle = 25)
  text    (3/4 + 1/2, -.15, quote(1))
  segments(c(3/4, 7/4, 7/4), c(0, 0, 2),   # 5 * exp(log(0.4)) = 2
           c(7/4, 7/4, 3/4), c(0, 2, 0),  lty = 2, lwd = 2)
  text(      7/4 +.1, 2./2, quote(phi[1]*e^phi[2]), adj = c(0, .5))
  par(op)

作者

José Pinheiro and Douglas Bates

也可以看看

nlsselfStartexample(SSasympOff) 給出了顯示 SSasympOff 參數化的圖表。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Self-Starting Nls Asymptotic Regression Model with an Offset。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。