‘고유’가 행렬 반전에 어떻게 도움이되는지 설명 없으므로 트릭을 사용하십시오.( X ‘ Σ –

내 질문은 geoR:::.negloglik.GRF또는 에서 악용 된 계산 기술과 관련이 geoR:::solve.geoR있습니다.

선형 혼합 모델 설정에서 :

여기서 와 는 각각 고정 및 랜덤 효과입니다. 또한β b Σ = cov ( Y )

Y=Xβ+Zb+e

β

b

Σ=cov(Y)

효과를 추정 할 때, 계산에 필요가있다

일반적으로 같은 것을 사용하여 수행 할 수 있습니다 , 그러나 때때로 는 거의 돌이킬 수 없으므로 트릭을 사용하십시오.( X Σ 1 X )

(X′Σ−1X)−1X′Σ−1Y

solve(XtS_invX,XtS_invY)

(X′Σ−1X)

geoR

t.ei=eigen(XtS_invX)
crossprod(t(t.ei$vec)/sqrt(t.ei$val))%*%XtS_invY

(볼 수 geoR:::.negloglik.GRFgeoR:::.solve.geoR) 분해 된 금액
이므로

(X′Σ−1X)=ΛDΛ−1

( X Σ 1 X ) 1 = ( D 1 / 2 Λ 1 ) ( D 1 / 2 Λ 1 )

Λ′=Λ−1

(X′Σ−1X)−1=(D−1/2Λ−1)′(D−1/2Λ−1)

두 가지 질문 :

  1. 이 고유 분해는 반전에 어떻게 도움이 됩니까?
    (X′Σ−1X)

  2. 다른 실행 가능한 대안이 있습니까 (강건하고 안정적인)? (예 qr.solve또는 chol2inv?)


답변

1) 고유 분해는 그다지 도움이되지 않습니다. Cholesky 인수 분해보다 확실히 수치 적으로 안정적입니다. 행렬이 잘못 조정되었거나 거의 특이하지 않거나 조건 수가 많은 경우에 유용합니다. 따라서 고유 분해를 사용하면 문제에 대한 해결책을 얻을 수 있습니다. 그러나 이것이 올바른 솔루션 이라는 보장은 거의 없습니다 . 솔직히 를 명시 적으로 뒤집 으면 손상이 이미 완료됩니다. 성형 단지 문제를 악화 수 있습니다. 고유 분해는 전투에서이기는 데 도움이되지만 전쟁은 가장 확실하게졌습니다.X T Σ 1 X

Σ

XTΣ−1X

2) 문제의 세부 사항을 알지 못하면 이것이 내가하는 일입니다. 먼저 되도록 에서 Cholesky 인수 분해를 수행하십시오 . 그런 다음 되도록 에서 QR 인수 분해를 수행하십시오 . 정방향 치환을 사용하여 를 계산하십시오 . 명시 적으로 뒤집지 마십시오 . 그러면

여기에서 원하는 오른쪽을 풀 수 있습니다. 그러나 다시

Σ

Σ=LLT

L−1X

L−1X=QR

L−1X

L

XTΣ−1X=XT(LLT)−1X=XTL−TL−1X=(L−1X)T(L−1X)=(QR)TQR=RTQTQT=RTR

R

(또는 ). 필요에 따라 정방향 및 역방향으로 대체하십시오.

RTR

BTW, 나는 당신의 방정식의 우변이 궁금합니다. 당신은 그것이 라고 썼습니다 . 당신은 아니에요 확신 ? 그럴 경우 오른쪽에서 비슷한 트릭을 사용할 수 있습니다.

그리고 당신이 제공 할 수 쿠데타 드 그레이스 당신이 해결하기 위해 갈 때 :

XTΣY

XTΣ−1Y

β X T Σ 1 X β = X T Σ 1 Y R T R β = R T Q T L 1 Y R β = Q T L 1 Y β

XTΣ−1Y=XT(LLT)−1Y=XTL−TL−1Y=(L−1X)TL−1Y=(QR)TL−1Y=RTQTL−1Y

β

R

XTΣ−1Xβ=XTΣ−1YRTRβ=RTQTL−1YRβ=QTL−1Yβ=R−1QTL−1Y

R

마지막 단계 로요? 그것은 단지 역 대체적이다. 🙂