ลูกศรใน PCA biplot หมายถึงอะไร


14

พิจารณา PCA biplot ต่อไปนี้:

library(mvtnorm)
set.seed(1)
x  <- rmvnorm(2000, rep(0, 6), diag(c(5, rep(1,5))))
x  <- scale(x, center=T, scale=F)
pc <- princomp(x)
biplot(pc)

ป้อนคำอธิบายรูปภาพที่นี่

มีลูกศรสีแดงจำนวนหนึ่งพล็อตพวกมันหมายถึงอะไร ฉันรู้ว่าลูกศรแรกที่มีป้ายกำกับ "Var1" ควรชี้ทิศทางที่แตกต่างกันมากที่สุดของชุดข้อมูล (ถ้าเราคิดว่ามันเป็นจุดข้อมูล 2,000 จุดแต่ละอันเป็นเวกเตอร์ขนาด 6) ฉันอ่านจากที่อื่นทิศทางที่แตกต่างกันมากที่สุดควรเป็นทิศทางของเวกเตอร์ไอเกนลำดับที่ 1

อย่างไรก็ตามการอ่านรหัส biplot ใน R บรรทัดเกี่ยวกับลูกศรคือ:

if(var.axes)
    arrows(0, 0, y[,1L] * 0.8, y[,2L] * 0.8, col = col[2L], 

yเมทริกการโหลดอยู่ที่ไหน, ซึ่งก็คือเมทริกซ์ไอเกนเวกเตอร์ ดังนั้นดูเหมือนว่าลูกศรที่ 1 ที่เป็นจริงชี้จากการ(0, 0) (y[1, 1], y[1, 2])ฉันเข้าใจว่าเรากำลังพยายามพล็อตลูกศรมิติสูงลงบนระนาบ 2D นั่นเป็นเหตุผลที่เรากำลังนำองค์ประกอบที่ 1 และ 2 ของy[1, ]เวกเตอร์ อย่างไรก็ตามสิ่งที่ฉันไม่เข้าใจคือ:

ไม่ควรทิศทางวิคเตอร์ 1 เป็นเวกเตอร์แสดงโดยy[, 1]แทนy[1, ]? (อีกครั้งนี่yคือเมทริกซ์ eigenvector ที่ได้จาก PCA หรือโดย eigendecomposition ของt(x) %*% x.) นั่นคือ eigenvector ควรเป็นเวกเตอร์คอลัมน์ไม่ใช่เวกเตอร์แนวนอนเหล่านั้น

แม้ว่าเราจะพล็อตมันบนระนาบ 2 มิติเราควรวาดทิศทางที่ 1 ให้(0, 0)ชี้ไปที่(y[1, 1], y[2, 1])?


2
นอกจากนี้ยังพิจารณาพยายามที่จะใช้การจัดรูปแบบที่สามารถใช้ได้กับคำถามเกี่ยวกับเว็บไซต์ให้ดูที่ความช่วยเหลือ markdown ขั้นสูง ฉันไม่เห็นคำถามก่อนหน้าของคุณไม่มีคำตอบและหากคุณแก้ไขให้อ่านง่ายขึ้นเล็กน้อยพวกเขาจะชนไปด้านบนของรายการและอาจดึงดูดคำตอบ
Andy W

@Andy W การอ้างอิงที่ดีเยี่ยม
conjugateprior

@Andy W: หลังจากอ่านการอ้างอิงที่ยอดเยี่ยมของคุณฉันยังคิดว่ารหัส R biplot.princomp มีข้อผิดพลาด: เมทริกซ์การโหลด (เมทริกซ์ eigenvector) ควรจะถูกย้ายก่อนที่จะถูกส่งไปยัง biplot.princomp ... ความคิดใด?
Luna

ดูเหมือนว่ามีข้อผิดพลาดใด
chl

@Andy W: คุณต้องการที่จะใส่ความคิดเห็นของคุณเป็น "คำตอบ" เพื่อให้ฉันสามารถยอมรับคำตอบของคุณ? มันเยี่ยมมาก! ขอบคุณมาก!
Luna

คำตอบ:


9

ดูเหมือนว่า Kevin Wright ควรได้รับเครดิตส่วนใหญ่เพื่อพยายามอธิบายความสับสน (จากรายชื่ออีเมล R-help )

ลูกศรไม่ได้ชี้ไปในทิศทางที่แตกต่างกันมากที่สุดของข้อมูล ส่วนประกอบหลักชี้ไปในทิศทางที่แตกต่างกันมากที่สุดของข้อมูล แต่คุณไม่ได้วางแผนข้อมูลในระดับเดิมคุณกำลังวางแผนข้อมูลในระดับที่หมุนแล้วดังนั้นแกนนอนเป็นทิศทางที่แตกต่างกันมากที่สุดของข้อมูล

ลูกศรชี้ไปในทิศทางของตัวแปรตามที่คาดการณ์ไว้ในระนาบ 2-d ของ biplot

ไม่มีข้อผิดพลาด

เควินไรท์

Michael Greenacre มีหนังสือออนไลน์ฟรีที่ยอดเยี่ยมมากเกี่ยวกับ biplots, Biplots ในทางปฏิบัติและการอ่านบทแรกจะช่วยกระตุ้นให้พิกัดของลูกศรถูกนำมาจาก นอกจากนี้ยังมีคำถามอื่น ๆ อีกมากมายบนไซต์ที่คล้ายกันและคุณอาจสนใจดูการตีความ biplots ในการวิเคราะห์องค์ประกอบหลักใน Rและการตีความของพล็อตปัจจัย MDSสำหรับสองตัวอย่าง ดูคำถามที่มีbiplot ในการค้นหาบนเว็บไซต์เนื่องจากมีความสนใจที่อาจเกิดขึ้นอีกเล็กน้อย (ดูเหมือนว่าการสร้างแท็ก biplot จะมีประโยชน์ ณ จุดนี้เนื่องจากจำนวนคำถามที่เกิดขึ้น)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.