Tôi đoán câu trả lời là có, nhưng tôi vẫn cảm thấy có gì đó không đúng. Cần có một số kết quả chung trong tài liệu, bất cứ ai có thể giúp tôi?
Tôi đoán câu trả lời là có, nhưng tôi vẫn cảm thấy có gì đó không đúng. Cần có một số kết quả chung trong tài liệu, bất cứ ai có thể giúp tôi?
Câu trả lời:
Không.
Hãy xem xét ba biến, , Y và Z = X + Y . Ma trận hiệp phương sai của họ, M , không phải là tích cực nhất định, kể từ khi có một vector z ( = ( 1 , 1 , - 1 ) ' ) mà z ' M z là không tích cực.
Ma trận hiệp phương sai dân số là bán xác định dương.
(Xem tài sản 2 tại đây .)
Điều tương tự thường áp dụng cho ma trận hiệp phương sai của các mẫu hoàn chỉnh (không có giá trị thiếu), vì chúng cũng có thể được xem như là một dạng hiệp phương sai dân số rời rạc.
Tuy nhiên do tính không chính xác của các phép tính số dấu phẩy động, ngay cả các trường hợp xác định dương tính đại số đôi khi có thể được tính là không bán xác định dương; sự lựa chọn tốt của các thuật toán có thể giúp với điều này.
Tổng quát hơn, ma trận hiệp phương sai mẫu - tùy thuộc vào cách chúng xử lý các giá trị bị thiếu trong một số biến - có thể hoặc không thể là bán xác định dương, ngay cả trong lý thuyết. Ví dụ, nếu xóa cặp được sử dụng, thì không có gì đảm bảo tính bán chính xác dương. Hơn nữa, lỗi số tích lũy có thể gây ra ma trận hiệp phương sai mẫu nên không xác định bán cực dương là không xác định.
Thích như vậy:
x <- rnorm(30)
y <- rnorm(30) - x/10 # it doesn't matter for this if x and y are correlated or not
z <- x+y
M <- cov(data.frame(x=x,y=y,z=z))
z <- rbind(1,1,-1)
t(z)%*%M%*%z
[,1]
[1,] -1.110223e-16
Điều này đã xảy ra với ví dụ đầu tiên tôi đã thử (có lẽ tôi nên cung cấp một hạt giống nhưng nó không quá hiếm đến nỗi bạn phải thử rất nhiều ví dụ trước khi bạn có được một hạt giống).
Kết quả đưa ra âm tính , mặc dù nó phải bằng đại số. Một bộ số khác nhau có thể mang lại số dương hoặc số "chính xác".
-
Ví dụ về sự thiếu hụt vừa phải dẫn đến mất tính bán chính xác dương thông qua việc xóa cặp:
z <- x + y + rnorm(30)/50 # same x and y as before.
xyz1 <- data.frame(x=x,y=y,z=z) # high correlation but definitely of full rank
xyz1$x[sample(1:30,5)] <- NA # make 5 x's missing
xyz1$y[sample(1:30,5)] <- NA # make 5 y's missing
xyz1$z[sample(1:30,5)] <- NA # make 5 z's missing
cov(xyz1,use="pairwise") # the individual pairwise covars are fine ...
x y z
x 1.2107760 -0.2552947 1.255868
y -0.2552947 1.2728156 1.037446
z 1.2558683 1.0374456 2.367978
chol(cov(xyz1,use="pairwise")) # ... but leave the matrix not positive semi-definite
Error in chol.default(cov(xyz1, use = "pairwise")) :
the leading minor of order 3 is not positive definite
chol(cov(xyz1,use="complete")) # but deleting even more rows leaves it PSD
x y z
x 0.8760209 -0.2253484 0.64303448
y 0.0000000 1.1088741 1.11270078
z 0.0000000 0.0000000 0.01345364