"การเรียนรู้ของเครื่องสำหรับแฮ็กเกอร์" ของ O'Reilly กล่าวว่าองค์ประกอบหลักแต่ละรายการแสดงถึงเปอร์เซ็นต์ของความแปรปรวน ฉันได้อ้างอิงส่วนที่เกี่ยวข้องของหน้าด้านล่าง (บทที่ 8, p.207) เมื่อพูดกับผู้เชี่ยวชาญคนอื่นพวกเขาตกลงกันว่าเป็นเปอร์เซ็นต์
อย่างไรก็ตาม 24 องค์ประกอบรวมถึง 133.2095% นั่นเป็นอย่างไร
เมื่อเราเชื่อมั่นว่าเราสามารถใช้ PCA ได้เราจะทำเช่นนั้นใน R อย่างไร อีกครั้งนี้เป็นสถานที่ที่ R ส่อง: PCA ทั้งหมดสามารถทำได้ในหนึ่งบรรทัดของรหัส เราใช้ฟังก์ชัน princomp เพื่อเรียกใช้ PCA:
pca <- princomp(date.stock.matrix[,2:ncol(date.stock.matrix)])
หากเราเพียงพิมพ์ pca ลงใน R เราจะเห็นข้อมูลสรุปอย่างย่อขององค์ประกอบหลัก:
Call: princomp(x = date.stock.matrix[, 2:ncol(date.stock.matrix)]) Standard deviations: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 29.1001249 20.4403404 12.6726924 11.4636450 8.4963820 8.1969345 5.5438308 Comp.8 Comp.9 Comp.10 Comp.11 Comp.12 Comp.13 Comp.14 5.1300931 4.7786752 4.2575099 3.3050931 2.6197715 2.4986181 2.1746125 Comp.15 Comp.16 Comp.17 Comp.18 Comp.19 Comp.20 Comp.21 1.9469475 1.8706240 1.6984043 1.6344116 1.2327471 1.1280913 0.9877634 Comp.22 Comp.23 Comp.24 0.8583681 0.7390626 0.4347983 24 variables and 2366 observations.
ในการสรุปนี้ค่าเบี่ยงเบนมาตรฐานจะบอกเราว่าความแปรปรวนในชุดข้อมูลนั้นมีสัดส่วนเท่าใดโดยองค์ประกอบหลักที่แตกต่างกัน องค์ประกอบแรกที่เรียกว่า Comp.1 คิดเป็น 29% ของความแปรปรวนขณะที่องค์ประกอบถัดไปมีสัดส่วน 20% ในตอนท้ายส่วนประกอบสุดท้าย Comp.24 มีสัดส่วนน้อยกว่า 1% ของความแปรปรวน สิ่งนี้ชี้ให้เห็นว่าเราสามารถเรียนรู้มากมายเกี่ยวกับข้อมูลของเราโดยเพียงแค่ดูองค์ประกอบหลักแรก
[รหัสและข้อมูลสามารถพบได้ใน GitHub ]
R
ตัวซอฟต์แวร์เอง การค้นหาข้อผิดพลาดนั้นเป็นสิ่งที่ดี (ฉันหวังว่าคุณจะพบว่ามันเป็นรางวัลที่จะได้รู้ว่าเกิดอะไรขึ้นกับ PCA)!
Standard deviations
ปิดเล็กน้อย เนื่องจากค่าเบี่ยงเบนมาตรฐานเป็นความเบี่ยงเบนมาตรฐานจริงเราต้องยกกำลังสองเพื่อดูว่าความแปรปรวนแต่ละองค์ประกอบแสดงให้เห็นเท่าใด องค์ประกอบแรกจะแสดงเปอร์เซ็นต์ของความแปรปรวนทั้งหมด