Nhập: vector ngẫu nhiên X = xi, i = 1..n.
vectơ phương tiện cho X = meanxi, i = 1..n
Kết quả: ma trận hiệp phương sai Sigma (n * n).
Tính toán:
1) tìm tất cả cov (xi, xj) = 1/n * (xi-meanxi) * (xj-meanxj), i, j = 1..n
2) Sigma (i, j) = cov (xi, xj), ma trận đối xứng.
Thuật toán này có đúng và không có tác dụng phụ không?
Tính toán ma trận hiệp phương sai
8
A
Trả lời
4
Mỗi xi
phải là một vectơ (biến ngẫu nhiên) với phương sai và giá trị trung bình riêng của nó.
Ma trận hiệp phương sai là đối xứng, vì vậy bạn chỉ cần tính một nửa số đó (và sao chép phần còn lại) và có phương sai của xi ở đường chéo chính.
S = ...// your symmetric matrix n*n
for(int i=0; i<n;i++)
S(i,i) = var(xi);
for(j = i+1; j<n; j++)
S(i,j) = cov(xi, xj);
S(j,i) = S(i,j);
end
end
nơi phương sai (var) của xi:
v = 0;
for(int i = 0; i<xi.Count; i++)
v += (xi(i) - mean(xi))^2;
end
v = v/xi.Count;
và hiệp phương sai (cov)
cov(xi, xj) = r(xi,xj) * sqrt(var(xi)) * sqrt(var(xj))
nơi r(xi, xj)
là Pearson product-moment correlation coefficient
EDIT
hoặc, vì cov (X, Y) = E (X * Y) - E (X) * E (Y)
cov(xi, xj) = mean(xi.*xj) - mean(xi)*mean(xj);
nơi .*
là Matlab giống như nhân tố khôn ngoan.
Vì vậy, nếu x = [x1, x2]
, y = [y1, y2]
thì z = x.*y = [x1*y1, x2*y2]
;
Các vấn đề liên quan
- 1. Ma trận hiệp phương sai LARGE trong R
- 2. ICA - Độc lập thống kê và giá trị riêng của ma trận hiệp phương sai
- 3. Quyết định hiệp phương sai cho ma trận Bộ lọc Kalman
- 4. scipy.linalg.eig trả về giá trị riêng biệt phức tạp cho ma trận hiệp phương sai?
- 5. Tính hiệp phương sai với Python và Numpy
- 6. Eigen: Có một cách sẵn có để tính toán mẫu hiệp phương sai
- 7. Hiểu rõ ma trận tính toán
- 8. NET Hiệp phương sai
- 9. R, ma trận lọc dựa trên phương sai cắt
- 10. hiệp phương sai trong C#
- 11. generics java hiệp phương sai
- 12. Làm thế nào để sử dụng hàm princomp() trong R khi ma trận hiệp phương sai có số không?
- 13. Tính toán không gian trống của ma trận
- 14. Làm cách nào để tính phương sai của cột của ma trận thưa thớt trong Scipy?
- 15. Thuật toán ma trận skew
- 16. Tăng tốc độ tính toán ma trận ngẫu nhiên
- 17. Tính toán yếu tố quyết định ma trận
- 18. Delegate Hiệp phương sai lầm Confusion!
- 19. det của ma trận trả về 0 trong MATLAB
- 20. Câu hỏi về C# hiệp phương sai
- 21. đại biểu hiệp phương sai và Contavariance
- 22. Hiệp phương sai chung và đối nghịch
- 23. Thuật toán cho phép nhân ma trận dạng bậc hai với ma trận thô
- 24. Cách tính góc từ ma trận xoay
- 25. Trong Scipy làm thế nào và tại sao curve_fit tính hiệp phương sai của các ước tính tham số
- 26. Phép toán Boolean trên ma trận scipy.sparse
- 27. Tính ma trận chuyển đổi 2D từ ma trận 2D ban đầu và kết quả
- 28. SVG ma trận phân hủy
- 29. Sai số tương đối giữa hai ma trận
- 30. Ma trận của Ma trận trong Perl
Tuyên bố vấn đề không rõ ràng. Bạn có thực sự có một vector duy nhất làm đầu vào không? Tất cả xi có cùng giá trị không? Tại sao bạn sẽ chia cho (n-1) khi tính giá trị trung bình? – Henrik
Về lý thuyết tôi có rất nhiều (X thực sự là một số quá trình X (t)) trong đó t là [0..k], nhưng trong quá trình tạo mô hình, tôi chỉ quan tâm đến trường hợp k = kmax, đó là lý do tại sao tôi nhận được một vector X (kmax) = X bao gồm số r. n-1 là hiệu chỉnh, không ảnh hưởng nhiều. Về phương tiện - chúng khác nhau như tôi thấy bây giờ. – Singularity
Tôi đang bỏ phiếu để đóng câu hỏi này là chủ đề không chính vì đây là câu hỏi xác minh toán học, không phải là câu hỏi lập trình trong phạm vi của [trợ giúp]. – TylerH