机器学习数学基础: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]

这就是在这个简单的结构方程模型下,通过模型设定的参数计算得到隐含协方差矩阵的过程。在实际的结构方程模型中,可能会有更多的观测变量、潜变量以及更复杂的关系,但基本的计算原理是类似的。

相关推荐
一只_程序媛9 分钟前
【leetcode hot 100 54】螺旋矩阵
windows·leetcode·矩阵
柠石榴9 分钟前
【练习】【二叉树】力扣热题100 102. 二叉树的层序遍历
c++·算法·leetcode·二叉树
邴越11 分钟前
Leetcode 112: 路径总和
算法·leetcode·职场和发展
2301_8010377312 分钟前
力扣-字符串
算法·leetcode·职场和发展
冠位观测者13 分钟前
【Leetcode 每日一题】1328. 破坏回文串
数据结构·算法·leetcode
一只_程序媛17 分钟前
【leetcode hot 100 53】最大子数组和
算法·leetcode·职场和发展
邴越18 分钟前
Leetcode 57: 插入区间
算法·leetcode·职场和发展
天若有情67341 分钟前
用 C++ 实现选择题答案随机生成器:从生活灵感走向代码实践
c++·算法·生活
dorabighead1 小时前
小哆啦解题记:螺旋矩阵
算法·矩阵·力扣·大话算法
kk努力学编程1 小时前
C语言综合案例:学生成绩管理系统
c语言·开发语言·算法