Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:具有固定元素的协方差矩阵的参数化_R_Optimization_Matrix_Constraints_Covariance - Fatal编程技术网

R:具有固定元素的协方差矩阵的参数化

R:具有固定元素的协方差矩阵的参数化,r,optimization,matrix,constraints,covariance,R,Optimization,Matrix,Constraints,Covariance,我正在对未知协方差矩阵X的高斯模型进行最大似然估计,它可以包含任意位置的固定元素。当没有固定元素时,我一直在使用以下log-cholesky参数化来确保X的正半定性: diag(X)<-exp(0.5*param[1:k]) X[lower.tri(X)]<-param[-(1:k)] X<-crossprod(X) 如果我理解正确,您只想忽略列(或变量),您甚至不需要从头开始重新计算Cholesky分解,而是可以使用正交变换(例如Givens旋转)将其有效降级。我会通过实

我正在对未知协方差矩阵X的高斯模型进行最大似然估计,它可以包含任意位置的固定元素。当没有固定元素时,我一直在使用以下log-cholesky参数化来确保X的正半定性:

diag(X)<-exp(0.5*param[1:k]) 
X[lower.tri(X)]<-param[-(1:k)]
X<-crossprod(X)

如果我理解正确,您只想忽略列(或变量),您甚至不需要从头开始重新计算Cholesky分解,而是可以使用正交变换(例如Givens旋转)将其有效降级。我会通过实际删除该列并将其从中删除。

我在原始问题中添加了一个X的示例。当示例中的第二个和第三个变量与其他变量具有完全已知的方差和协方差时,我可以删除这些行和列并使用X的子矩阵,但如果我具有固定方差而不是协方差或其他方式,则不能使用此方法。
nz<-diag(X)>0
diag(X)[nz]<-exp(0.5*param[1:k]) #different k now
X[nz,nz][lower.tri(X[nz,nz])]<-param[-(1:k)]
X[nz,nz]<-crossprod(X[nz,nz])
   > x
        [,1] [,2] [,3] [,4] [,5]
   [1,]   NA    0    0   NA   NA
   [2,]    0    0    0  0.0  0.0
   [3,]    0    0    1  0.0  0.0
   [4,]   NA    0    0   NA  0.5
   [5,]   NA    0    0  0.5   2