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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。