【发布时间】:2016-08-16 03:49:52
【问题描述】:
我正在尝试找到 this 9x9 covariance matrix 的倒数,以便可以将其与 mahalanobis distance 一起使用。但是,我从matrix inverse 得到的结果是一个充满1.02939420e+16 的矩阵。我一直试图找出原因,考虑到 Wolfram 会给我正确的答案,这似乎与矩阵的条件数有关,在这种情况下是 3.98290435292e+16。
虽然我想了解这背后的数学原理,但此刻我真正需要的只是解决这个问题,这样我就可以继续实施了。有没有办法找到这种矩阵的逆矩阵?或者是否有可能直接从数据中找到逆协方差矩阵?
编辑:矩阵数据(与 pastebin 链接相同)
[[ 0.46811097 0.15024959 0.01806486 -0.03029948 -0.12472314 -0.11952018 -0.14738093 -0.14655549 -0.06794621]
[ 0.15024959 0.19338707 0.09046136 0.01293189 -0.05290348 -0.07200769 -0.09317139 -0.10125269 -0.12769464]
[ 0.01806486 0.09046136 0.12575072 0.06507481 -0.00951239 -0.02944675 -0.05349869 -0.07496244 -0.13193147]
[-0.03029948 0.01293189 0.06507481 0.12214787 0.04527352 -0.01478612 -0.02879678 -0.06006481 -0.1114809 ]
[-0.12472314 -0.05290348 -0.00951239 0.04527352 0.164018 0.05474073 -0.01028871 -0.02695087 -0.03965366]
[-0.11952018 -0.07200769 -0.02944675 -0.01478612 0.05474073 0.13397166 0.06839442 0.00403321 -0.02537928]
[-0.14738093 -0.09317139 -0.05349869 -0.02879678 -0.01028871 0.06839442 0.14424203 0.0906558 0.02984426]
[-0.14655549 -0.10125269 -0.07496244 -0.06006481 -0.02695087 0.00403321 0.0906558 0.17054466 0.14455264]
[-0.06794621 -0.12769464 -0.13193147 -0.1114809 -0.03965366 -0.02537928 0.02984426 0.14455264 0.32968928]]
【问题讨论】:
-
由于防火墙,您提供的链接不一定对所有人都有效。您可以在主题中发布您的矩阵吗?
-
@ColonelBeauvel 编辑了问题以包含数据。
-
因此,我在下面提供了我的答案,解释了大值,但更进一步,通过尝试反转不可逆矩阵来看看你想要实现的目标会很有趣......
-
我在运行 linalg.inv 时得到一个具有合理值的矩阵:pastebin.com/CHqxJqPV
标签: python numpy matrix covariance matrix-inverse