我正在尝试进行一些参数估计,并希望选择参数估计值,以最大限度地减少预测方程中的平方误差超过约30个变量.如果方程是线性的,我只计算30个偏导数,将它们全部设为零,并使用线性方程求解器.但不幸的是,这个等式是非线性的,它的衍生物也是如此.
如果方程式超过单个变量,我只会使用牛顿方法(也称为Newton-Raphson).Web上有丰富的示例和代码来实现Newton的单个变量函数的方法.
鉴于我有大约30个变量,如何使用牛顿方法为这个问题编写数值解?我有闭合形式的方程,可以计算一阶和二阶导数,但我不知道如何从那里开始.我在网上发现了大量的治疗方法,但很快就会进入重基质表示法.我在维基百科上找到了一些适度的帮助,但我在将其转换为代码时遇到了麻烦.
我担心崩溃的地方是矩阵代数和矩阵求逆.我可以使用线性方程求解器反转矩阵,但我担心得到正确的行和列,避免换位错误,等等.
要非常具体:
我想使用表将变量映射到它们的值.我可以写一个这样一个表的函数,它返回给出这样一个表作为参数的平方误差.我还可以创建相对于任何给定变量返回偏导数的函数.
我对表中的值有一个合理的初始估计,所以我不担心收敛.
我不确定如何编写使用估计的循环(每个变量的值表),函数和部分导数函数表来产生新的估计.
最后一点是我要帮助的.任何直接的帮助或指向好的来源将受到热烈的赞赏.
编辑:由于我有封闭形式的第一和第二衍生物,我想利用它们并避免更简单的融合方法,如单面搜索.