我正在尝试拟合非线性模型,但找不到任何好的例子 线上。
这个功能有名字吗?
可以线性化吗?
我试图估计参数a
,b
和c
随机效应g
(如组中)作为时间的函数{{ 1}},下面。我可以使用t
来拟合模型而不会产生随机效果,但是我很难让模型收敛。建议欢迎(最好在R内,但任何合适的包装都可以)?
nls
答案 0 :(得分:9)
在物理学(以及其他一些领域)中,我已经看到它或它的变体称为Hoerl曲线或Hoerl函数e.g. here,尽管它有其他名称。如果 c 为负且 a 且 b 为正,则为缩放的伽玛密度。
当你要求线性化它时,你必须要小心;等式 y = at ^ b 。 exp( ct )实际上并不是你的意思 - 观察, y ( i ),并不完全等于 a < / em>。 t (i)^ b 。 exp( ct ( i ))(否则几乎任何3个观察都会给你精确的参数值。)
因此噪音必须以某种方式进入 y 的模型。它是添加剂吗?乘法,或其他什么? (同样重要的是,但由于其他原因: t 更改时,其大小是否会以某种方式发生变化?不同观察的噪声项是否独立?)
如果您的实际型号 y ( i )= at ( i )^ b 。 exp( ct ( i ))+ε( i ),这是不可线性化的。
如果您的实际型号 y ( i )= at ( i )^ b 。 exp( ct ( i ))。 ε(i)和ε( i )= exp(η( i ))对于某些(希望是零均值)η( i ),这是可线性化的。
采取第二种形式,
log( y ( i ))= log(a)+ b log( t ( i ))+ c t ( i )+ log(ε( i ))
或
y *( i )= a * + b.log( t ( i ))+ c。 t ( i )+η( i )
在参数 a * = log( a ), b 和 c 中是线性的,并且误差项η( i );因此,如果您准备对错误做出那种假设,那么您应该能够使用适合此类线性模型的方法;在这种情况下,您可能希望考虑有关上述错误术语的括号问题,这些问题可能会影响您对其进行建模。