一、协方差矩阵
1.协方差定义
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI2IDO3IDN0MTM5IjMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2.R语言实现
#协方差矩阵
#等价于cov(data)
data<-as.matrix(data)
n<-nrow(data)
mx<-diag(1,n)-matrix(1,n,n)/n
covA<-t(data)%*%mx%*%data/(n-1);covA
3.可视化运算
假设有X、Y两个矩阵,分别求X的协方差、Y的协方差、X和Y的协方差。![]()
协方差矩阵和相关系数矩阵(R语言) 第一步先求X的每一列的均值:![]()
协方差矩阵和相关系数矩阵(R语言) 第二步计算![]()
协方差矩阵和相关系数矩阵(R语言) ,每列减去每列相应的均值:![]()
协方差矩阵和相关系数矩阵(R语言) 第三步乘积求和:![]()
协方差矩阵和相关系数矩阵(R语言) 同理可得Y的协方差:![]()
协方差矩阵和相关系数矩阵(R语言) 求X和Y的协方差,先求![]()
协方差矩阵和相关系数矩阵(R语言) :![]()
协方差矩阵和相关系数矩阵(R语言) 再乘积求和,用X的每一列乘以Y的每一列的转置:![]()
协方差矩阵和相关系数矩阵(R语言) ![]()
协方差矩阵和相关系数矩阵(R语言)
二、相关系数矩阵
1.相关系数定义
2.R语言实现
#相关系数矩阵
#等价于cor(data)
corA<-covA
for(j in 1:n )
{
for(k in 1:n)
{
corA[j,k]<-covA[j,k]/(sqrt(covA[j,j])*sqrt(covA[k,k]))
}
}
corA
3.可视化运算
根据前面所求协方差:![]()
协方差矩阵和相关系数矩阵(R语言) 按照公式可求得:![]()
协方差矩阵和相关系数矩阵(R语言) ![]()
协方差矩阵和相关系数矩阵(R语言) ![]()
协方差矩阵和相关系数矩阵(R语言)
相关资料:数据分析与R软件第二版(李素兰著)每章例题代码和数据,下载地址:https://download.csdn.net/download/lph188/10802159