协变量矩阵中的方差 0
Posted
技术标签:
【中文标题】协变量矩阵中的方差 0【英文标题】:Variance 0 in the covariate matrix 【发布时间】:2022-01-04 17:07:20 【问题描述】:我制作了一个协变量矩阵。它运作良好。 问题:如图所示,如何使协变量 0 和该变量 1 的方差之间的方差?
set.seed(1)
M1<-matrix(rnorm(25,5,1),ncol=5)
M1
cor(M1)
SD_M1<-rnorm(5)
M1_Covariance<-(SD_M1%*%t(SD_M1))*cor(M1)
M1_Covariance
【问题讨论】:
【参考方案1】:这是一个函数f
,以协方差矩阵S
和整数索引向量k
作为参数。它将k
索引的变量的方差设置为1,将涉及这些变量的协方差设置为0。
function(S, k)
S[k, ] <- S[, k] <- 0
S[cbind(k, k)] <- 1
S
f(M1_Covariance, c(1:2, 5L))
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0.000000 0.0000000 0
[2,] 0 1 0.000000 0.0000000 0
[3,] 0 0 2.163113 -0.4791670 0
[4,] 0 0 -0.479167 0.2286275 0
[5,] 0 0 0.000000 0.0000000 1
S
实际上可以是任何方阵,因为该运算不依赖于 S
是对称的还是正定的。
【讨论】:
谢谢,非常好的解决方案!一个问题:如果我想像前一种情况那样有更多的0和1的列和行,我应该如何修改代码? 我已经更新了代码。以上是关于协变量矩阵中的方差 0的主要内容,如果未能解决你的问题,请参考以下文章
什么是协方差与相关系数?协方差矩阵如何计算?np.cov函数
R语言manova函数多元方差分析(MANOVA)单因素多元方差分析的两个假设是多元正态性和方差-协方差矩阵的齐性QQ图评估多元正态性mvoutlier包中的aq.plot函数检验多变量异常值