gpt4 book ai didi

algorithm - 在 MATLAB 中使用 Levenberg-Marquardt (lsqcurvefit) 时获取协方差矩阵

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:03:12 27 4
gpt4 key购买 nike

我正在使用 Matlab 中的 lsqcurvefit 函数对一些实验数据进行建模。数据采用特定形状,因此算法只是调整该形状的系数以改变其振幅等。

该模型运行良好并且拟合良好(我计算了卡方)。 Levenberg-Marquardt 算法的其他实现将协方差作为输出,但在 Matlab 中它不是输出的选项(只有一阶最优性,没有迭代,Lambda 和 Jaccobian 以及边界)。

有谁知道如何根据 lsqcurvefit 给出的输出(我不是 100% 确定 lambda 和 jaccobian 的用途或一阶最优性)或独立地计算协方差矩阵?

非常感谢任何帮助,谢谢!

最佳答案

我想我已经自己解决了这个问题,但如果其他人遇到同样的问题,我会在这里发布解决方法。

协方差矩阵可以通过雅可比行列式计算:

C = inv(J'*J)*MSE

其中 MSE 是均方误差:

均方误差 = (R'*R)/(N-p)

其中 R = 残差,N = 观测数,p = 估计系数数。

或者可以通过迭代计算 MSE。

希望这对将来的其他人有帮助。

如果有人发现错误请告诉我。谢谢

关于algorithm - 在 MATLAB 中使用 Levenberg-Marquardt (lsqcurvefit) 时获取协方差矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30737382/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com