3

分散共分散行列 S があります。

> S
     [,1] [,2]
[1,]    4   -3
[2,]   -3    9

私はそれの逆を見つけようとしています。

私が持っているコードは次のとおりです。

>invS <- (1/((S[1,1]*S[2,2])-(S[1,2]*S[2,1])))*S
           [,1]       [,2]
[1,]  0.1481481 -0.1111111
[2,] -0.1111111  0.3333333

ただし、solve()を使用すると、次のようになります。

>invSalt <- solve(S)
          [,1]      [,2]
[1,] 0.3333333 0.1111111
[2,] 0.1111111 0.1481481

invS が正しくないのはなぜですか? 修正するには何を変更すればよいですか?

4

2 に答える 2

4

分母の行列式は正しく見つかりましたが、残りは間違っています。

ここに画像の説明を入力

非対角要素は反対の符号を使用し、対角要素は入れ替える必要があります。2 つのマトリックスを比較すると、これらの両方がはっきりと見えます。

これは手動で行うには最も便利なことではないため、solve実際にはより優れています。手動で行うことを主張する場合は、使用できます

matrix(rev(S), 2, 2) / (prod(diag(S)) - S[1, 2] * S[2, 1]) * (2 * diag(1, 2) - 1)
#           [,1]      [,2]
# [1,] 0.3333333 0.1111111
# [2,] 0.1111111 0.1481481
于 2018-11-23T18:14:40.587 に答える
3

正しい式は

 (1/((S[1,1]*S[2,2])-(S[1,2]*S[2,1])))* matrix(c(S[2,2], -S[2,1], -S[1,2], S[1,1]),2)
于 2018-11-23T18:18:43.410 に答える