使用nls()将具有公共参数的两个函数同时拟合到两个不同的数据集

时间:2016-08-18 17:23:49

标签: r optimization functional-programming regression nls

我有两个功能

funk1 <- (t,a,b,c) { a* exp(-k*t)* b* exp(-c*t) }
funk2 <- (t,a,b,c) { (A*t^k +a)* b* exp(-c*t) }

其中,k和A是已知的 我试图通过拟合这两个函数funk1&amp;来估计参数a,b,c。 funk2同时到两个不同的数据集Y1&amp; Y2分别。

Y1 <- seq(5*10^7, 1*10^7, -2*10^5)
Y2 <- seq(0.01, 0.85, 0.0042)

我使用Optim来最大化联合可能性来适应模型。但我得到的参数值非常不现实。 (我认为优化者在错误的方向上游荡并找到局部最大值,我不能使用渐变函数。)

我希望使用nls()将这两个函数拟合到各自的数据集中,同时进行&#39;。我不知道怎么做?

提前致谢。

0 个答案:

没有答案