Wie kann man eine positive Matrix eindeutig definieren?


10

Ich versuche, einen EM-Algorithmus für das folgende Faktoranalysemodell zu implementieren.

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

wobei ein p-dimensionaler Zufallsvektor ist, a j ein q-dimensionaler Vektor latenter Variablen ist und B eine pxq-Matrix von Parametern ist.WjajB

Aufgrund anderer für das Modell verwendeter Annahmen weiß ich, dass wobei D die Varianz-Kovarianzmatrix der Fehlerterme e j , D = diag ( σ 2 1 , σ 2 ist 2 , ..., σ 2 p ).WjN(μ,BB+D)DejDσ12σ22σp2

Für den EM - Algorithmus zu arbeiten, mache ich Kuppel Iterationen die Schätzung von und D Matrizen und während dieser Iterationen mir Berechnung die Inverse von B B ' + D bei jeder Iteration neue Schätzungen der Verwendung von B und D . Leider verliert B B ' + D im Verlauf der Iterationen seine positive Bestimmtheit (dies sollte jedoch nicht der Fall sein, da es sich um eine Varianz-Kovarianz-Matrix handelt), und diese Situation ruiniert die Konvergenz des Algorithmus. Meine Fragen sind:BDBB+DBDBB+D

  1. Zeigt diese Situation, dass mit meinem Algorithmus etwas nicht stimmt, da die Wahrscheinlichkeit mit jedem Schritt der EM zunehmen sollte?

  2. Was sind die praktischen Möglichkeiten, um eine Matrix positiv zu definieren?

Bearbeiten: Ich berechne die Inverse mit einem Matrix-Inversions-Lemma, das besagt:

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

wobei die rechte Seite nur die Inversen von Matrizen beinhaltet.q×q


1
Es könnte helfen, besser zu verstehen, wie seine positive Bestimmtheit "verliert". Dies impliziert, dass entweder B B ' oder D (oder beide) nicht positiv definit werden. Dies ist schwierig, wenn B B ' direkt aus B berechnet wird, und noch schwieriger, wenn D als Diagonalmatrix mit Quadraten auf der Diagonale berechnet wird! BB+DBBDBBBD
whuber

@whuber Typischerweise in FA , also ist B B ' niemals positiv definitiv. Aber (theoretisch) sollte B B ' + D sein, vorausgesetzt, dass die σ 2 j ' s alle größer als Null sind. q<pBBBB+Dσj2
JMS

Dies hängt mit dieser Frage zusammen: stats.stackexchange.com/questions/6364/…
Gilead

1
@JMS Danke. Ich denke, mein Kommentar ist immer noch relevant: kann unbestimmt sein, sollte aber immer noch keine negativen Eigenwerte haben. Probleme treten jedoch auf, wenn das kleinste von σ 2 i mit einem numerischen Fehler im Inversionsalgorithmus vergleichbar ist. Wenn dies der Fall ist, besteht eine Lösung darin, SVD auf B B ' anzuwenden und die wirklich kleinen (oder negativen) Eigenwerte auf Null zu setzen, dann B B ' neu zu berechnen und D zu addieren . BBσi2BBBBD
whuber

1
DIq+BD1Bq<p

Antworten:


3

Bqq<p

A1bAx=b

DBBDDBB+DD

σi2D

BB+D


Lassen Sie mich zweitens sagen, dass Sie im Hauptteil der Algorithmen niemals eine Matrix invertieren möchten. Möglicherweise müssen Sie ganz am Ende die Standardschätzungen abrufen. Siehe diesen Blog-Beitrag johndcook.com/blog/2010/01/19/dont-invert-that-matrix
Samsdram

Die Werte der D-Matrix werden mit zunehmender Anzahl von Iterationen kleiner. Vielleicht ist dies das Problem, wie Sie betont haben.
Andy Amos

1
BBDσi2qBiq2σi2
JMS
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.