如何在 R 中的 nls(非线性最小二乘)函数中使用 'weights'?

How to use the 'weights' in the nls (non-linear least squares) function in R?

我的问题是如何正确解释(和使用)R 的 nls 函数中的 'weights' 输入变量以进行非线性加权最小二乘回归。

加权最小二乘理论中求解未知参数的解法为:

由此变量 P 是大小为 (NxN) 的权重方阵,其中 N 是数据观察的数量。

然而,当我查看 R 中的 nls 文档时发现 here,它说要输入的 'weights' 是一个向量。

这让我感到困惑,因为根据我的理解,权重应该是一个方阵。感谢那些有更好理解的人的一些见解。

Weight 回归中的变量,是衡量由于不同原因(例如,可能是测量的可靠性或方差估计的倒数)对模型的重要性的度量。因此,某些观察结果可能比其他观察结果更重要/权重更高。

权重向量 , in matrix notation converts to a diagonal matrix for i in {1,2,3...n,} 两者表示相同的事物(即 weight第 i 个观察 )。对于 R 中的 nls 包,您需要以矢量形式提供权重。

此外,需要注意的是,weighted least squares是广义最小二乘法的一个特殊变体,其中我们使用权重来对抗异方差性。如果残差与观察结果相关,那么通用模型可能是合适的。

PS:交叉验证将是获得更详细答案的正确位置。此外,随着观察数量的增加,存储向量而不是矩阵似乎更有效