ฉันเดาว่าคำตอบควรเป็นใช่ แต่ฉันยังรู้สึกว่าบางสิ่งไม่ถูกต้อง ควรมีผลลัพธ์ทั่วไปในวรรณคดีมีใครช่วยฉันบ้าง
ฉันเดาว่าคำตอบควรเป็นใช่ แต่ฉันยังรู้สึกว่าบางสิ่งไม่ถูกต้อง ควรมีผลลัพธ์ทั่วไปในวรรณคดีมีใครช่วยฉันบ้าง
คำตอบ:
เลขที่
พิจารณาสามตัวแปร, , YและZ = X + Y เมทริกซ์ความแปรปรวนร่วมของพวกเขา, , ไม่ใช่บวกแน่นอนเนื่องจากมีเวกเตอร์ ( ) ซึ่งมีค่าไม่เป็นบวกz = ( 1 , 1 , - 1 ) ′ z ′ M z
เมทริกซ์ความแปรปรวนร่วมของประชากรเป็นแบบกึ่งบวกแน่นอน
(ดูทรัพย์สิน 2 ที่นี่ )
โดยทั่วไปควรนำไปใช้กับเมทริกซ์ความแปรปรวนร่วมของตัวอย่างที่สมบูรณ์ (ไม่มีค่าที่หายไป) เนื่องจากพวกมันสามารถถูกมองว่าเป็นรูปแบบของความแปรปรวนร่วมแบบไม่ต่อเนื่องของประชากร
อย่างไรก็ตามเนื่องจากความไม่แน่นอนของการคำนวณเชิงตัวเลขจุดลอยตัวแม้แต่กรณีที่แน่นอนเชิงบวกเชิงพีชคณิตอาจคำนวณได้เป็นครั้งคราวเพื่อไม่ให้เป็นกึ่งบวกแน่นอน ทางเลือกที่ดีของอัลกอริทึมสามารถช่วยได้
โดยทั่วไปตัวอย่างการแปรปรวนร่วมแปรปรวน - ขึ้นอยู่กับวิธีที่พวกเขาจัดการกับค่าที่หายไปในตัวแปรบางตัว - อาจจะใช่หรือไม่ใช่บวกกึ่งแน่นอนแม้ในทางทฤษฎี ตัวอย่างเช่นหากใช้การลบแบบคู่จำนวนมากจะไม่มีการรับประกันความแน่นอนกึ่งบวก นอกจากนี้ข้อผิดพลาดที่เป็นตัวเลขที่สะสมอาจทำให้เกิดเมทริกซ์ความแปรปรวนร่วมตัวอย่างที่ควรเป็นบวกกึ่งแน่นอนที่ไม่เห็นด้วยที่จะไม่เป็น
ชอบมาก
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
สิ่งนี้เกิดขึ้นในตัวอย่างแรกที่ฉันลอง (ฉันน่าจะให้เมล็ด แต่มันไม่ค่อยหายากที่คุณควรลองหลายตัวอย่างก่อนที่จะได้)
ผลลัพธ์ออกมาเป็นลบแม้ว่ามันควรจะเป็นศูนย์พีชคณิต ชุดของตัวเลขที่แตกต่างกันอาจให้ผลเป็นบวกหรือเป็นศูนย์ "แน่นอน"
-
ตัวอย่างของการหายไปปานกลางที่นำไปสู่การสูญเสีย semidefiniteness บวกผ่านการลบแบบคู่:
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