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= ATMột
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 .MộtCMộtMộtTMột
A = Q R
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.