编码非线性回归、指数衰减
还是 R 的新手。
背景
我有 Li 等人的数据。 2003年论文“加拿大林业部门碳预算模型中的地下生物量动态”。(https:/ /cdnsciencepub.com/doi/10.1139/x02-165)我正在尝试在 R 中重新创建方程 6,以便我可以生成相同的参数估计。 (等式 6),然而,Pf 的最大值为 0.426,因为更大的值将产生 0。
为了给函数施加最大值,我们可以对参数施加限制。最简单的是我是否可以根据最大值重新参数化函数。在 RB>0 且指数项衰减的情况下,我们对函数 Pf(RB)=a+bexp(cRB) 有最大值
m = max(Pf) = a+b
所以这可以重写为
a = m − b
并拟合方程
Pf(RB) = m − b + b·exp(c·RB) = m(1 − b·exp(c·RB))
我想使用 r 中的 nls 对其进行编码,但我不知道如何进行继续以上限来做这件事。我正在尝试在 R 中生成模型,以便我可以获得表 3 方程 6 中生成的相同参数。任何帮助将不胜感激。
Still a novice with R.
Background
I have the data from Li et al. 2003 paper "Belowground biomass dynamics in the Carbon Budget Model of the Canadian Forest Sector".(https://cdnsciencepub.com/doi/10.1139/x02-165) I am trying to recreate equation 6 in R so that I can produce the same parameter estimates. (eq. 6), however, Pf has a maximum value of 0.426, as values greater will produce a 0.
To impose a maximum for the function we can impose limits on the parameters. The easiest is if I can reparameterize the function in terms of the maximum. In the case that RB>0 and the exponential term is decaying, we have for the function Pf(RB)=a+bexp(cRB) the maximum
m = max(Pf) = a+b
So this could be rewritten as
a = m − b
and fit the equation
Pf(RB) = m − b + b·exp(c·RB) = m(1 − b·exp(c·RB))
I would like to code this using nls in r but I don't know how I would go about doing this with the upper limit. I am trying to produce the model in R so I can get the same parameters generated in table 3 equation number 6. Any help would be greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们可以按如下方式使用
nls
。同样,我们也可以将方程采用与已发表文章中相同的格式,而不是OP中的形式。我们有:
数据:
We can use
nls
as follows.Equivalently, we can also put the equation in the same format as in the published article, rather than the form in OP. The we have:
The data: