2012-12-04 33 views
3

更新: 原始问题是:是否有一个R函数使用matlab中的“lsqnonlin”函数实现相同的算法?但是,答案更多地与在R中搜索函数有关。我认为答案对R用户通常非常有用。所以我编辑了标题,但问原来的问题再次在这里:In R, how to do nonlinear least square optimization which involves solving differential equations?R函数来搜索函数

我做的非线性最小二乘优化,发现MATLAB函数lsqnonlin性能比所有的优化算法,我R中试(包括函数算法更好optimx,nlm,nlminb,solnp等),因为它更快并且找到了“更正确”的解决方案。

但是,我没有在Matlab中找到在R中使用'trust-region-reflective'算法的实现。有人知道是否已经实施?另外,对于这种优化,“信赖区域反射”算法是更好的算法吗?

+0

最好问这个问题:http://stats.stackexchange.com/ – agstudy

+0

谢谢,@agstudy。我其实不确定在哪里发布。但我想我马修普卢德已经回答了我的问题。 – Zhenglei

回答

5

听起来像lsqnonlinpracma包是你在找什么。

我建议为R安装sos软件包。它的目的是帮助您回答问题,例如“有没有这样做的功能?”。此包装中的findFn将搜索您所提供术语的CRAN上的内容。

library(sos) 
findFn('lsqnonlin') 
+0

很酷,我不知道'sos',谢谢。 – AGS

+0

非常感谢您的帮助。我不知道'sos'和'lsqnonlin'在'pracma'中,我会试试。 – Zhenglei

+1

我开始研究这个问题,发现'pracma'包中的'lsqnonlin'只实现了levenberg-Marquardt算法。下面是函数“lsqnonlin求解非线性最小二乘问题的函数描述,包括非线性数据拟合问题,通过使用Levenberg-Marquardt方法 lsqnonneg求解非负最小二乘约束问题。” – Zhenglei