我正在研究对一个或多个自变量执行线性回归的算法。
也就是说:(如果我有m
真实世界的值并且在两个自变量a
和的情况下b
)
C + D*a1 + E* b1 = y1
C + D*a2 + E* b2 = y2
...
C + D*am + E* bm = ym
我想使用最小二乘法来找到最合适的直线。
我将使用矩阵符号,所以
其中 Beta 是向量 [C, D, E],其中这些值将是最佳拟合线。
问题 解决这个公式的最佳方法是什么?我应该计算的倒数
或者我应该使用矩阵的 LU 分解/分解。每个在大量数据上的性能是什么(即 的大值m
,可能是 10^8 ...)
编辑
如果答案是使用 Cholesky 分解或 QR 分解,是否有任何实现提示/简单的库可供使用。我正在用 C/C++ 编码。