簡體   English   中英

用於非線性最小二乘回歸的“ fitnlm”或“ lsqcurvefit”?

[英]'fitnlm' or 'lsqcurvefit' for non-linear least squares regression?

我正在嘗試使用最小二乘法將實驗數據擬合到三次多項式方程式。 我有兩個自變量和一個因變量,這使其成為非線性擬合。 我已經使用函數“ fitnlm”和“ lsqcurvefit”計算了系數,建議將兩者用於非線性回歸擬合。 盡管我輸入了相同的初始系數(猜測)值,但從這兩個函數獲得了不同的系數值。 請告知兩個函數中哪個更好,以及我可以信任的系數。 而且,在使用lsqcurvefit時如何檢查均方根誤差的值? 非常感謝您的任何幫助/建議/有益的意見。

根據這個matlab的集中討論 ,看來nlinfit(並且通過擴展fitnlm)使用Levenberg-Marquardt算法。 同樣,根據lsqnonlin (這是lsqcurvefit的基礎功能)的文檔頁面,默認算法是“信任區域反射”,但是Levenberg-Marquardt也是一個選擇。 如果您在lsqcurvefit函數中指定使用LM算法選項,結果是否與fitnlm結果更接近?

至於如何選擇lsqcurvefit中哪個算法選項更好...這是科學的樂趣所在;)LM確實在其方法中納入了信任區域原則,因此可能存在一些理論上的重疊,並且兩者都被認為是更多的。它比Nelder-Mead之類的工具更強大,因此我想不出有什么先驗的理由偏愛一個。

編輯: 是MathWorks資料,討論了MATLAB使用的各種非線性方程求解算法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM