首页 文章

'fitnlm'或'lsqcurvefit'用于非线性最小二乘回归?

提问于
浏览
0

我试图使用最小二乘法将实验数据拟合到三次多项式方程 . 我有两个自变量和一个因变量,这使它成为一个非线性拟合 . 我用函数'fitnlm'和'lsqcurvefit'计算了系数,两者都推荐用于非线性回归拟合 . 虽然我输入了相同的初始系数(猜测)值,但我从两个函数中获得了不同的系数值 . 请建议两个功能中的哪一个更好,哪些系数可以信任 . 并且,如何在使用lsqcurvefit时检查均方根误差的值?非常感谢任何帮助/建议/有用的评论 .

1 回答

  • 0

    根据this matlab central discussion,nlinfit(以及扩展fitnlm)使用Levenberg-Marquardt算法 . 另外根据lsqnonlin(这是lsqcurvefit的基础函数)的doc页面,默认算法是'trust-region-reflective',但Levenberg-Marquardt也是一个选项 . 如果在lsqcurvefit函数中指定使用L-M算法选项,结果是否更贴合您的fitnlm结果?

    至于如何选择lsqcurvefit中的哪个算法选项更好...这是科学中有趣的部分;)LM确实在其方法中结合了信任区域原则,因此可能存在一些理论重叠,并且两者都被认为更多比Nelder-Mead更强大,所以我想不出有什么理由先于支持一个而不是另一个 .

    编辑:Here是一个数学源,讨论了MATLAB使用的各种非线性方程求解算法 .

相关问题