2012-12-13 4 views
0

임의의 위치에 고정 된 요소를 포함 할 수있는 알려지지 않은 공분산 행렬 X가있는 특정 가우시안 모델의 최대 우도 추정을합니다. 고정 된 요소가없는 때, 나는 X의 긍정적 인 semidefinity 확인하기 위해 다음과 같은 로그 콜레 매개 변수화를 사용하고 있습니다 : 행과 열 중 일부는 0으로 고정하는 경우R : 고정 된 요소를 가진 공분산 행렬의 모수 화

diag(X)<-exp(0.5*param[1:k]) 
X[lower.tri(X)]<-param[-(1:k)] 
X<-crossprod(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]) 

그리고 고정 행/열의 모든 경우에 일반화됩니다. 그러나 해당 행/열의 대각 요소 (즉, 해당 변수의 분산)가 고정되어 있거나 다른 변수와의 상관 관계 만 고정되어 있다면 어떨까요? 이 일을하는 일반적인 방법이 있습니까? 여기

는 요소 나 다른 요소가 고정되는 반면 추정 wan't X의 NA의 표시의 예 :

난 당신이 단순히 열 (또는 변수)를 무시하려면 제대로 이해하고
> 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 

답변

0

, 당신을 Cholesky 분해를 다시 처음부터 다시 계산할 필요는 없지만 대신 직교 변환을 사용하여 효율적으로 다운 그레이드 할 수 있습니다. 기븐스 회전. 나는 칼럼을 물리적으로 삭제하고 거기에서 가져옴으로써 그것에 대해 갈 것이다.

+0

원본 질문에 X의 예를 추가했습니다. 예제에서 두 번째 및 세 번째와 같은 일부 변수가 다른 변수와의 분산 및 공분산을 완전히 알고있는 경우 해당 행과 열을 제거하고 X의 하위 행렬로 작업 할 수 있지만 공분산 또는 다른 방법으로 고정 된 분산 봇을 사용하면 이 방법은 사용할 수 없습니다. –

관련 문제