我试图使用以下公式拟合一些数据,这是一个修改后的误差函数,包含4个未知参数(我主要对 par4 感兴趣):
Y = par1+(par2*(erf((X-par3)/ par4)))
如果我设置了一些合理的起点,数据点的拟合度相当好(R-square~0.95),但发现的某些参数的误差范围很广。下面是拟合数据的图像,拟合曲线和找到的参数。
数据和适合度:
par4 = 0.9109 (-52.89, 54.71)
par2 = 0.02647 (0.02421, 0.02872)
par3 = 38.15 (8.128, 68.18)
par1 = 0.8647 (0.8624, 0.867)
如果我稍微改变起点(例如,对于par4,从0.5到0.1),最终拟合值会发生变化。类似地,如果我使`TolFun值更大,最终参数和它们的错误变化以及拟合。在某些情况下,我甚至没有找到找到的参数的错误间隔。例如(如果我设置par4起点= 3而其他的保持不变)我得到:
par4 = 0.1712
par2 = 0.02674
par3 = 38.63
par1 = 0.8649 (0.8625, 0.8672)
你可以想象,我在拟合过程的数学方面不是专家,但我认为不同的结果意味着数据很差(曲线中心没有数据点),许多曲线可以用相对较好的R平方重现它。此外,大的错误间隔可能意味着数据中的扩散很大。我的想法是否正确?
此外,选项TolFun
控制的是什么?并且,我知道错误间隔是根据95%(2sigma)标准计算的;我可以将其更改为68%(1sigma)以获得更窄的错误间隔吗?