验证协方差矩阵和信息矩阵之间的关系

实验一

  1. 验证信息矩阵和协方差矩阵的是互逆的关系。

  2. 验证Schur completion的成立性。

给定一个系统:

\[x_1 = w_1x_2+v_1\\ x_2 = v_2\\ x_3 = w_3x_2+v_3\\ 给定数据:w1 = 2; w3 = 3;\\ v1,v2,v3分别服从N1(0,0.01),N2(0,0.04),N3(0,0.09) \]

求该系统的对应的协方差矩阵和对应的信息矩阵?

求解如下:

根据协方差的定义,计算的协方差矩阵如下:

[[0.17 0.08 0.24]

[0.08 0.04 0.12]

[0.24 0.12 0.45]]

根据信息矩阵的定义,计算的信息矩阵如下:

[[ 100. -200. 0. ]

[-200. 525. -33.33333333]

[ 0. -33.33333333 11.11111111]]

点积是单位阵。

说明信息矩阵和协方差的逆之间是相等的

基于python的代码如下:

import numpy as np w1 = 2 w3 = 3 shegma2_1 = 0.01 shegma2_2 = 0.04 shegma2_3 = 0.09 \# 计算对应的协方差  A = np.array([   [w1 * w1 * shegma2_2 + shegma2_1, w1 * shegma2_2, w1 * w3 * shegma2_2],   [w1 * shegma2_2, shegma2_2, w3 * shegma2_2],   [w1 * w3 * shegma2_2, w3 * shegma2_2, w3 * w3 * shegma2_2 + shegma2_3] ]) A_information = np.array([   [1 / shegma2_1, -w1 / shegma2_1, 0],   [-w1 / shegma2_1, w1 * w1 / shegma2_1 + 1 / shegma2_2 + w3 * w3 / shegma2_3, -w3 / shegma2_3],   [0, -w3 / shegma2_3, 1 / shegma2_3]]) print(协方差矩阵是:\n, A) print(A的逆运算是:\n, np.linalg.inv(A)) print(信息矩阵是:\n, A_information) print(信息矩阵的乘的结果是:\n , np.dot(A, A_information)) 

对应的输出结果如下:

 协方差矩阵是:   [[0.17 0.08 0.24]   [0.08 0.04 0.12]   [0.24 0.12 0.45]]  A的逆运算是:   [[ 1.00000000e+02 -2.00000000e+02 -2.07488347e-14]   [-2.00000000e+02  5.25000000e+02 -3.33333333e+01]   [-0.00000000e+00 -3.33333333e+01  1.11111111e+01]]  信息矩阵是:   [[ 100.     -200.       0.     ]   [-200.      525.      -33.33333333]   [  0.      -33.33333333  11.11111111]]  信息矩阵的乘的结果是:   [[ 1.00000000e+00 -2.72374715e-16 -4.89484996e-16]   [-1.66533454e-16  1.00000000e+00 -2.44742498e-16]   [ 8.88178420e-16 -1.36187358e-15  1.00000000e+00]]