机器学习数学基础:39.样本和隐含和残差协方差矩阵
假设我们研究学生的数学成绩、英语成绩和学习时间之间的关系。收集了100名学生这三项数据作为样本。
样本协方差矩阵
计算得到的样本协方差矩阵如下(假设数据简化):
[
V
a
r
(
数学
)
C
o
v
(
数学
,
英语
)
C
o
v
(
数学
,
学习时间
)
C
o
v
(
英语
,
数学
)
V
a
r
(
英语
)
C
o
v
(
英语
,
学习时间
)
C
o
v
(
学习时间
,
数学
)
C
o
v
(
学习时间
,
英语
)
V
a
r
(
学习时间
)
]
=
[
25
10
8
10
16
6
8
6
9
]
\begin{bmatrix} Var(数学) & Cov(数学,英语) & Cov(数学,学习时间) \\ Cov(英语,数学) & Var(英语) & Cov(英语,学习时间) \\ Cov(学习时间,数学) & Cov(学习时间,英语) & Var(学习时间) \end{bmatrix} \ = \begin{bmatrix} 25 & 10 & 8 \\ 10 & 16 & 6 \\ 8 & 6 & 9 \end{bmatrix}
Var(数学)Cov(英语,数学)Cov(学习时间,数学)Cov(数学,英语)Var(英语)Cov(学习时间,英语)Cov(数学,学习时间)Cov(英语,学习时间)Var(学习时间)
=
2510810166869
这里
V
a
r
(
数学
)
Var(数学)
Var(数学)表示数学成绩的方差,
C
o
v
(
数学
,
英语
)
Cov(数学,英语)
Cov(数学,英语)表示数学成绩和英语成绩的协方差,以此类推,体现了实际样本中这三个变量之间的离散和相关关系。
隐含协方差矩阵
我们构建一个结构方程模型,假设学习时间会影响数学和英语成绩,通过模型计算得到隐含协方差矩阵:
[
23
9
7
9
15
5
7
5
8
]
\begin{bmatrix} 23 & 9 & 7 \\ 9 & 15 & 5 \\ 7 & 5 & 8 \end{bmatrix}
23979155758
这是基于我们设定的模型,推导出来的变量之间的协方差关系。
比较拟合程度
用样本协方差矩阵减去隐含协方差矩阵,得到残差矩阵:
[
25
−
23
10
−
9
8
−
7
10
−
9
16
−
15
6
−
5
8
−
7
6
−
5
9
−
8
]
=
[
2
1
1
1
1
1
1
1
1
]
\begin{bmatrix} 25 - 23 & 10 - 9 & 8 - 7 \\ 10 - 9 & 16 - 15 & 6 - 5 \\ 8 - 7 & 6 - 5 & 9 - 8 \end{bmatrix} \ = \begin{bmatrix} 2 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix}
25−2310−98−710−916−156−58−76−59−8
=
211111111
如果残差矩阵里的元素都比较小,就说明我们构建的这个模型推导出来的变量关系,和实际样本数据中的变量关系差异不大,模型拟合较好。但如果残差矩阵元素值较大,那就说明模型和实际数据不太相符,拟合程度差。
为了让你更好地理解,下面再以一个更简单的例子详细说明隐含协方差矩阵的计算过程:
假设我们有一个非常简单的结构方程模型,只包含两个观测变量 X X X和 Y Y Y,它们都受到一个共同的潜变量 Z Z Z的影响,且模型中路径系数分别为 a a a( Z Z Z对 X X X的影响)和 b b b( Z Z Z对 Y Y Y的影响),潜变量 Z Z Z的方差为 V a r ( Z ) = σ 2 Var(Z)\ =\sigma^2 Var(Z) =σ2。
首先,根据结构方程模型的理论,观测变量
X
X
X和
Y
Y
Y的方差可以表示为:
V
a
r
(
X
)
=
a
2
×
V
a
r
(
Z
)
=
a
2
σ
2
Var(X)\ =a^2\times Var(Z)\ =a^2\sigma^2
Var(X) =a2×Var(Z) =a2σ2
V
a
r
(
Y
)
=
b
2
×
V
a
r
(
Z
)
=
b
2
σ
2
Var(Y)\ =b^2\times Var(Z)\ =b^2\sigma^2
Var(Y) =b2×Var(Z) =b2σ2
观测变量
X
X
X和
Y
Y
Y之间的协方差可以表示为:
C
o
v
(
X
,
Y
)
=
a
×
b
×
V
a
r
(
Z
)
=
a
b
σ
2
Cov(X,Y)\ =a\times b\times Var(Z)\ =ab\sigma^2
Cov(X,Y) =a×b×Var(Z) =abσ2
那么,这个模型的隐含协方差矩阵就是:
[
V
a
r
(
X
)
C
o
v
(
X
,
Y
)
C
o
v
(
Y
,
X
)
V
a
r
(
Y
)
]
=
[
a
2
σ
2
a
b
σ
2
a
b
σ
2
b
2
σ
2
]
\begin{bmatrix} Var(X)&Cov(X,Y)\\ Cov(Y,X)&Var(Y) \end{bmatrix} \ = \begin{bmatrix} a^2\sigma^2&ab\sigma^2\\ ab\sigma^2&b^2\sigma^2 \end{bmatrix}
[Var(X)Cov(Y,X)Cov(X,Y)Var(Y)] =[a2σ2abσ2abσ2b2σ2]
例如,假设
a
=
0.6
a \ = 0.6
a =0.6,
b
=
0.5
b \ = 0.5
b =0.5,
σ
2
=
4
\sigma^2 \ = 4
σ2 =4,则:
V
a
r
(
X
)
=
a
2
σ
2
=
0.
6
2
×
4
=
1.44
Var(X)\ =a^2\sigma^2\ =0.6^2\times4 \ = 1.44
Var(X) =a2σ2 =0.62×4 =1.44
V
a
r
(
Y
)
=
b
2
σ
2
=
0.
5
2
×
4
=
1
Var(Y)\ =b^2\sigma^2\ =0.5^2\times4 \ = 1
Var(Y) =b2σ2 =0.52×4 =1
C
o
v
(
X
,
Y
)
=
a
b
σ
2
=
0.6
×
0.5
×
4
=
1.2
Cov(X,Y)\ =ab\sigma^2\ =0.6\times0.5\times4 \ = 1.2
Cov(X,Y) =abσ2 =0.6×0.5×4 =1.2
所以隐含协方差矩阵为:
[
1.44
1.2
1.2
1
]
\begin{bmatrix} 1.44&1.2\\ 1.2&1 \end{bmatrix}
[1.441.21.21]
这就是在这个简单的结构方程模型下,通过模型设定的参数计算得到隐含协方差矩阵的过程。在实际的结构方程模型中,可能会有更多的观测变量、潜变量以及更复杂的关系,但基本的计算原理是类似的。