1.1 题目的主要研究内容
(1)协方差矩阵的定义、计算过程。
协方差(Covariance):在概率论和统计学中用于衡量两个变量的总体误差。协方差在某种意义上给出了两个变量线性相关性的强度以及这些变量的尺度。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。协方差矩阵(也称离差矩阵),其 i, j 位置的元素是第 i 个与第 j 个随机向量(即随机变量构成的向量)之间的协方差。 协方差矩阵将所有变量的协方差关系用矩阵的形式表现出来。
协方差矩阵计算过程:是变量向量减去均值向量,然后乘以变量向量减去均值向量的转置再求均值。从数值来看,协方差的数值越大,两个变量同向程度也就越大,反之亦然。
(2)具体数据,手动推演和上机实现。
(3)手动推演和上机实现两种结果的比较分析。
1.2 题目研究的工作基础或实验条件
(1)手动推演中已知计算公式,给定初始数组;软件实现中已知程序代码的设计和算法应用。
(2)软件环境(开发工具可用PyCharm)使用numpy库的cov函数。
1.3 设计思想
协方差矩阵是一种更容易理解的方式,它将整个维度中的关系定义为每两个随机变量之间的关系。 协方差矩阵是一个对称的矩阵,而且对角线是各个维度的方差。
针对一维的样本集合时,求出的协方差就是方差,即方差是协方差的一种特殊情况,都是反应集合中各元素离散度的。
针对二维的样本集合时,求出的协方差就是两维度间的相关性,包括正相关性、负相关性或者无关。
针对三维及以上维度的样本集合时,求出的协方差是各个维度总体的相关性,针对各维度之间的关系,所以二维以上计算协方差,用的就是协方差矩阵。协方差矩阵是计算不同维度之间的协方差,样本矩阵的每行是一个样本,每列是一个维度。
协方差矩阵的计算公式:
这里的X、Y表示两个变量空间。用机器学习的话来讲,就是样本有x、y两个特征,而X就是包含所有样本的x特征的集合, Y就是包含所有样本的y特征的集合。协方差如果为正 说明X,Y同向变化,协方差越大说明同向程度越高,协方差为负,说明X,Y反向运动,协方差越小说明反向程度越高。
通过PyCharm Community Edition 2021.3.3软件环境来实现上机功能,其提供了一个带编码补全,代码片段,支持代码折叠和分割窗口的智能、可配置的编辑器,可帮助用户更快更轻松的完成编码工作。
在软件中可以使用Tab 键快速编写程序,当你什么也没有输入的时候,Tab只是4个空格的缩进;当你输入前几个字母,PyCharm会智能的列出所有的候选项,这时候,你只要按下Tab,会默认选择第一个候选项。提供输入速度,非常流畅。
1.4 流程图
为了更清楚的对实验结果进行比较分析,可以通过流程图直接观察,软件实现和手动推演协方差矩阵的具体过程,其中两者给出的初始矩阵都是相同的,上机实现和手动推演流程图如图1.1所示:
图1.1 上机实现和手动推演流程图
1.5 主要程序代码(要求必须有注释)
使用numpy库的cov函数:
import numpy as np #导入 numpy
y = np.array([[1,2,3], [3,1,1]]) #给出数组
print(y)
print(y.shape)
print(np.cov(y, rowvar=False))
# 给定一组数据,计算有特征引导的协方差矩阵
根据协方差矩阵计算公式:
Import numpy as np
y = np.array([[1,2,3], [3,1,1]])
def coVariance(X): # 数据的每一行是一个样本,每一列是一个特征
ro, cl = X.shape
row_mean = np.mean(X, axis=0) #求取平均值
print(row_mean)
#X_Mean = np.zeros_like(X)
#print(X_Mean)#输出一个和x一致的矩阵
X_Minus = X - row_mean #原矩阵减平均值
print(X_Minus)
covarMatrix = np.zeros((cl, cl)) #建立一个cl*cl的矩阵
for i in range(cl):
for j in range(cl):
covarMatrix[i, j] = (X_Minus[:, i].T.dot(X_Minus[:, j])) / (ro - 1)
return covarMatrix
cV = coVariance(y)
print(cV)
1.6 运行结果及分析
手动推演具体过程如图1.2所示:
图1.2 手动推演具体过程
分析文章来源:https://www.toymoban.com/news/detail-542539.html
手动推演和上机现实的过程结果完全相同,上机现实前期准备工作相对复杂一些,但是准确性比手动推演高,手动推演容易出现错误,但是两者都可以快速的修改错误之处。理解协方差矩阵的关键就在于牢记它的计算是不同维度之间的协方差,而不是不同样本之间。拿到一个样本矩阵,最先要明确的就是一行是一个样本还是一个维度,心中明确整个计算过程就会顺流而下,就会比较清楚。文章来源地址https://www.toymoban.com/news/detail-542539.html
到了这里,关于协方差矩阵的研究的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!