Eine Cholesky-Faktorisierung ist für die beste Stabilität und Geschwindigkeit am sinnvollsten, wenn Sie mit einer Kovarianzmatrix arbeiten, da die Kovarianzmatrix eine positive semi-definite symmetrische Matrix ist. Cholesky ist hier selbstverständlich. ABER...
Wenn Sie beabsichtigen, eine Cholesky-Faktorisierung zu berechnen, bevor Sie jemals die Kovarianzmatrix berechnen, tun Sie sich selbst einen Gefallen. Machen Sie das Problem maximal stabil, indem Sie eine QR-Faktorisierung Ihrer Matrix berechnen. (Ein QR ist auch schnell.) Das heißt, wenn Sie die Kovarianzmatrix als berechnen würden
C=ATA
wo die Spaltenmittel entfernt hatte, dann sehen , dass , wenn Sie bilden C , es Quadrate die Konditionszahl. Es ist also besser, die QR-Faktoren von A zu bilden, als explizit eine Cholesky-Faktorisierung von A T A zu berechnen .ACEINEINTEIN
A = Q R
Da Q orthogonal ist,
C= ( Q R )TQ R= RTQ.TQ R= RTichR= RTR
So erhalten wir den Cholesky - Faktor direkt von der QR - Faktorisierung, in Form von . Wenn eine Q- freie QR-Faktorisierung verfügbar ist, ist dies sogar noch besser, da Sie Q nicht benötigen . Ein QR ohne Q ist schnell zu berechnen, da Q nie generiert wird. Es wird nur eine Folge von Verwandlungen der Hausbesitzer. (Eine Säule drehte sich, QRTQ.Q.Q.Q.Q. -less QR, wäre logischerweise noch stabiler, was zusätzliche Arbeit bei der Auswahl der Pivots kostet.)
Die große Tugend der Verwendung des QR hier ist, dass er bei unangenehmen Problemen hoch numerisch stabil ist. Dies liegt wiederum daran, dass wir die Kovarianzmatrix nie direkt bilden mussten, um den Cholesky-Faktor zu berechnen. Sobald Sie das Produkt EINTEIN , quadrieren Sie die Bedingungsnummer der Matrix. Tatsächlich verlieren Sie Informationen in den Teilen dieser Matrix, in denen Sie ursprünglich nur sehr wenige Informationen hatten.
Schließlich müssen Sie, wie eine andere Antwort hervorhebt, nicht einmal die Inverse berechnen und speichern, sondern sie implizit in Form von Backsolves auf Dreieckssystemen verwenden.