행렬을 양수로 명확하게 만드는 방법은 무엇입니까?


10

다음 요인 분석 모델에 대해 EM 알고리즘을 구현하려고합니다.

Wj=μ+Baj+ejforj=1,,n

여기서 P 차원 랜덤 벡터 인, j는 잠재 변수 Q 차원 벡터이고, B는 파라미터이 개의 행렬이다.WjajB

모형에 사용 된 다른 가정의 결과로, 여기서 D 는 오차항 e 의 분산 공분산 행렬 e j , D = diag ( σ 2 1 , σ 2 2 , ..., σ 2 p ).WjN(μ,BB+D)DejDσ12σ22σp2

EM 알고리즘이 작동하려면 D 행렬의 추정과 관련된 돔 반복을 수행하고 있으며 이러한 반복 동안 새로운 반복 추정 BD를 사용하여 각 반복에서 B B ' + D 의 역을 계산합니다 . 불행하게도 반복 과정에서 B B ' + D 는 양의 유한성을 잃습니다 (그러나 분산 공분산 행렬이기 때문에해서는 안됩니다).이 상황은 알고리즘의 수렴을 망칩니다. 내 질문은 :BDBB+DBDBB+D

  1. 이 상황은 EM의 모든 단계에서 가능성이 높아져야하므로 알고리즘에 문제가 있음을 보여줍니까?

  2. 행렬을 양의 명확한 것으로 만드는 실제적인 방법은 무엇입니까?

편집 : 나는 매트릭스 반전 lemma를 사용하여 역을 계산하고 있습니다.

(BB+D)1=D1D1B(Iq+BD1B)1BD1

여기서 오른쪽은 행렬 의 역수 만 포함합니다 .q×q


1
가 긍정적 인 한계를 어떻게 "잃는" 지를 더 잘 이해하는 것이 도움이 될 수 있습니다 . 이것은 B B ' 또는 D (또는 둘 다)가 양의 비정의가되고 있음을 의미한다 . 그 때 수행하는 것이 어렵다 B B가 ' 로부터 직접 계산 B 조차 어려워 경우 D는 그 대각선에 사각형 대각 행렬로서 산출한다! BB+DBBDBBBD
whuber

@whuber 일반적으로 FA 이므로 B B ' 는 양의 한정이 아닙니다. 그러나 (이론적으로) B B ' + Dσ 2 j 가 모두 0보다 크다고 가정해야합니다 . q<pBBBB+Dσj2
JMS

이 질문과 관련이 있습니다 : stats.stackexchange.com/questions/6364/…
Gilead

1
@JMS 감사합니다. 내 의견은 여전히 ​​타당하다고 생각합니다. 는 무기 한일 수 있지만 여전히 음의 고유 값을 가져서는 안됩니다. 그래도 σ 2 i 중 최소값이 반전 알고리즘에서 수치 오류와 비교할 때 문제가 발생합니다 . 이 경우 SVD를 B B ' 에 적용 하고 실제로 작은 (또는 음의) 고유 값을 제로화 한 다음 B B ' 를 재 계산 하고 D를 추가하는 방법이 있습니다 . BBσi2BBBBD
whuber

1
작은 요소 여야합니다 . q < pDIq+BD1Bq<p
JMS

답변:


3

OK, FA를하고 있기 때문에 가 전체 열 순위 qq < p 라고 가정합니다 . 그래도 몇 가지 더 자세한 정보가 필요합니다. 이것은 수치적인 문제 일 수 있습니다. 데이터에 문제가있을 수도 있습니다.Bqq<p

역을 어떻게 계산합니까? 역을 명시 적으로 필요로합니까, 아니면 선형 시스템에 대한 솔루션으로 계산을 다시 표현할 수 있습니까? (즉 얻을 해결 X = B 보다 빠르고 안정적 전형적 X 용)A1bAx=b

무슨 일이 ? 추정치가 실제로 작은 / 0 / 음수입니까? 어떤 의미에서 B B ' 는 물론 순위가 부족하고 D 를 추가하기 전에 단일 공분산 행렬을 정의 하므로 중요한 링크 이므로 반전시킬 수 없습니다. 양의 대각 행렬 D를 기술적 으로 추가하면 전체 순위가 만들어 지지만 D 가 작 으면 B B ' + D 는 여전히 심하게 조절되지 않을 수 있습니다 .DBBDDBB+DD

종종 특유의 분산 (귀하의 , D 의 대각선 요소)에 대한 추정치 는 거의 0이거나 심지어 음수입니다. 이를 Heywood 사례라고합니다. 예를 들어 http://www.technion.ac.il/docs/sas/stat/chap26/sect21.htm을 참조 하십시오 (FA 텍스트는이 문제에 대해서도 논의해야합니다. 매우 오래되고 잘 알려진 문제입니다). 이는 모델의 잘못된 사양, 특이 치, 불운, 태양 플레어로 인해 발생할 수 있습니다. MLE는 특히이 문제가 발생하기 쉬우므로 EM 알고리즘이 MLE를 알아볼 수 있도록 설계된 경우입니다.σi2D

EM 알고리즘이 이러한 추정치가있는 모드에 접근하는 경우 가 양의 유한성을 잃을 수 있습니다. 다양한 솔루션이 있습니다. 개인적으로 나는 베이지안 접근법을 선호하지만 이전에도 조심해야합니다 (0에 가까우면 너무 많은 질량을 가진 부적절한 사전 또는 적절한 사전은 기본적으로 같은 이유로 같은 문제가 발생할 수 있습니다)BB+D


알고리즘의 주요 부분에서 실제로 행렬을 반전시키고 싶지는 않습니다. 그러나 표준 견적을 얻으려면 맨 끝에 있어야 할 수도 있습니다. 이 블로그 게시물보기 johndcook.com/blog/2010/01/19/dont-invert-that-matrix
Samsdram

반복 횟수가 증가함에 따라 D 행렬의 값은 점점 작아지고 있습니다. 아마 이것이 지적한 문제 일 것입니다.
Andy Amos

1
BBDσi2qBiq2σi2
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.