2
nls中具有正确起始值的奇异梯度误差
我正在尝试将线+指数曲线拟合到一些数据。首先,我尝试对一些人工数据执行此操作。该函数为: 它实际上是具有线性截面的指数曲线,以及附加的水平移位参数(m)。但是,当我使用R 函数时,即使使用的参数与最初生成数据时使用的参数相同,也会出现可怕的“ 初始参数估计时的奇异梯度矩阵 ”错误。 我尝试了不同的算法,不同的起始值并尝试使用y=a+b⋅r(x−m)+c⋅xy=a+b⋅r(x−m)+c⋅xy=a+b\cdot r^{(x-m)}+c\cdot xnls()optim最小化剩余平方和,无济于事。我已经读到,可能的原因可能是公式的参数设置过高,但我不认为是(是吗?) 有人对此问题有建议吗?还是这只是一个尴尬的模型? 一个简短的例子: #parameters used to generate the data reala=-3 realb=5 realc=0.5 realr=0.7 realm=1 x=1:11 #x values - I have 11 timepoint data #linear+exponential function y=reala + realb*realr^(x-realm) + realc*x #add a bit of noise to avoid zero-residual data jitter_y = jitter(y,amount=0.2) testdat=data.frame(x,jitter_y) …