Xử lý nghịch đảo của ma trận đối xứng xác định (hiệp phương sai) xác định dương?


27

Trong thống kê và các ứng dụng khác nhau của nó, chúng tôi thường tính toán ma trận hiệp phương sai , xác định dương (trong các trường hợp được xem xét) và đối xứng, cho các mục đích sử dụng khác nhau. Đôi khi, chúng ta cần nghịch đảo của ma trận này cho các tính toán khác nhau (dạng bậc hai với nghịch đảo này là ma trận trung tâm (chỉ) chẳng hạn). Với các phẩm chất của ma trận này và mục đích sử dụng, tôi tự hỏi:

Điều gì là tốt nhất, về mặt ổn định số, cách đi về điện toán hoặc sử dụng (giả sử đối với các dạng bậc hai hoặc phép nhân vectơ ma trận nói chung) nghịch đảo này? Một số yếu tố có thể có ích?

Câu trả lời:


14

Hệ số Cholesky dẫn đến hệ số nhân giống Cholesky của nghịch đảo C - 1 = S S T với ma trận tam giác trên S = R - 1 .C=RTRC1=SSTS=R1

Trong thực tế, tốt nhất là giữ cho các yếu tố nghịch đảo. Nếu thưa thớt thì việc giữ S ẩn sẽ tốt hơn , vì các sản phẩm vectơ ma trận y = C - 1 x có thể được tính bằng cách giải hai hệ tam giác R T z = xR y = z .RSy=C1xRTz=xRy=z


25

Hệ số Cholesky có ý nghĩa nhất đối với độ ổn định và tốc độ tốt nhất khi bạn làm việc với ma trận hiệp phương sai, vì ma trận hiệp phương sai sẽ là ma trận đối xứng bán xác định dương. Cholesky là một tự nhiên ở đây. NHƯNG...

NẾU bạn có ý định tính toán hệ số Cholesky, trước khi bạn tính toán ma trận hiệp phương sai, hãy tự mình làm một việc. Làm cho vấn đề ổn định tối đa bằng cách tính toán hệ số QR của ma trận của bạn. (QR cũng nhanh.) Đó là, nếu bạn tính toán ma trận hiệp phương sai như

C=ATA

Trong đó đã có cột có nghĩa là loại bỏ, sau đó thấy rằng khi bạn tạo C , nó bình phương số điều kiện. Vì vậy, tốt hơn là để hình thành những yếu tố QR của A chứ không phải tính toán một cách rõ ràng thừa số Cholesky của A T A .ACAATA

A=QR

Vì Q là trực giao,

C=(QR)TQR=RTQTQR=RTIR=RTR

Do đó chúng tôi nhận được yếu tố Cholesky trực tiếp từ Phân tích nhân QR, dưới hình thức của . Nếu một Q -less QR thừa số có sẵn, điều này thậm chí còn tốt hơn vì bạn không cần Q . Một Q -less QR là để tính toán một điều nhanh chóng, vì Q không bao giờ được tạo ra. Nó trở thành chỉ là một chuỗi các chuyển đổi Householder. (Một cột được xoay vòng, QR Q -less sẽ hợp lý hơn nữa, với chi phí của một số công việc bổ sung để chọn các trụ.)RTQQQQQ

Ưu điểm tuyệt vời của việc sử dụng QR ở đây là nó rất ổn định về số lượng đối với các vấn đề khó chịu. Một lần nữa, điều này là do chúng ta không bao giờ phải trực tiếp hình thành ma trận hiệp phương sai để tính toán yếu tố Cholesky. Ngay khi bạn tạo thành sản phẩm , bạn bình phương số điều kiện của ma trận. Thực tế, bạn mất thông tin trong các phần của ma trận mà ban đầu bạn có rất ít thông tin để bắt đầu.ATA

Cuối cùng, như một phản hồi khác chỉ ra, bạn thậm chí không cần phải tính toán và lưu trữ nghịch đảo chút nào, mà hãy sử dụng nó dưới dạng backsolves trên các hệ thống tam giác.


5
Và nếu bạn cần phải đánh giá một hình thức bậc hai dựa trên , sau đó bạn có thể làm điều này ổn định bằng cách tính x , C - 1 x = x , ( R T R ) - 1 x = R - T x 2 , tức là làm một thay về phía trước và lấy chuẩn mực. C1x,C1x=x,(RTR)1x=RTx2
Christian Clason

3

Tôi đã làm điều này lần đầu tiên gần đây, bằng cách sử dụng các đề xuất từ ​​mathSE.

Tôi nghĩ rằng SVD được khuyến nghị bởi hầu hết, nhưng tôi đã chọn sự đơn giản của Cholesky:

M=AAMLM=LLLL1M1=(LL)1=LL1


Bắt đầu với:

, nơi M được biết đến và là ngầm đối xứng và cũng là dương-định.M=AAM

Yếu tố cholesky:

LMLL , trong đó là hình vuông và không đơnL

Sự thay thế sau:

LLL1 , có lẽ là cách nhanh nhất để đảo ngược (đừng trích dẫn tôi về điều đó)L

Phép nhân:

M1=(LL)1=LL1

LL1


Thuật toán Cholesky của tôi (có thể từ Công thức số hoặc Wikipedia)

Lij=MijMiMjMiiMiMi

Điều này gần như có thể được thực hiện tại chỗ (bạn chỉ cần lưu trữ tạm thời cho các phần tử đường chéo, bộ tích lũy và một số trình lặp số nguyên).


Thuật toán thay thế ngược của tôi (từ Công thức số, kiểm tra phiên bản của chúng vì tôi có thể đã mắc lỗi với đánh dấu LaTeX)

(L1)ij={1/Liiif i=j(Li(LT)j)/Liiotherwise

LT


2

Nếu bạn biết rằng ma trận có nghịch đảo (nghĩa là nếu nó thực sự xác định dương) và nếu nó không quá lớn, thì phép phân tách Cholesky đưa ra một phương tiện thích hợp để mô tả nghịch đảo của ma trận.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.