样本协方差矩阵的定义与计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
样本协⽅差矩阵的定义与计算
定义
协⽅差矩阵是⽤来衡量⼀组随机变量之间的线性关系的矩阵。
我们都知道,对于n 个随机变量X 1,X 2,...,X n ,总体协⽅差矩阵定义为:
D (X 1)Cov (X 1,X 2)…Cov (X 1,X n )Cov (X 2,X 1)D (X 2)…Cov (X 2,X n )⋮Cov (X n ,X 1)
Cov (X n ,X 2)
…
D (X n )
其中
D (X i )=
E (X 2i )−E (X i )
2
Cov (X i ,X j )=E (X i X j )−E (X i )E (X j )
但是对于给定样本,怎么算样本协⽅差矩阵呢?
假设我们对以上n 个随机变量同时进⾏独⽴抽样m 次,定义第j 次抽样获得的n 个样本值为x j 1,x j 2,...,x j n 。
我们知道样本对总
体⽅差的⽆偏估计为:
ˆσ2i =1m −1m
∑j =1(x j i −¯x i )2
¯
x i =1
m m
∑j =1x j
i
样本对总体协⽅差的⽆偏估计也是类似的:
^Cov (x i ,x j )=1m −1m
∑
k =1(x k i −¯x i )(x k j
−¯x j )
所以样本协⽅差矩阵就是由(1),(2)两个估计量组成的。
根据定义,样本协⽅差矩阵是能计算了,但是这样⼀个⼀个算的话时间复杂度是很⾼的。
下⾯记录直接对矩阵进⾏的样本协⽅差矩阵的计算。
计算
对于n 个随机变量X 1,X 2,...,X n ,同时进⾏m 次独⽴抽样,将获得的样本值排列为矩阵:
A =
x 11x 12…x 1n x 2
1
x 22
…x 2n
⋮x m 1
x m 2
…
x m n
其中每⾏为某次抽样获得的n 个随机变量的样本值,每列为某个随机变量在m 次抽样种获得的样本值。
⾸先计算所有随机变量的均值,获得向量:
µ=1m m
∑i =1A i :
然后对A 和µ做差(向量⼴播到矩阵后做差),获得所有样本减去均值后的矩阵
[
]
[]
B =x 1
1−¯
x 1
x 1
2−¯
x 2
…x 1
n −¯
x n
x 2
1−
¯
x 1
x 2
2−¯
x 2
…x 2
n −¯
x n
⋮
x m 1−¯
x 1
x m
2−¯
x 2
…
x m
n −¯
x n
最后计算B T B 再除以m −1获得协⽅差矩阵。
为了便于理解理解,下⾯列出B T B :
B T B
=
x 11−¯
x 1x 12−¯
x 2
⋮x 1n
−¯x n x 21−¯
x 1x 22
−¯
x 2⋮x 2n −
¯
x n …
x m 1−¯
x 1
x m 2
−¯
x 2
⋮
x m n
−¯x n
x 11−
¯
x 1x 12−
¯
x 2
…
x 1n −
¯
x n
x 21−¯
x 1
x 22−
¯
x 2
…x 2n −
¯
x n
⋮
x m 1−
¯
x 1
x m 2−
¯
x 2
…
x m n −
¯
x n
矩阵内部的括号表⽰某次抽样。
以上这些操作⽤Python 的numpy 库都是很容易实现的。
实际上,B T B 就是n 个随机变量抽样m 次获得的n 个m 维向量标准化后两两内积所形成的n 维格拉姆矩阵。
[
]
[][][][
[][]
[
]
]。