tl/dr
有谁知道允许使用 tikhonov 正则化求解线性系统的函数或例程?更一般地说,正确求解线性系统的函数或例程,无论是条件良好还是病态?
细节
我在使用 R 标准函数 solve 和 ginv 找到正确的逆矩阵时遇到了很大的问题。我不明白为什么 solve 或 ginv 无法正确反转某些矩阵。例如,反转以下矩阵 $X$ $(4 \times 4)$:
[r1] 112 114.02675 -99.0725 48.21424
[r2] 114.02675 116.09108 -100.91021 49.01754
[r3] -99.0725 -100.91021 89.97304 -39.267
[r4] 48.21424 49.01754 -39.267 26.11804
给出了这个奇怪的结果 $X^{-1}$ :
[r1] 7581993.46 -7459378.79 -46534.6234 -66885.6052
[r2] -7459378.79 7338753.44 45787.7223 65800.3842
[r3] -46534.62 45787.72 290.6085 407.4297
[r4] 66885.61 65800.38 407.4297 592.1243
MS Excel 提供了这个是正确的:
[r1] 290607.5736 -285895.9835 -1773.086548 -2570.2266
[r2] -285895.9835 281267.2032 1749.988341 2524.997062
[r3] -1773.086548 1749.988341 15.81951395 12.59978592
[r4] -2570.2266 2524.997062 12.59978592 24.81554691
我知道这是正确的解决方案,因为 $XX^{-1}$ 给出了单位矩阵(不是用solve或ginv计算的逆矩阵)。
有人有解释吗?
如何计算正确的逆矩阵
R
?
谢谢你的帮助