ทำความเข้าใจกับการวิเคราะห์องค์ประกอบหลัก, ค่าเฉพาะและค่าลักษณะเฉพาะ


976

ในชั้นเรียนรู้รูปแบบวันนี้อาจารย์ของฉันพูดคุยเกี่ยวกับ PCA, eigenvectors และค่าลักษณะเฉพาะ

ฉันเข้าใจคณิตศาสตร์ของมัน ถ้าฉันถูกขอให้หาค่าลักษณะเฉพาะ ฯลฯ ฉันจะทำอย่างถูกต้องเหมือนเครื่อง แต่ผมไม่เข้าใจมัน ฉันไม่ได้รับวัตถุประสงค์ของมัน ฉันไม่ได้รับความรู้สึกของมัน

ฉันเชื่อมั่นในคำพูดต่อไปนี้:

คุณไม่เข้าใจอะไรจริงๆเว้นแต่คุณจะอธิบายให้คุณยายฟัง -- Albert Einstein

ฉันไม่สามารถอธิบายแนวคิดเหล่านี้กับคนธรรมดาหรือยายได้

  1. ทำไมต้องเลือก PCA, eigenvectors & eigenvalues อะไรคือสิ่งที่จำเป็นสำหรับแนวคิดเหล่านี้
  2. คุณจะอธิบายเรื่องนี้กับคนธรรมดาได้อย่างไร?

95
คำถามที่ดี. ฉันเห็นด้วยกับคำพูดเช่นกัน ฉันเชื่อว่ามีคนจำนวนมากในสถิติและคณิตศาสตร์ที่มีความฉลาดสูงและสามารถทำงานของพวกเขาได้ลึก แต่ไม่เข้าใจอย่างลึกซึ้งถึงสิ่งที่พวกเขากำลังทำอยู่ หรือพวกเขาทำ แต่ไม่สามารถอธิบายให้คนอื่นฟังได้ฉันพยายามหาคำตอบให้ที่นี่เป็นภาษาอังกฤษธรรมดาและถามคำถามที่ต้องการวางแผนคำตอบภาษาอังกฤษ
Neil McGuigan

7
สิ่งนี้ถูกถามในไซต์คณิตศาสตร์เมื่อเดือนกรกฎาคม แต่ก็ไม่ได้เช่นกันและมันก็ไม่ได้คำตอบมากมาย (ไม่น่าแปลกใจเนื่องจากมีจุดเน้นที่ต่างกัน) math.stackexchange.com/questions/1146/…
whuber

6
คล้ายกับคำอธิบายโดย Zuur et al ในการวิเคราะห์ข้อมูลทางนิเวศวิทยาที่พวกเขาพูดถึงการฉายมือของคุณบนเครื่องฉายแผ่นใส คุณหมุนมือของคุณเพื่อให้การฉายภาพบนผนังดูคล้ายกับสิ่งที่คุณคิดว่ามือควรมีลักษณะ
Roman Luštrik

12
คำถามนี้นำฉันไปสู่บทความที่ดีและแม้ว่าฉันคิดว่านั่นเป็นคำพูดที่ยอดเยี่ยมไม่ใช่จาก Einstein นี่เป็นความผิดพลาดร่วมกันและข้อความที่เป็นไปได้มากกว่าเดิมน่าจะเป็นสิ่งนี้จากเออร์เนสต์รัทเธอร์ฟอร์ดผู้กล่าวว่า "ถ้าคุณไม่สามารถอธิบายฟิสิกส์ของคุณกับบาร์ได้ ขอบคุณเหมือนกันทั้งหมดสำหรับการเริ่มหัวข้อนี้
gavaletz

23
Alice Calaprice, Einstein ที่สามารถอ้างอิงได้ที่สุด , Princeton UP 2011 ทำเครื่องหมายใบเสนอราคาที่นี่เป็นหนึ่งในหลาย ๆ ดูหน้า 482
Nick Cox

คำตอบ:


1293

ลองนึกภาพอาหารค่ำครอบครัวใหญ่ที่ทุกคนเริ่มถามคุณเกี่ยวกับ PCA ก่อนอื่นให้คุณอธิบายให้คุณย่าของคุณฟัง จากนั้นให้คุณยาย; จากนั้นให้แม่ของคุณ; แล้วถึงคู่สมรสของคุณ ในที่สุดลูกสาวของคุณ (ซึ่งเป็นนักคณิตศาสตร์) ทุกครั้งที่บุคคลต่อไปมีจำนวนน้อยกว่าคนธรรมดา นี่คือวิธีการสนทนาที่อาจเกิดขึ้น

คุณย่า: ฉันได้ยินมาว่าคุณกำลังเรียน "Pee-See-Ay" ฉันสงสัยว่ามันคืออะไร ...

คุณ:อามันเป็นเพียงวิธีการสรุปข้อมูลบางอย่าง ดูเรามีขวดไวน์ยืนอยู่บนโต๊ะ เราสามารถอธิบายไวน์แต่ละชนิดด้วยสีของมันด้วยความแข็งแกร่งของมันตามอายุเท่าไรและอื่น ๆ (ดูการแสดงลักษณะที่ดีของคุณสมบัติไวน์ที่นำมาจากที่นี่ ) เราสามารถเขียนรายการลักษณะต่าง ๆ ทั้งหมดของไวน์แต่ละชนิดในห้องเก็บไวน์ของเรา แต่หลายคนจะวัดคุณสมบัติที่เกี่ยวข้องและจะซ้ำซ้อน ถ้าเป็นเช่นนั้นเราควรจะสามารถสรุปแต่ละไวน์ที่มีลักษณะน้อยกว่า! นี่คือสิ่งที่ PCA ทำ

ยาย: นี่น่าสนใจ! ดังนั้นสิ่ง PCA นี้จะตรวจสอบว่ามีลักษณะใดซ้ำซ้อนและทิ้งไป?

คุณ:คำถามยอดเยี่ยมย่า! ไม่ PCA ไม่ได้เลือกคุณสมบัติบางอย่างและยกเลิกคุณสมบัติอื่น ๆ แต่มันสร้างคุณสมบัติใหม่บางอย่างที่กลายเป็นสรุปรายการไวน์ของเราได้ดี แน่นอนว่าคุณลักษณะใหม่เหล่านี้ถูกสร้างขึ้นโดยใช้สิ่งเก่า ตัวอย่างเช่นอาจมีการคำนวณคุณสมบัติใหม่เป็นอายุไวน์ลบด้วยระดับความเป็นกรดของไวน์หรือชุดค่าผสมอื่น ๆ เช่นนั้น (เราเรียกพวกเขาว่าชุดค่าผสมเชิงเส้น )

ในความเป็นจริง PCA ค้นหาคุณลักษณะที่ดีที่สุดที่เป็นไปได้ซึ่งเป็นรายการที่สรุปรายการของไวน์รวมถึงความเป็นไปได้เท่านั้น นี่คือเหตุผลที่มันมีประโยชน์มาก

Mother: อืมมันฟังดูดี แต่ฉันไม่แน่ใจว่าฉันเข้าใจ คุณหมายถึงอะไรจริง ๆ เมื่อคุณพูดว่าลักษณะ PCA ใหม่เหล่านี้ "สรุป" รายการไวน์?

คุณ:ฉันเดาว่าฉันสามารถให้คำตอบที่แตกต่างกันสองคำถามนี้ คำตอบแรกคือคุณกำลังมองหาคุณสมบัติของไวน์ (ลักษณะ) ที่แตกต่างกันอย่างมากในไวน์ ลองจินตนาการว่าคุณเกิดมาพร้อมกับทรัพย์สินที่เหมือนกันสำหรับไวน์ส่วนใหญ่ สิ่งนี้จะไม่มีประโยชน์มากใช่มั้ย ไวน์แตกต่างกันมาก แต่คุณสมบัติใหม่ของคุณทำให้เหมือนกันหมด! นี่จะเป็นการสรุปที่ไม่ดีอย่างแน่นอน แต่ PCA จะค้นหาคุณสมบัติที่แสดงความหลากหลายของไวน์มากที่สุด

คำตอบที่สองคือคุณมองหาคุณสมบัติที่จะช่วยให้คุณทำนายหรือ "สร้างใหม่" ลักษณะของไวน์ดั้งเดิม ลองจินตนาการอีกครั้งว่าคุณเกิดมาพร้อมกับคุณสมบัติที่ไม่มีความสัมพันธ์กับลักษณะดั้งเดิม ถ้าคุณใช้คุณสมบัติใหม่นี้เท่านั้นไม่มีทางที่คุณจะสามารถสร้างสิ่งใหม่ได้! นี่เป็นข้อสรุปที่ไม่ดีอีกครั้ง ดังนั้น PCA จึงมองหาคุณสมบัติที่อนุญาตให้สร้างลักษณะดั้งเดิมได้ดีที่สุด

น่าแปลกที่ปรากฎว่าเป้าหมายทั้งสองนี้เทียบเท่ากันและ PCA สามารถฆ่านกสองตัวด้วยหินก้อนเดียว

คู่สมรส: แต่ที่รักทั้งสอง "เป้าหมาย" ของเสียง PCA แตกต่างกันมาก! ทำไมพวกเขาถึงเทียบเท่ากัน

คุณ:อืม บางทีฉันควรจะทำให้การวาดภาพเล็ก ๆ น้อย ๆ(ใช้เวลาผ้าเช็ดปากและเริ่มเขียนหวัด) ให้เราเลือกสองลักษณะของไวน์บางทีความมืดของไวน์และแอลกอฮอล์ - ผมไม่รู้ว่ามันมีความสัมพันธ์กันหรือเปล่า แต่ลองจินตนาการว่ามันเป็น นี่คือสิ่งที่พล็อตกระจายของไวน์ที่แตกต่างกันอาจมีลักษณะ:

ข้อมูลที่เป็นแบบอย่าง PCA

แต่ละจุดใน "ไวน์เมฆ" นี้แสดงไวน์หนึ่งชนิดโดยเฉพาะ คุณเห็นว่าทั้งสองคุณสมบัติ ( xและyในรูปนี้) มีความสัมพันธ์ สถานที่ให้บริการใหม่สามารถสร้างได้โดยการลากเส้นผ่านจุดศูนย์กลางของกลุ่มเมฆไวน์และฉายจุดทั้งหมดลงบนเส้นนี้ คุณสมบัติใหม่นี้จะได้รับโดยการรวมกันเชิงเส้นw1x+w2yที่แต่ละบรรทัดที่สอดคล้องกับค่านิยมโดยเฉพาะอย่างยิ่งบางส่วนของw1และw2 2

ตอนนี้ดูที่นี่อย่างระมัดระวัง - นี่คือลักษณะที่การคาดการณ์เหล่านี้ดูเหมือนกับเส้นที่แตกต่างกัน (จุดสีแดงเป็นเส้นโครงของจุดสีน้ำเงิน):

ภาพเคลื่อนไหว PCA: ข้อผิดพลาดความแปรปรวนและการสร้างใหม่

อย่างที่ฉันพูดไว้ก่อนหน้านี้ PCA จะค้นหาบรรทัด "ดีที่สุด" ตามเกณฑ์ที่ต่างกันสองเกณฑ์ว่า "ดีที่สุด" คืออะไร ก่อนอื่นรูปแบบของค่าตามบรรทัดนี้ควรเป็นค่าสูงสุด ให้ความสนใจว่า "สเปรด" (เราเรียกมันว่า "ความแปรปรวน") ของจุดสีแดงเปลี่ยนไปอย่างไรขณะที่เส้นหมุน คุณเห็นไหมเมื่อมันถึงจุดสูงสุด ประการที่สองถ้าเราสร้างสองลักษณะดั้งเดิม (ตำแหน่งของจุดสีฟ้า) จากจุดใหม่ (ตำแหน่งของจุดสีแดง) ข้อผิดพลาดในการสร้างใหม่จะได้รับจากความยาวของเส้นสีแดงที่เชื่อมต่อ สังเกตว่าความยาวของเส้นสีแดงเหล่านี้เปลี่ยนแปลงอย่างไรในขณะที่เส้นหมุน คุณเห็นหรือไม่ว่าเมื่อความยาวทั้งหมดถึงขั้นต่ำ?

หากคุณจ้องมองที่ภาพเคลื่อนไหวนี้ในบางครั้งคุณจะสังเกตเห็นว่า "ความแปรปรวนสูงสุด" และ "ข้อผิดพลาดขั้นต่ำ" ในเวลาเดียวกันกล่าวคือเมื่อเส้นชี้ไปที่เครื่องหมายสีม่วงแดงที่ฉันทำเครื่องหมายไว้ที่ทั้งสองด้านของเมฆไวน์ . บรรทัดนี้สอดคล้องกับคุณสมบัติไวน์ใหม่ที่จะสร้างโดย PCA

โดยวิธีการ PCA หมายถึง "การวิเคราะห์องค์ประกอบหลัก" และคุณสมบัติใหม่นี้เรียกว่า "องค์ประกอบหลักแรก" และแทนที่จะพูดว่า "คุณสมบัติ" หรือ "คุณสมบัติ" เรามักจะพูดว่า "คุณสมบัติ" หรือ "ตัวแปร"

ลูกสาว: ดีมากพ่อ! ฉันคิดว่าฉันสามารถเห็นได้ว่าทำไมทั้งสองเป้าหมายให้ผลลัพธ์ที่เหมือนกัน: เป็นหลักเพราะทฤษฎีบทพีทาโกรัสไม่ใช่หรือ? อย่างไรก็ตามฉันได้ยินมาว่า PCA นั้นเกี่ยวข้องกับค่าลักษณะเฉพาะและค่าลักษณะเฉพาะ พวกเขาอยู่ที่ไหนในภาพนี้

คุณ:การสังเกตที่ยอดเยี่ยม ในทางคณิตศาสตร์การแพร่กระจายของจุดสีแดงถูกวัดเป็นระยะทางยกกำลังสองเฉลี่ยจากจุดกึ่งกลางของเมฆไวน์ไปยังจุดสีแดงแต่ละจุด ที่คุณรู้ว่ามันจะเรียกว่าความแปรปรวน ในทางตรงกันข้ามข้อผิดพลาดในการสร้างใหม่ทั้งหมดจะถูกวัดเป็นความยาวยกกำลังสองเฉลี่ยของเส้นสีแดงที่สอดคล้องกัน แต่เป็นมุมระหว่างเส้นสีแดงและเส้นสีดำอยู่เสมอ90ผลรวมของปริมาณสองปริมาณนี้เท่ากับระยะห่างกำลังสองเฉลี่ยระหว่างจุดศูนย์กลางของเมฆไวน์และจุดสีฟ้าแต่ละจุด นี่คือทฤษฎีบทพีทาโกรัสอย่างแม่นยำ แน่นอนว่าระยะทางเฉลี่ยนี้ไม่ได้ขึ้นอยู่กับการวางแนวของเส้นสีดำดังนั้นความแปรปรวนที่สูงกว่าจึงทำให้เกิดข้อผิดพลาดที่ต่ำกว่า การโต้แย้งด้วยมือนี้สามารถทำให้แม่นยำ ( ดูที่นี่ )

โดยวิธีการที่คุณสามารถจินตนาการได้ว่าเส้นสีดำเป็นแท่งที่เป็นของแข็งและแต่ละเส้นสีแดงเป็นฤดูใบไม้ผลิ พลังงานของฤดูใบไม้ผลินั้นแปรผันตามความยาวกำลังสองของมัน (ซึ่งเป็นที่รู้จักกันในฟิสิกส์ในฐานะกฎของฮุค) ดังนั้นแกนจะหมุนตัวเองเช่นเพื่อลดผลรวมของระยะทางกำลังสองเหล่านี้ ฉันทำแบบจำลองว่ามันจะเป็นอย่างไรในที่ที่มีความหนืดเสียดสี:

ภาพเคลื่อนไหว PCA: ลูกตุ้ม

เกี่ยวกับค่าลักษณะเฉพาะและค่าลักษณะเฉพาะ คุณรู้ว่าเมทริกซ์ความแปรปรวนร่วมเป็นอย่างไร ในตัวอย่างของฉันมันเป็น2×2เมทริกซ์ที่จะได้รับจาก

(1.070.630.630.64).
สิ่งนี้หมายความว่าความแปรปรวนของxตัวแปรคือ1.07แปรปรวนของyตัวแปรคือ0.64และความแปรปรวนระหว่างพวกเขาเป็น0.630.63เนื่องจากเป็นเมทริกซ์สมมาตรแบบจัตุรัสจึงสามารถ diagonalized โดยเลือกระบบพิกัดมุมฉากใหม่ที่กำหนดโดย eigenvector (โดยบังเอิญนี่เรียกว่าทฤษฎีบทสเปกตรัม); ค่าลักษณะเฉพาะที่สอดคล้องกันจะอยู่บนเส้นทแยงมุม ในระบบพิกัดใหม่เมทริกซ์ความแปรปรวนร่วมนั้นเป็นเส้นทแยงมุมและดูเหมือนว่า:
(1.52000.19),
หมายความว่าความสัมพันธ์ระหว่างจุดต่าง ๆ ในขณะนี้เป็นศูนย์ เห็นได้ชัดว่าความแปรปรวนของการฉายภาพใด ๆ จะถูกกำหนดโดยค่าเฉลี่ยถ่วงน้ำหนักของค่าลักษณะเฉพาะ (ฉันวาดเพียงสัญชาตญาณที่นี่) ดังนั้นความแปรปรวนที่เป็นไปได้สูงสุด ( 1.52 ) จะเกิดขึ้นได้หากเราทำการประมาณค่าบนแกนพิกัดแรก มันเป็นไปตามทิศทางขององค์ประกอบหลักแรกที่กำหนดโดย eigenvector แรกของเมทริกซ์ความแปรปรวนร่วม ( รายละเอียดเพิ่มเติมได้ที่นี่ )

คุณสามารถเห็นสิ่งนี้ในรูปที่หมุนได้เช่นกัน: มีเส้นสีเทาตรงมุมฉากกับเส้นสีดำ พวกเขารวมกันเป็นกรอบการประสานงานการหมุน ลองสังเกตว่าจุดสีฟ้าไม่เกี่ยวข้องกันในกรอบการหมุนนี้ คำตอบคือมันเกิดขึ้นได้อย่างแม่นยำเมื่อเส้นสีดำชี้ไปที่สีม่วงแดงเห็บ ตอนนี้ผมสามารถบอกคุณได้ว่าผมพบว่าพวกเขาพวกเขาทำเครื่องหมายทิศทางของวิคเตอร์แรกของเมทริกซ์ความแปรปรวนซึ่งในกรณีนี้จะมีค่าเท่ากับ(0.81,0.58) )


ต่อคำขอนิยมผมใช้ร่วมกันรหัส Matlab ในการผลิตภาพเคลื่อนไหวดังกล่าวข้างต้น


79
+1 เรื่องเล่าและภาพประกอบที่ดี ...then to your mother; then to your wife; finally, to your daughter (who is a mathematician)...ฉันจะทำต่อไป: และหลังอาหารเย็น - เพื่อตัวคุณเอง และที่นี่คุณก็มีติดอยู่ ...
ttnphns

68
ฉันชอบภาพประกอบที่คุณทำกับคำตอบเหล่านี้อย่างแน่นอน
shadowtalker

57
โดยปกติฉันจะเรียกดูผ่านการตรวจสอบความถูกต้องของ Cross เพื่ออ่านข้อมูล แต่ฉันไม่เคยมีเหตุผลที่จะสร้างบัญชี ... ส่วนใหญ่เป็นเพราะคำถามประเภทนี้อยู่นอกเหนือความเชี่ยวชาญของฉันและฉันไม่สามารถตอบคำถามใด ๆ ได้ ฉันมักจะอยู่ใน StackOverflow เท่านั้นและฉันอยู่ในเครือข่าย StackExchange ประมาณหนึ่งปีแล้ว อย่างไรก็ตามฉันตัดสินใจที่จะสร้างบัญชีในวันนี้เพื่อลงทะเบียนโพสต์ของคุณเท่านั้น นี่อาจเป็นการอธิบายที่ดีที่สุดของ PCA ที่ฉันเคยอ่านมาและฉันอ่านมาหลายเรื่อง ขอบคุณสำหรับการโพสต์ที่ยอดเยี่ยมนี้ - การเล่าเรื่องที่ยอดเยี่ยมกราฟิกและมันอ่านง่ายมาก! +1
rayryeng

14
หมายเหตุสำหรับตัวเอง: ปัจจุบันคำตอบของฉันมี 100 upvotes, JDLong มี 220 upvotes; ถ้าเราสมมติว่าการเติบโตคงที่แล้วเหมืองของฉันมี 100 upvotes / ปีและของเขามี 40 upvotes / ปี หรือมากกว่า 55 / ปีหากคำนวณเพราะผ่าน 100 upvotes [มีป้ายทองคำ] ในเดือนมกราคม 2014 ซึ่งหมายความว่าฉันจะทันใน 2.5--3 ปีประมาณปลายปี 2018 ลองดู :-)
amoeba

3
หมายเหตุสำหรับตัวเองต่อ: ฉันต้องอัปเดตการประมาณการของฉัน หนึ่งเดือนต่อมาคำตอบนี้มี 18 upvotes vs 5 สำหรับ JDLong นี่บ่งชี้ว่าฉันอาจตามมาไม่ถึงหนึ่งปีนับจากนี้ ที่น่าสนใจคือ 5 / เดือนนั้นใกล้เคียงกับที่ผมคาดไว้ข้างต้นที่ 55 / ปี แต่ 18 / เดือนนั้นมากกว่าสองเท่ามากกว่า 100 / ปี เนื่องจากคำตอบของฉันไม่เปลี่ยนแปลงดูเหมือนว่าการไปยังสถานที่ที่สองช่วยเร่งการปฏิวัติ (อาจเป็นเพราะการมองเห็นที่เพิ่มขึ้น)
อะมีบา

376

ต้นฉบับ"การสอนเกี่ยวกับการวิเคราะห์องค์ประกอบหลัก" โดย Lindsay I Smithช่วยให้ฉัน PCA ฉันคิดว่ามันยังซับซ้อนเกินกว่าที่จะอธิบายให้คุณยายของคุณ แต่มันก็ไม่เลว คุณควรข้ามสองสามบิตแรกไปกับการคำนวณ eigens ฯลฯ ข้ามไปที่ตัวอย่างในบทที่ 3 และดูกราฟ

ฉันมีตัวอย่างบางส่วนที่ฉันทำงานผ่านตัวอย่างของเล่นบางอย่างดังนั้นฉันจึงสามารถเข้าใจ PCA กับ OLS การถดถอยเชิงเส้น ฉันจะพยายามขุดมันและโพสต์มันด้วย

แก้ไข: คุณไม่ได้ถามถึงความแตกต่างระหว่าง Ordinary Least Squares (OLS) และ PCA จริงๆ แต่เนื่องจากฉันขุดบันทึกย่อของฉันฉันได้โพสต์บล็อกเกี่ยวกับเรื่องนี้ รุ่นสั้นมากคือ OLS ของ y ~ x ลดข้อผิดพลาดตั้งฉากกับแกนอิสระเช่นนี้ (เส้นสีเหลืองเป็นตัวอย่างของข้อผิดพลาดสองข้อ):

ข้อความแสดงแทน

หากคุณต้องถอยหลัง x ~ y (ตรงข้ามกับ y ~ x ในตัวอย่างแรก) มันจะลดข้อผิดพลาดแบบนี้:

ข้อความแสดงแทน

และ PCA ลดข้อผิดพลาด orthogonal ให้น้อยที่สุดกับตัวแบบเองเช่น:

ข้อความแสดงแทน

ที่สำคัญกว่านั้นอย่างที่คนอื่น ๆ ได้พูดไว้ในสถานการณ์ที่คุณมีตัวแปรอิสระจำนวนมาก PCA จะช่วยคุณในการพิจารณาว่าการรวมกันเชิงเส้นของตัวแปรเหล่านี้มีความสำคัญมากที่สุด ตัวอย่างด้านบนช่วยให้เห็นภาพว่าองค์ประกอบหลักตัวแรกมีลักษณะอย่างไรในกรณีที่ง่ายมาก

ในโพสต์บล็อกของฉันฉันมีรหัส R สำหรับการสร้างกราฟข้างต้นและสำหรับการคำนวณองค์ประกอบหลักแรก มันอาจคุ้มค่าที่จะเล่นกับการสร้างสัญชาตญาณของคุณรอบ ๆ PCA ฉันมักจะไม่ได้เป็นเจ้าของบางสิ่งจนกว่าฉันจะเขียนโค้ดที่ทำซ้ำ 


9
โทรหา Lindsay I Smith ได้ดี - อ่านวันนี้; มีประโยชน์มาก
Stedy

7
PCA นั้นเทียบเท่ากับ Total Least Squares หรือไม่หากปรับระยะทางแบบออโธแก็กนัลจากจุดต่างๆ
Marcin

3
@Marcin - ถูกต้อง คุณสามารถ re-วลี PCA การหาตำแหน่งที่ดีที่สุดประมาณการ ( 1 เมตรพี ) ของเดิมPตัวแปร ( xฉันเจm1mpp ) มีฟังก์ชั่นวัตถุประสงค์ของ Σ n ฉัน= 1 Σ P J = 1 ( x ฉันเจ- xฉันเจ ) 2 การเลือกจำนวนพีซีจะเทียบเท่ากับการเลือกอันดับการทำนาย x^iji=1,,nj=1,,pi=1nj=1p(xijx^ij)2
ความน่าจะเป็นทาง

3
ข้อผิดพลาดเล็ก ๆ ในคณิตศาสตร์สมิ ธ : "eigenvectors ทั้งหมดของเมทริกซ์จะตั้งฉาก ... ไม่ว่ากี่มิติคุณมี" ใช้เฉพาะกับเมทริกซ์สมมาตรที่นี่เป็นหนึ่งกับพวกเขา 45 องศาออกจากกัน สมิ ธ บันทึกความสมมาตรของเมทริกซ์ความแปรปรวนร่วมก่อนหน้านี้ แต่ไม่ใช่นัยยะ - สมมาตรทำให้แน่ใจว่าไอเกนวีnตั้งฉาก ในความเป็นจริงไม่ใช่n x nเมทริกซ์จริง ๆ ทั้งหมดที่มีค่าลักษณะเฉพาะจริง (เช่น {{0,1}, {- 1,0}}) และสิ่งเหล่านั้นที่ทำไม่ได้มีneigenvectors ที่เป็นอิสระทั้งหมด(เช่น {{1,1}, {0 1}})! เรื่องสมมาตร!
Silverfish

8
ในฐานะนักสอนคณิตศาสตร์ผู้สอนฉันต้องประจบประแจงเมื่ออ่านต้นฉบับ Lindsay Smith "... เวกเตอร์ที่ได้จะเป็นจำนวนเต็มหลายตัวจากเดิม ... " - อะไรคือจุดที่กล่าวถึงจำนวนเต็ม ? eigenvector ของเมทริกซ์ A คือเวกเตอร์ X ใด ๆ ที่ AX เป็นตัวคูณของ X ไม่ใช่จำนวนเต็มหลายตัว ตัวคูณที่ไม่ใช่จำนวนเต็มก็ใช้ได้เช่นกัน! Jeez เหตุใดการสร้างความสับสนที่ไม่จำเป็นที่ไม่มีอยู่ที่ไหน
Dmitri Zaitsev

144

มาทำกันก่อน (2) ก่อน PCA เหมาะกับรูปวงรีกับข้อมูล ellipsoid เป็นลักษณะทั่วไปหลายมิติของรูปร่างทรงกลมที่บิดเบี้ยวเช่นซิการ์แพนเค้กและไข่ สิ่งเหล่านี้ถูกอธิบายอย่างประณีตโดยทิศทางและความยาวของแกนหลัก (กึ่ง -) เช่นแกนของซิการ์หรือไข่หรือระนาบของแพนเค้ก ไม่ว่าจุดไข่ปลาจะเปลี่ยนไปอย่างไร eigenvector ก็ชี้ไปในทิศทางหลักเหล่านั้นและค่าลักษณะเฉพาะนั้นให้ความยาวกับคุณ ค่าลักษณะเฉพาะที่เล็กที่สุดนั้นสอดคล้องกับทิศทางที่บางที่สุดซึ่งมีการแปรผันน้อยที่สุดดังนั้นการเพิกเฉยต่อสิ่งเหล่านั้น (ซึ่งทำให้มันแบน) จะสูญเสียข้อมูลที่ค่อนข้างน้อยนั่นคือ PCA

(1) นอกเหนือจากการทำให้เข้าใจง่าย (ด้านบน) แล้วเรายังต้องการคำอธิบายแบบแหลมคมการสร้างภาพและการมองเห็น ความสามารถในการลดขนาดเป็นสิ่งที่ดีมันช่วยให้อธิบายข้อมูลได้ง่ายขึ้นและหากเราโชคดีที่ลดขนาดให้เหลือสามหรือน้อยกว่านั้นให้เราวาดภาพได้ บางครั้งเราสามารถหาวิธีที่มีประโยชน์ในการตีความการรวมกันของข้อมูลที่แสดงโดยพิกัดในภาพซึ่งสามารถให้ข้อมูลเชิงลึกเกี่ยวกับพฤติกรรมร่วมของตัวแปร


รูปแสดงเมฆบางส่วนที่มีคะแนนในแต่ละจุดพร้อมกับรูปวงรีที่มี 50% ของแต่ละคลาวด์และแกนที่สอดคล้องกับทิศทางหลัก ในแถวแรกเมฆนั้นมีองค์ประกอบหลักหนึ่งส่วนประกอบด้วย 95% ของความแปรปรวนทั้งหมด: นี่คือรูปทรงซิการ์ ในแถวที่สองเมฆมีองค์ประกอบหลักสองส่วนโดยหนึ่งขนาดมีขนาดเท่ากับสองเท่ารวมกันเป็น 95% ของความแปรปรวนทั้งหมด: นี่คือรูปร่างของแพนเค้ก ในแถวที่สามส่วนประกอบหลักทั้งสามนั้นมีขนาดใหญ่มาก: นี่คือรูปไข่200

ตัวเลข

เมฆจุดสามมิติใด ๆ ที่ "สอดคล้องกัน" ในแง่ของการไม่แสดงกลุ่มหรือเอ็นหรือเส้นเอ็นจะมีลักษณะเช่นนี้ ใด ๆ เมฆจุด 3D ที่ทุก --provided ไม่ได้ทุกจุดที่มีประจวบ - สามารถอธิบายได้โดยหนึ่งในตัวเลขเหล่านี้เป็นจุดเริ่มต้นของการเดินทางสำหรับการระบุการจัดกลุ่มเพิ่มเติมหรือเลียนแบบ

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


2
เพื่อเพิ่มสิ่งนี้เมื่อคุณมี (ครึ่ง -) เท่ากับครึ่งวงกลม (นั่นคือทรงรีมีชิ้นวงกลม (ใกล้ -) วงกลม) ก็แสดงว่าข้อมูลสองชิ้นที่สอดคล้องกับแกนเหล่านั้นมีการพึ่งพา (ใกล้ -); เราสามารถพูดเกี่ยวกับแกนหลักสำหรับวงรี แต่วงกลมมีรัศมีเดียว :)
JM ไม่ใช่นักสถิติ

6
ฉันจะต้องระมัดระวังที่นี่มากขึ้น JM ก่อนอื่นเพียงแค่ชี้แจงโดย "ใกล้พึ่งพา" คุณต้องหมายถึง "เกือบเป็นอิสระ" สิ่งนี้จะเป็นจริงสำหรับตัวแปรหลายตัวแปร แต่ในหลายกรณี PCA จะดำเนินการกับข้อมูลที่มีลักษณะไม่ปกติ อันที่จริงการวิเคราะห์การจัดกลุ่มที่ติดตามการคำนวณ PCA บางอย่างนั้นสามารถถูกมองว่าเป็นวิธีหนึ่งในการประเมินรูปแบบที่แข็งแกร่งของความไม่ปกติ ในทางคณิตศาสตร์วงกลมจะมีแกนหลัก แต่ก็ไม่ได้มีการพิจารณาที่ไม่ซ้ำกัน: คุณสามารถเลือกรัศมีคู่ orthogonal ใด ๆ เป็นแกนหลักของพวกเขา
whuber

1
ใช่ขอโทษฉันคิดว่า "แกนหลักของวงกลมไม่แน่นอน" น่าจะเป็นวิธีที่ดีกว่าในการวาง
JM ไม่ใช่นักสถิติ

2
การตีความที่ดีมาก! พยายามทำความเข้าใจให้ดีขึ้น .. ในวิชาคณิตศาสตร์ PCA จะเห็นว่า "PCA เหมาะกับรูปวงรีกับข้อมูล" หรือไม่?
Kochede

4
@Kochede รูปไข่เป็นรูปทรงของรูปสี่เหลี่ยมกำลังสอง เมทริกซ์ความแปรปรวนร่วมเป็นรูปสี่เหลี่ยมกำลังสอง PCA ระบุแกนและความยาวของมัน
whuber

106

อืมนี่คือสิ่งที่ไม่ใช่คณิตศาสตร์สำหรับ PCA ...

ลองนึกภาพคุณเพิ่งเปิดร้านไซเดอร์ คุณมีไซเดอร์ 50 พันธุ์และคุณต้องการหาวิธีจัดสรรมันลงบนชั้นวางเพื่อให้ไซเดอร์ชิมที่คล้ายกันวางอยู่บนชั้นเดียวกัน มีรสชาติและพื้นผิวที่แตกต่างกันมากมายในไซเดอร์ - ความหวาน, ความฝาดเผ็ดร้อนใจร้อน, ความขมขื่น, ยีสต์, ผลไม้, ความชัดเจน, เป็นฟอง ฯลฯ เป็นต้นดังนั้นสิ่งที่คุณต้องทำเพื่อใส่ขวดเป็นหมวดหมู่คือคำตอบสองคำถาม:

1) คุณสมบัติใดที่สำคัญที่สุดในการจำแนกกลุ่มของไซเดอร์ เช่นการจำแนกประเภทตามความหวานทำให้ง่ายต่อการจัดกลุ่มไซเดอร์ของคุณเป็นกลุ่มชิมที่คล้ายกันกว่าการจัดกลุ่มตามความมีผล

2) เราสามารถลดรายการตัวแปรของเราโดยการรวมบางส่วนได้หรือไม่? เช่นจริง ๆ แล้วมีตัวแปรที่รวมกันของ "ยีสต์และความคมชัดและ fizziness" และซึ่งทำให้ระดับที่ดีจริง ๆ สำหรับการจำแนกประเภท?

นี่คือสิ่งที่ PCA ทำ องค์ประกอบหลักคือตัวแปรที่อธิบายการเปลี่ยนแปลงที่เป็นประโยชน์ในชุดข้อมูล - ในกรณีนี้ที่แยกความแตกต่างระหว่างกลุ่มที่เป็นประโยชน์ แต่ละองค์ประกอบหลักเป็นหนึ่งในตัวแปรอธิบายเดิมของคุณหรือการรวมกันของตัวแปรอธิบายเดิมของคุณ


4
สิ่งที่เกี่ยวกับค่าลักษณะเฉพาะและค่าลักษณะเฉพาะ?
14ας

3
โอเค: ค่าลักษณะเฉพาะที่เกี่ยวข้องกับส่วนประกอบหลักแต่ละตัวจะบอกคุณว่าชุดข้อมูลอธิบายได้มากน้อยเพียงใด (ในตัวอย่างของฉันมันแยกขวดของคุณออกเป็นกลุ่มได้อย่างไร) โดยปกติจะแสดงเป็นเปอร์เซ็นต์ของการเปลี่ยนแปลงทั้งหมดในชุดข้อมูล สำหรับ Eigenvectors นั่นคือที่ที่กรงเล็บบอกว่าฉันติดตามผลลัพธ์ของการวิเคราะห์เหมือนเครื่องจักร;) ในหัวของฉันพวกเขาเกี่ยวข้องกับวิธีที่คุณหมุนมือถือของวินซ์ไปสู่การวางแนว 'ดีที่สุด' แต่นี่อาจไม่ใช่ วิธีคิดที่ถูกต้อง
Freya Harrison

17
Eigenvectors เป็นเพียงการรวมกันเชิงเส้นของตัวแปรดั้งเดิม (ในพื้นที่ปัจจัยแบบง่ายหรือแบบหมุน); พวกเขาอธิบายว่าตัวแปร "สนับสนุน" ให้กับแต่ละปัจจัยแกน โดยทั่วไปให้คิดว่า PCA เป็นวิธีการสร้างแกนใหม่ที่ชี้ไปที่ทิศทางของความแปรปรวนสูงสุด (ในพื้นที่ตัวแปรดั้งเดิม) ตามที่แสดงโดยค่าเฉพาะค่าและวิธีการมีส่วนร่วมของตัวแปรที่มีน้ำหนักหรือเปลี่ยนเชิงเส้นในพื้นที่ใหม่นี้
chl

เมทริกซ์ความแปรปรวนร่วมของปัญหานี้จะเป็นอย่างไร สิ่งที่บอกเราเกี่ยวกับตัวแปร (ความหวาน, ความฝาดเผ็ดร้อนฝาด, ขมขื่น, ยีสต์, ผลไม้, ความชัดเจน, เป็นฟอง ฯลฯ )?
JustCurious

1
ฉันไม่รู้ว่ามันเกี่ยวกับนักสถิติและเครื่องดื่มแอลกอฮอล์ แต่Whisky Classifiedทำสิ่งนี้ให้สก็อตวิสกี้ ...
nekomatic

96

ฉันตอบใน "ข้อกำหนดของคนธรรมดา" โดยบอกว่า PCA ตั้งเป้าหมายให้พอดีกับจุดข้อมูล (ทุกคนรู้ว่าเส้นตรงคืออะไร) เราเรียกเส้นตรงเหล่านี้ว่า "องค์ประกอบหลัก" มีองค์ประกอบหลักจำนวนมากเท่าที่มีตัวแปร องค์ประกอบหลักแรกคือเส้นตรงที่ดีที่สุดที่คุณสามารถพอดีกับข้อมูล องค์ประกอบหลักที่สองคือเส้นตรงที่ดีที่สุดที่คุณสามารถใส่ได้กับข้อผิดพลาดจากองค์ประกอบหลักตัวแรก องค์ประกอบหลักตัวที่สามคือเส้นตรงที่ดีที่สุดที่คุณสามารถใส่ได้กับข้อผิดพลาดจากส่วนประกอบหลักตัวแรกและตัวที่สอง ฯลฯ ฯลฯ

หากมีคนถามว่าคุณหมายถึงอะไรโดย "ดีที่สุด" หรือ "ผิดพลาด" สิ่งนี้จะบอกคุณว่าพวกเขาไม่ใช่ "คนธรรมดา" ดังนั้นสามารถเข้าไปดูรายละเอียดทางเทคนิคเพิ่มเติมเช่นข้อผิดพลาดตั้งฉากไม่รู้ว่าข้อผิดพลาดนั้นอยู่ที่ไหน ทิศทาง x- หรือ y- มากกว่า 2 หรือ 3 มิติเป็นต้นนอกจากนี้หากคุณหลีกเลี่ยงการอ้างอิงถึง OLS regression (ซึ่ง "คนธรรมดา" อาจไม่เข้าใจเช่นกัน) คำอธิบายนั้นง่ายกว่า

eigenvectors และค่าลักษณะเฉพาะไม่จำเป็นต้องมีแนวคิดต่อ se แต่พวกเขาเกิดขึ้นเป็นแนวคิดทางคณิตศาสตร์ที่มีอยู่แล้ว เมื่อคุณแก้ปัญหาทางคณิตศาสตร์ของ PCA มันจะเทียบเท่ากับการหาค่าลักษณะเฉพาะและค่าลักษณะเฉพาะของเมทริกซ์ความแปรปรวนร่วม


8
+1 นี่คือ "เงื่อนไขของคนธรรมดา" อย่างแท้จริงและฉันรู้ว่าคุณจะได้รับอย่างจริงจังหากคุณต้องการ!
gung

2
คำตอบที่ดีที่สุดที่ฉันพูด และฉันใช้ PCA มาก
a11msp

2
ว้าว - นี่เป็นคำอธิบายที่ดีและเรียบง่ายจริงๆ! ขอขอบคุณ!
นิค

52

ฉันสามารถให้คำอธิบาย / หลักฐาน PCA ของคุณเองซึ่งฉันคิดว่าเรียบง่ายและสง่างามและไม่ต้องการอะไรนอกจากความรู้พื้นฐานเกี่ยวกับพีชคณิตเชิงเส้น มันค่อนข้างยาวเพราะฉันต้องการเขียนในภาษาที่เข้าถึงได้ง่าย

สมมติว่าเรามีตัวอย่างข้อมูลบางส่วนจากพื้นที่n -dimensional ตอนนี้เราต้องการฉายข้อมูลนี้ในสองสามบรรทัดในพื้นที่n-มิติในแบบที่รักษาความแปรปรวนมากที่สุดเท่าที่จะเป็นไปได้ (นั่นหมายถึงความแปรปรวนของข้อมูลที่คาดการณ์ไว้ควรจะใหญ่มากเมื่อเทียบกับความแปรปรวนของข้อมูลต้นฉบับ เป็นไปได้)Mnn

ตอนนี้ให้สังเกตว่าถ้าเราแปล (ย้าย) ทุกจุดโดยเวกเตอร์บางแปรปรวนจะยังคงเหมือนเดิมนับตั้งแต่ย้ายทุกจุดโดยβจะย้ายเลขคณิตของพวกเขาหมายถึงโดยβเป็นอย่างดีและความแปรปรวนเป็นเส้นตรงตามสัดส่วนΣ M ฉัน= 1x ฉัน - μ 2 ดังนั้นเราจึงแปลคะแนนทั้งหมดด้วย- μดังนั้นค่าเฉลี่ยเลขคณิตของพวกมันกลายเป็น0เพื่อความสะดวกสบายในการคำนวณ เรามาแทนคะแนนที่แปลว่าx i = x i - μβββi=1Mxiμ2μ0xi=xiμ. Let 's ยังสังเกตว่าความแปรปรวนสามารถแสดงตอนนี้ก็เป็น 2i=1Mxi2

ตอนนี้ทางเลือกของสาย เราสามารถอธิบายบรรทัดใด ๆ ที่เป็นที่ตั้งของจุดที่ตอบสนองสมการสำหรับบางเวกเตอร์V , W โปรดทราบว่าถ้าเราย้ายเส้นเวกเตอร์บางγตั้งฉากกับโวลต์แล้วประมาณการทั้งหมดที่อยู่ในสายก็จะถูกย้ายโดยγจึงเฉลี่ยของประมาณการจะถูกย้ายโดยγx=αv+wv,wγvγγดังนั้นความแปรปรวนของเส้นโครงจะยังคงไม่เปลี่ยนแปลง นั่นหมายความว่าเราสามารถย้ายเส้นขนานไปยังตัวมันเองและไม่เปลี่ยนความแปรปรวนของเส้นโครงบนเส้นนี้ อีกครั้งเพื่อความสะดวกขอ จำกัด ตัวเองไว้เฉพาะเส้นที่ผ่านจุดศูนย์ (นี่หมายถึงเส้นที่อธิบายโดย )x=αv

เอาล่ะทีนี้สมมติว่าเรามีเวกเตอร์ที่อธิบายทิศทางของเส้นที่เป็นไปได้สำหรับเส้นที่เราค้นหา เราจำเป็นต้องคำนวณความแปรปรวนของการคาดการณ์ในบรรทัดαวี สิ่งที่เราจะต้องมีคือจุดฉายภาพและค่าเฉลี่ย จากพีชคณิตเชิงเส้นที่เรารู้ว่าในกรณีนี้ง่ายฉายของx ' ฉันบนα วีเป็นx ฉัน , วี/วี 2 Let 's จากนี้ไป จำกัด ตัวเองไปยังหน่วยเพียงพาหะวี นั่นหมายความว่าเราสามารถเขียนความยาวของการฉายภาพของจุดx vαvxiαvxi,v/v2vอยู่กับโวลต์เป็นเพียงx ' ฉัน ,วีxivxi,v

ในคำตอบก่อนหน้านี้บางคนบอกว่า PCA ลดผลรวมของระยะทางจากเส้นที่เลือกให้สั้นที่สุด ตอนนี้เราจะเห็นมันเป็นความจริงเพราะผลรวมของสี่เหลี่ยมของประมาณการบวกผลรวมของกำลังสองของระยะทางจากบรรทัดที่เลือกเท่ากับผลรวมของกำลังสองของระยะห่างจากจุด0โดยการเพิ่มผลรวมของกำลังสองของการประมาณเราจะลดผลรวมของกำลังสองของระยะทางและกลับกัน แต่นี่เป็นเพียงการพูดนอกเรื่องที่รอบคอบกลับไปสู่การพิสูจน์ในขณะนี้0

สำหรับค่าเฉลี่ยของการประมาณลองสังเกตว่าเป็นส่วนหนึ่งของพื้นฐานมุมฉากของพื้นที่ของเราและถ้าเราฉายจุดข้อมูลของเราบนเวกเตอร์ทุกตัวบนพื้นฐานนั้นผลรวมของพวกมันจะถูกยกเลิก (มันเป็นเพราะการฉายบน เวกเตอร์จากพื้นฐานเปรียบเสมือนการเขียนจุดข้อมูลในรูปแบบมุมฉากใหม่) ผลรวมของการคาดคะเนทั้งหมดบนเวกเตอร์v (ลองเรียกผลรวมS v ) และผลรวมของการคาดคะเนบนเวกเตอร์อื่นจากพื้นฐาน (ลองเรียกมันว่าS o ) คือ 0 เพราะมันคือค่าเฉลี่ยของจุดข้อมูล แต่S vตั้งฉากกับS o ! นั่นหมายถึงS o = S vvvSvSoSvSo 0So=Sv=0

ดังนั้นค่าเฉลี่ยประมาณการของเราคือ00ดีที่สะดวกเพราะนั่นหมายความว่าความแปรปรวนเป็นเพียงผลรวมของกำลังสองของความยาวของการคาดการณ์หรือในสัญลักษณ์

i=1M(xiv)2=i=1MvTxiTxiv=vT(i=1MxiTxi)v.

ทีนี้เมทริกซ์ความแปรปรวนร่วมก็โผล่ออกมา ขอแสดงมันก็โดยXมันหมายความว่าตอนนี้เรากำลังมองหาเวกเตอร์หน่วยโวลต์ที่เพิ่มโวTX วีสำหรับบางคนที่ชัดเจนเมทริกซ์กึ่งบวกXXvvTXvX

ตอนนี้ขอใช้ eigenvectors และค่าลักษณะเฉพาะของเมทริกซ์และแสดงว่าพวกเขาโดยอี1 , E 2 , ... , E nและλ 1 , ... , λ nลำดับเช่นว่าλ 1λ 2 , λ 3 ... หากค่าλไม่ได้ซ้ำกัน eigenvector จะสร้างพื้นฐาน orthonormal ถ้าพวกเขาทำเช่นนั้นเราเลือกผู้มีอำนาจเฉพาะในลักษณะที่พวกเขาเป็นพื้นฐาน orthonormalXe1,e2,,enλ1,,λnλ1λ2,λ3λ

ตอนนี้เรามาคำนวณสำหรับวิคเตอร์อีฉัน เรามีอีทีฉันX อีฉัน = อีทีฉัน( λ ฉันอีฉัน ) = λ ฉัน ( อีฉัน2 ) 2 = λฉันvTXvei

eiTXei=eiT(λiei)=λi(ei2)2=λi.

ค่อนข้างดีสิ่งนี้ทำให้เราต่อe 1 ตอนนี้ลองมาพลเวกเตอร์โวลต์ ตั้งแต่ eigenvectors รูปแบบพื้นฐาน orthonormal เราสามารถเขียนV = Σ n ฉัน= 1อีฉันโวลต์, อีฉันและเรามีΣ n ฉัน= 1โวลต์, อีฉัน2 = 1 ขอแสดงβ ฉัน = โวลต์, อีฉันλ1e1vv=i=1neiv,eii=1nv,ei2=1βi=v,ei

ตอนนี้ขอนับวี เราเขียนvเป็นชุดเชิงเส้นของe i , และรับ: ( n i = 1 β i e i ) TX ( n i = 1 β i e i ) = ( n i = 1 β i e ฉัน ) ( n ฉันvTXvvei

(i=1nβiei)TX(i=1nβiei)=(i=1nβiei)(i=1nλiβiei)=i=1nλi(βi)2(ei2)2.

สมการสุดท้ายมาจากความจริงที่ว่า eigenvector ที่เลือกให้เป็น orthogonal แบบคู่ดังนั้นผลิตภัณฑ์ดอทของพวกมันจึงเป็นศูนย์ ตอนนี้เพราะ eigenvectors ทั้งหมดนอกจากนี้ยังมีของหน่วยความยาวเราสามารถเขียนที่β 2 ผมมีทั้งหมดในเชิงบวกและผลรวมไป1vTXv=i=1nλiβi2βi21

นั่นหมายความว่าความแปรปรวนของการฉายเป็นค่าเฉลี่ยของค่าลักษณะเฉพาะ แน่นอนว่ามันน้อยกว่าค่าลักษณะเฉพาะที่ใหญ่ที่สุดเสมอซึ่งเป็นเหตุผลว่าทำไมเราจึงควรเลือกเวกเตอร์ PCA แรก

ทีนี้สมมติว่าเราต้องการเวกเตอร์อีกอัน เราควรเลือกจากมุมฉากพื้นที่ที่จะได้รับการแต่งตั้งแล้วหนึ่งที่หมายถึงสเปซ ) โดยอนุมานกระเชอเรามาถึงข้อสรุปที่เวกเตอร์ที่ดีที่สุดในโครงการคืออี 2 และอื่น ๆ ...lin(e2,e3,,en)e2

โดยวิธีการที่มันควรจะเป็นตอนนี้ชัดเจนว่าทำไมแปรปรวนสะสมสามารถแสดงออกโดยฉันi=1kλi/i=1nλi

kkv1,,vk

j=1ki=1nλiβij2=i=1nλiγi
γi=j=1kβij2.

eiv1,,vku1,,unkei=j=1kβijvj+j=1nkθjei,ujei2=1j=1kβij2+j=1nkθj2=1γi1i

i=1nλiγiγi1i=1nγi=ki=1kλik


2
+1 คำตอบที่ดีมาก! ยังไม่ได้อ่านทั้งหมด แต่คำตอบของคุณคือสิ่งที่ฉันกำลังมองหา ทุกขั้นตอนอธิบาย =)
jjepsuomi

9
แสดงคนธรรมดาที่รู้จักพีชคณิตเชิงเส้นพื้นฐานและฉันจะแสดงให้คุณเห็นคณิตศาสตร์ระดับปริญญาตรี
ความน่าจะเป็นทาง

xiαvxi,v/v2xi,v/v

1
ฉันคิดว่านี่เป็นคำอธิบายที่ดีที่สุดสำหรับ PCA ที่ฉันเคยเห็นมา ขอขอบคุณ.
Nimitz14

1
นั่นเป็นคำอธิบายที่ฉันโปรดปรานซึ่งแสดงให้เห็นว่าเหตุใด eigenvector จึงทำให้เกิดความแปรปรวนสูงสุด
Romwell

47

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

สมมุติว่าเรามีข้อมูลมิติสูง - บอกการวัด 30 ครั้งในแมลง ข้อบกพร่องมีจีโนไทป์ที่แตกต่างกันและคุณสมบัติทางกายภาพที่แตกต่างกันเล็กน้อยในบางส่วนของมิติเหล่านี้ แต่ด้วยข้อมูลมิติสูงเช่นนี้มันยากที่จะบอกว่าแมลงตัวใดเป็นของกลุ่มใด

PCA เป็นเทคนิคในการลดขนาดโดย:

  1. การรวมกันเชิงเส้นของตัวแปรดั้งเดิม
  2. ชุดค่าผสมเชิงเส้นแต่ละชุดอธิบายความแปรปรวนของข้อมูลได้มากที่สุด
  3. ชุดค่าผสมเชิงเส้นแต่ละชุดจะไม่สัมพันธ์กับชุดอื่น ๆ

หรือในแง่คณิตศาสตร์:

  1. Yj=ajx
  2. k>jV(Yk)<V(Yj)
  3. akaj=0

การค้นหาชุดค่าผสมเชิงเส้นที่ตอบสนองข้อ จำกัด เหล่านี้นำเราไปสู่ค่าลักษณะเฉพาะ ทำไม?

ฉันขอแนะนำให้ตรวจสอบหนังสือการวิเคราะห์ข้อมูลเบื้องต้นเกี่ยวกับตัวแปรหลายตัวสำหรับการแปลแบบเต็ม (หน้า 50) แต่แนวคิดพื้นฐานคือปัญหาการปรับให้เหมาะสมแบบต่อเนื่อง เมื่อความแปรปรวนอาจไม่มีที่สิ้นสุด) และถูก จำกัด เพื่อให้แน่ใจว่าสัมประสิทธิ์เป็นมุมฉาก

สิ่งนี้นำไปสู่การปรับให้เหมาะสมด้วยตัวคูณ Lagrange ซึ่งจะแสดงให้เห็นว่าเหตุใดจึงใช้ค่าลักษณะเฉพาะ ฉันขี้เกียจเกินกว่าจะพิมพ์ออกมา (ขออภัย!) แต่PDF นี้ผ่านการพิสูจน์ที่ดีจากจุดนี้

ฉันจะไม่พยายามอธิบายเรื่องนี้กับคุณยายของฉัน แต่ถ้าฉันต้องพูดโดยทั่วไปเกี่ยวกับเทคนิคการลดขนาดฉันจะชี้ไปที่ตัวอย่างการฉายภาพเล็กน้อย (ไม่ใช่ PCA) สมมติว่าคุณมีโทรศัพท์มือถือคาลเดอร์ที่มีความซับซ้อนมาก บางจุดในช่องว่าง 3 มิติอยู่ใกล้กัน หากเราแขวนมือถือนี้จากเพดานและส่องแสงจากมุมหนึ่งเราจะได้ภาพที่ฉายบนระนาบมิติที่ต่ำกว่า (กำแพง 2 มิติ) ทีนี้ถ้ามือถือตัวนี้กว้างในทิศทางเดียว แต่ผอมไปอีกทางหนึ่งเราสามารถหมุนมันเพื่อให้ได้การคาดการณ์ที่มีประโยชน์แตกต่างกัน โดยสังเขปรูปร่างผอมในมิติเดียวที่ฉายบนผนังนั้นมีประโยชน์น้อยกว่า - เงาทั้งหมดซ้อนทับกันและไม่ให้ข้อมูลกับเรามากนัก อย่างไรก็ตามหากเราหมุนเพื่อให้แสงส่องทางด้านกว้าง เราได้ภาพที่ดีขึ้นของข้อมูลมิติที่ลดลง - มีการกระจายจุดมากขึ้น นี่คือสิ่งที่เราต้องการ ฉันคิดว่าคุณยายของฉันเข้าใจว่า :-)


6
นั่นเป็นคนธรรมดามาก ;-)

2
มันเป็นคณิตศาสตร์เล็กน้อย แต่วิธีที่ดีที่สุดในการเข้าใจบางสิ่งบางอย่างคือการได้มา
วินซ์

29
คุณมีคุณยายที่มีการศึกษาดีเป็นพิเศษ :-)
whuber

7
ผมชอบคำอธิบายที่มีแสงส่องบน 3-d โครงสร้าง
นีล McGuigan

(+1) ทั้งหมดเป็นคำตอบที่ดี แต่นี่คือคำตอบที่ฉันต้องการ
Digio

37

กำลังพยายามที่จะไม่ใช่ด้านเทคนิค ... ลองจินตนาการว่าคุณมีข้อมูลหลายตัวแปรซึ่งเป็นจุดคลาวด์หลายมิติ เมื่อคุณคำนวณเมทริกซ์ความแปรปรวนร่วมของสิ่งที่คุณ (ก) จัดกึ่งกลางของคลาวด์กล่าวคือใส่จุดกำเนิดเป็นค่าเฉลี่ยหลายมิติตอนนี้แกนของระบบพิกัดจะข้ามไปที่กึ่งกลางของคลาวด์ (b) เข้ารหัสข้อมูลเกี่ยวกับรูปร่างของคลาวด์ และวิธีการที่จะมุ่งเน้นในพื้นที่โดยใช้วิธีการแปรปรวน - ความแปรปรวนร่วมรายการ ดังนั้นข้อมูลสำคัญส่วนใหญ่เกี่ยวกับรูปร่างของข้อมูลโดยรวมจะถูกเก็บไว้ในเมทริกซ์ความแปรปรวนร่วม

จากนั้นคุณทำการแยกสลายไอเก็นของมาร์ทริกซ์นั้นและรับรายการค่าลักษณะเฉพาะและจำนวนไอเกนวีคเตอร์ที่สอดคล้องกัน ตอนนี้องค์ประกอบหลักที่ 1 คือตัวแปรใหม่ที่แฝงอยู่ซึ่งสามารถแสดงเป็นแกนที่ผ่านจุดกำเนิดและมุ่งเน้นไปตามทิศทางของความแปรปรวน (ความหนา) สูงสุดของคลาวด์ ความแปรปรวนตามแกนนี้คือความแปรปรวนของพิกัดของจุดทั้งหมดบนมันคือeigenvalue ตัวแรกและการวางแนวของแกนในอวกาศที่อ้างอิงถึงแกนดั้งเดิม (ตัวแปร) นั้นถูกกำหนดโดย eigenvector ตัวที่ 1 รายการของมันคือค่า cosines ระหว่างมันกับแกนดั้งเดิมเหล่านั้น พิกัดดังกล่าวของจุดข้อมูลในองค์ประกอบที่ 1 คือค่าส่วนประกอบหลักที่ 1 หรือคะแนนส่วนประกอบ พวกเขาจะถูกคำนวณเป็นผลิตภัณฑ์ของเมทริกซ์ข้อมูล (ศูนย์กลาง) และ eigenvector

"After" ราคาที่ 1 องค์ประกอบได้รับการวัดว่าจะบอกว่า "ลบ" จากคลาวด์พร้อมกับความแปรปรวนทั้งหมดที่มันคิดและมิติของคลาวด์ลดลงทีละหนึ่ง ถัดไปทุกอย่างซ้ำแล้วซ้ำอีกกับค่าลักษณะที่สองและตัวที่สอง - ค่าที่สอง กำลังบันทึกองค์ประกอบแล้ว "ลบ" เป็นต้น

ดังนั้นอีกครั้ง: eigenvector เป็นทิศทางที่โคไซน์สำหรับองค์ประกอบหลักในขณะที่ค่าลักษณะเฉพาะเป็นขนาด (ความแปรปรวน) ในองค์ประกอบหลัก ผลรวมของค่าลักษณะเฉพาะทั้งหมดเท่ากับผลรวมของความแปรปรวนซึ่งอยู่ในแนวทแยงของเมทริกซ์ความแปรปรวนร่วม - ความแปรปรวนร่วม หากคุณถ่ายโอนข้อมูล "magnitudinal" เก็บไว้ในลักษณะเฉพาะไป eigenvectors จะเพิ่มไปยัง "orientational" ข้อมูลที่เก็บไว้ในนั้นคุณจะได้รับสิ่งที่เรียกว่าองค์ประกอบหลักloadings ; การโหลดเหล่านี้ - เนื่องจากมีข้อมูลทั้งสองประเภท - เป็นความแปรปรวนร่วมระหว่างตัวแปรดั้งเดิมและองค์ประกอบหลัก

ต่อมา PSฉันต้องการโดยเฉพาะอย่างยิ่งที่จะเน้นเป็นครั้งที่สองที่นี่แตกต่างระหว่าง terminologic eigenvectorsและแรง ผู้คนจำนวนมากและแพคเกจบางอย่าง (รวมถึงบางส่วนR) ใช้คำศัพท์สองคำอย่างสลับกันไม่ได้ เป็นการปฏิบัติที่ไม่ถูกต้องเนื่องจากวัตถุและความหมายต่างกัน Eigenvectors เป็นทิศทางที่เป็นมุมเอียงของ "การหมุน" แบบมุมฉากที่ PCA ใช้ การรับน้ำหนักมีลักษณะเฉพาะที่ฉีดวัคซีนด้วยข้อมูลเกี่ยวกับความแปรปรวนหรือขนาดของข้อมูลที่หมุน การโหลดคือค่าสัมประสิทธิ์การเชื่อมโยงระหว่างส่วนประกอบและตัวแปรและจะเปรียบเทียบโดยตรงกับค่าสัมประสิทธิ์การเชื่อมโยงที่คำนวณระหว่างตัวแปร - ค่าความแปรปรวนร่วม, สหสัมพันธ์หรือผลิตภัณฑ์สเกลาร์อื่น ๆ1) Eigenvectors เป็นค่าสัมประสิทธิ์ในการทำนายตัวแปรด้วยคะแนนส่วนประกอบดิบ การโหลดเป็นค่าสัมประสิทธิ์ในการทำนายตัวแปรด้วยคะแนนองค์ประกอบที่ปรับขนาด (ปกติ) (ไม่น่าแปลกใจ: การโหลดมีข้อมูลที่ตกตะกอนเกี่ยวกับความแปรปรวนดังนั้นองค์ประกอบที่ใช้จะต้องถูกกีดกัน) อีกเหตุผลหนึ่งที่ไม่ควรผสม eigenvector และการโหลดก็คือเทคนิคการลดมิติอื่น ๆ นอกเหนือจาก PCA - เช่นการวิเคราะห์ปัจจัย - คำนวณรูปแบบการคำนวณโดยตรงโดยตรงผ่าน eigenvectors Eigenvectors เป็นผลมาจากการสลายตัวของไอเก็นหรือการสลายตัวของค่าเอกพจน์; การวิเคราะห์ปัจจัยบางรูปแบบไม่ได้ใช้การย่อยสลายเหล่านี้และไปถึงการโหลดด้วยวิธีอื่น ๆ ในที่สุดมันเป็นภาระไม่ใช่ eigenvectors ที่คุณตีความองค์ประกอบหรือปัจจัย (ถ้าคุณจำเป็นต้องตีความพวกเขา) การโหลดนั้นเกี่ยวกับการมีส่วนร่วมขององค์ประกอบในตัวแปร: ในองค์ประกอบ PCA (หรือการวิเคราะห์ปัจจัย) จะโหลดตัวเองลงบนตัวแปรไม่ใช่ในทางกลับกัน ในผลลัพธ์ PCA ที่ครอบคลุมเราควรรายงานทั้ง eigenvector และ load ตามที่แสดงเช่นนี่หรือที่นี่

ดูเพิ่มเติมเกี่ยวกับการโหลด vs eigenvectors


1


@ amoeba ฉันไม่ยืนยันและคุณสามารถใช้คำศัพท์ใด ๆ ที่คุณคุ้นเคย ฉันอธิบายอย่างชัดเจนว่าทำไมฉันจึงคิดว่าคำว่า "การโหลด" และ "eigenvector" ดีกว่าที่จะแยกกัน ฉันทำตามประเพณีดั้งเดิมเช่นใน Harman การวิเคราะห์ปัจจัยที่ทันสมัยถ้าเพียง แต่ฉันจำประเพณีได้อย่างถูกต้อง
ttnphns

(ต่อ) คุณรู้ตัวเองว่าคำว่า "การบรรทุก" แม้ว่าจะค่อนข้างน่าสงสัยจริงๆแล้วก็คือ nevetherless ที่ไม่ผสมกับ "eigenvector" ในการวิเคราะห์หลายตัวแปรอื่น ๆ เช่นการวิเคราะห์แบบแยกแยะ อีกครั้งที่ฉันใส่ในการโหลด PCA 1) รวมข้อมูลเกี่ยวกับขนาดของการเปลี่ยนแปลง; 2) เป็นความแปรปรวนร่วม / สหสัมพันธ์และใช้เพื่อการตีความ ค่าของ Eigenvector - ไม่ใช่
ttnphns

2
+1 ฉันได้อ่านโพสต์ของคุณใน PCA และปัญหาอื่น ๆ ที่เกี่ยวข้องและเรียนรู้มากมาย
Antoni Parellada

29

ตกลงคำตอบที่ไม่เกี่ยวกับคณิตศาสตร์โดยสิ้นเชิง:

หากคุณมีตัวแปรหลายอย่างในกลุ่มวิชาและคุณต้องการลดให้เหลือจำนวนตัวแปรน้อยลงในหัวเรื่องเดียวกันในขณะที่สูญเสียข้อมูลน้อยที่สุดเท่าที่จะเป็นไปได้ PCA เป็นเครื่องมือหนึ่งในการทำเช่นนี้

มันแตกต่างจากการวิเคราะห์ปัจจัยถึงแม้ว่าพวกเขามักจะให้ผลลัพธ์ที่คล้ายกันใน FA ที่พยายามกู้คืนตัวแปรแฝงจำนวนเล็กน้อยจากตัวแปรสังเกตจำนวนมากซึ่งเชื่อว่าเกี่ยวข้องกับตัวแปรแฝง


เฮ้ปีเตอร์! ดีใจที่ได้พบคุณที่นี่ นี่เป็นคำตอบทางคณิตศาสตร์ที่ดีง่ายและไม่มีคำตอบ
JD Long

3
+1 สำหรับการกล่าวถึง FA ซึ่งไม่มีใครพูดถึงและที่คำอธิบายของคนบางคนดูเหมือนจะกลมกลืน
gung

ดูเหมือนว่าจะไม่มีความแตกต่างในเป้าหมายของ PCA และ FA - ทั้งคู่มีเป้าหมายที่จะหมุนเพื่อให้คุณเห็นปัจจัยที่สำคัญที่สุด (เวกเตอร์แฝงหรือ eigendimensions หรือเวกเตอร์เอกพจน์หรืออะไรก็ตาม) แต่ FA ดูเหมือนจะไม่ใช่อัลกอริธึม แต่เป็นกลุ่มของเทคนิคที่เกี่ยวข้อง (ซึ่งกันและกันและ SVD และ PCA) โดยมีจุดมุ่งหมายที่ไม่ชัดเจน (ซึ่งก็คือการพูดที่หลากหลายและไม่สอดคล้องกัน
David MW พลัง

มันจะถูกต้องหรือไม่ที่จะบอกว่า PCA เป็นหนึ่งในวิธีที่เป็นไปได้ในการวิเคราะห์ปัจจัย
หยุดยั้ง

คำศัพท์ในพื้นที่นี้ไม่สอดคล้องกันอย่างมาก
Peter Flom

29

มันง่ายที่สุดในการทำคณิตศาสตร์ใน 2-D

เมทริกซ์ทุกตัวสอดคล้องกับการแปลงเชิงเส้น การแปลงเชิงเส้นสามารถมองเห็นได้ด้วยการจดจำตัวเลขบนระนาบและดูว่ารูปนั้นบิดเบือนโดยการแปลงเชิงเส้นอย่างไร:

การแปลงเชิงเส้น (รูป: Flanigan & Kazdan )

  • mona lisa eigenvectorsshear
  • ×1
  • ฟุตบอล PCA
    1=23%[1]+46%[2]+39%[3]

f(ax+by)=af(x)+bf(y)+abxyจากพื้นที่ที่น่าสนใจ ตัวอย่างเช่น :

ใบหน้า

PCA นั้นเป็นอีกตัวอย่างหนึ่งที่นักสถิติคุ้นเคยมากที่สุด คำตอบอื่น ๆ เช่น Freya ให้แอปพลิเคชัน PCA ในโลกแห่งความเป็นจริง

similar how?x42.8%[x]57.2%[y]


2
ที่จริงแล้วมันเป็นเรื่องบังเอิญที่การหมุนเป็นแบบเชิงเส้นและเป็นวิธีที่สะดวกในการอธิบายสิ่งที่เกิดขึ้นสำหรับข้อมูลที่ไม่ใช่เชิงเรขาคณิต ความบังเอิญเกี่ยวข้องกับธรรมชาติกำลังสองของพื้นที่คาร์ทีเซียน / ยูคลิดและทฤษฎีขีด จำกัด กลาง / Gaussians ได้แก่ sigmas เพิ่มขึ้นเป็นสองมิติเช่นมิติมุมฉากซึ่งเป็นที่ที่คำศัพท์ ND rotational / orthogonal ของเรามาจากการเปรียบเทียบกับพื้นที่ 2D และ 3D
David MW Powers

@DavidMWPowers น่าสนใจ ฉันกำลังคิดเกี่ยวกับการหมุนจากจุดเชิงเส้นพีชคณิต
มอร์ฟิซึ่มส์

27

หลังจากโพสต์ที่ยอดเยี่ยมโดย JD Long ในหัวข้อนี้ฉันมองหาตัวอย่างง่ายๆและรหัส R ที่จำเป็นในการผลิต PCA จากนั้นกลับไปที่ข้อมูลต้นฉบับ มันให้สัญชาตญาณทางเรขาคณิตด้วยมือแรกของฉันและฉันต้องการแบ่งปันสิ่งที่ฉันได้รับ ชุดข้อมูลและรหัสสามารถคัดลอกและวางโดยตรงในรูปแบบ R Github

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


ในฐานะที่เป็นข้อแม้ความคิดล้วนเป็นตัวอย่างของกระบวนการคำนวณ: PCA ถูกนำมาใช้เพื่อลดตัวแปรมากกว่าสองตัวแปรที่ได้รับมาเป็นส่วนประกอบหลักหรือเพื่อระบุ collinearity ในกรณีของคุณสมบัติหลายอย่าง ดังนั้นมันจะไม่พบแอปพลิเคชั่นมากมายในกรณีที่มีตัวแปรสองตัวและไม่จำเป็นต้องคำนวณ eigenvectors ของเมทริกซ์สหสัมพันธ์ตามที่ @amoeba ชี้


นอกจากนี้ฉันตัดทอนข้อสังเกตจาก 44 เป็น 15 เพื่อลดภาระงานในการติดตามแต่ละจุด ผลลัพธ์สุดท้ายคือกรอบข้อมูลโครงกระดูก ( dat1):

compounds   atomic.no      melting.point
AIN         10             498.0
AIP         14             625.0
AIAs        23             1011.5
...         ...            ... 

คอลัมน์ "สารประกอบ" แสดงถึงส่วนประกอบทางเคมีของสารกึ่งตัวนำและมีบทบาทของชื่อแถว

สามารถทำซ้ำได้ดังนี้ (พร้อมที่จะคัดลอกและวางบนคอนโซล R):

dat              <- read.csv(url("http://rinterested.github.io/datasets/semiconductors"))
colnames(dat)[2] <- "atomic.no"
dat1             <- subset(dat[1:15,1:3])
row.names(dat1)  <- dat1$compounds
dat1             <- dat1[,-1]

ข้อมูลถูกปรับสัดส่วนแล้ว:

X <- apply(dat1, 2, function(x) (x - mean(x)) / sd(x))
# This centers data points around the mean and standardizes by dividing by SD.
# It is the equivalent to `X <- scale(dat1, center = T, scale = T)`  

ขั้นตอนพีชคณิตเชิงเส้นตาม:

C <- cov(X)                                           # Covariance matrix (centered data)

[at_nomelt_pat_no10.296melt_p0.2961]

ฟังก์ชั่นความสัมพันธ์cor(dat1)ให้ผลลัพธ์เดียวกันกับข้อมูลที่ไม่ได้ปรับขนาดเช่นเดียวกับฟังก์ชั่นcov(X)ในข้อมูลที่ปรับขนาด

lambda        <- eigen(C)$values                      # Eigenvalues
lambda_matrix <- diag(2)*eigen(C)$values              # Eigenvalues matrix

[λPC1λPC21.296422000.7035783]

e_vectors     <- eigen(C)$vectors                     # Eigenvectors

12[PC1PC21111]

[0.7,0.7][0.7,0.7]

e_vectors[,1] = - e_vectors[,1]; colnames(e_vectors) <- c("PC1","PC2")

1.29642170.703578364.8%eigen(C)$values[1]/sum(eigen(C)$values) * 10065%35.2%

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

เราจะรวมทั้ง eigenvectors ที่มีขนาดเล็กของตัวอย่างชุดข้อมูลของเล่นนี้การทำความเข้าใจว่าการไม่รวมหนึ่งของ eigenvector จะส่งผลให้ลดมิติ - แนวคิดเบื้องหลัง PCA

เมทริกซ์คะแนนถูกกำหนดเป็นคูณเมทริกซ์ของข้อมูลที่ปรับขนาด ( X) โดยเมทริกซ์ของ eigenvectors (หรือ "หมุน") :

score_matrix <-  X %*% e_vectors    
# Identical to the often found operation: t(t(e_vectors) %*% t(X))

X[0.7,0.7]TPC1[0.7,0.7]TPC2

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

[0.7,0.7]

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

1

> apply(e_vectors, 2, function(x) sum(x^2))
PC1 PC2 
  1   1 

ในขณะที่ ( โหลด ) เป็น eigenvectors ปรับขนาดโดยค่าลักษณะเฉพาะ (แม้จะมีคำศัพท์ที่สับสนในฟังก์ชั่น R ที่สร้างขึ้นแสดงด้านล่าง) ดังนั้นการคำนวณสามารถคำนวณได้ดังนี้:

> e_vectors          %*% lambda_matrix
          [,1]      [,2]
[1,] 0.9167086  0.497505
[2,] 0.9167086 -0.497505

> prcomp(X)$rotation %*% diag(princomp(covmat = C)$sd^2)
                   [,1]      [,2]
atomic.no     0.9167086  0.497505
melting.point 0.9167086 -0.497505

เป็นที่น่าสนใจที่จะทราบว่า cloud data ที่ถูกหมุน (พล็อตคะแนน) จะมีความแปรปรวนตามแต่ละองค์ประกอบ (PC) เท่ากับค่าลักษณะเฉพาะ:

> apply(score_matrix, 2, function(x) var(x))
       PC1        PC2 
53829.7896   110.8414 
> lambda
[1] 53829.7896   110.8414

การใช้ฟังก์ชันในตัวผลลัพธ์สามารถทำซ้ำได้:

# For the SCORE MATRIX:
  prcomp(X)$x
# or...
  princomp(X)$scores # The signs of the PC 1 column will be reversed.

# and for EIGENVECTOR MATRIX:
  prcomp(X)$rotation
# or...
  princomp(X)$loadings

# and for EIGENVALUES:
  prcomp(X)$sdev^2
# or...
  princomp(covmat = C)$sd^2

UΣVTprcomp()

svd_scaled_dat <-svd(scale(dat1))
eigen_vectors <- svd_scaled_dat$v
eigen_values <- (svd_scaled_dat$d/sqrt(nrow(dat1) - 1))^2
scores<-scale(dat1) %*% eigen_vectors

ผลลัพธ์จะแสดงอยู่ด้านล่างด้วยระยะทางแรกจากจุดแต่ละจุดไปยังไอเก็นเวกเตอร์ตัวแรกและบนพล็อตที่สอง

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

ถ้าเราพล็อตค่าของเมทริกซ์คะแนน (PC1 และ PC2) - ไม่ใช่ "จุดหลอมเหลว" และ "atomic.no" อีกต่อไป แต่เป็นการเปลี่ยนพื้นฐานของจุดพิกัดกับ eigenvectors เป็นระยะทางเหล่านี้จะเป็น ดอง แต่โดยธรรมชาติจะตั้งฉากกับแกน xy:

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

เคล็ดลับคือตอนนี้ที่จะกู้คืนข้อมูลเดิม คะแนนที่ได้รับการแปลงผ่านการคูณเมทริกซ์ง่ายโดย eigenvector ตอนนี้ข้อมูลถูกหมุนกลับโดยการคูณด้วยการผกผันของเมทริกซ์ของ eigenvector ที่มีการเปลี่ยนแปลงอย่างมีนัยสำคัญในตำแหน่งของจุดข้อมูล ตัวอย่างเช่นสังเกตการเปลี่ยนแปลงในจุดสีชมพู "GaN" ใน Quadrant ด้านซ้าย (วงกลมสีดำในพล็อตซ้ายด้านล่าง) กลับสู่ตำแหน่งเริ่มต้นใน Quadrant ด้านซ้ายล่าง (วงกลมสีดำในพล็อตขวาด้านล่าง)

ในที่สุดเราก็มีข้อมูลต้นฉบับคืนมาในเมทริกซ์ "ที่หมุนแล้ว" นี้:

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

นอกเหนือจากการเปลี่ยนพิกัดการหมุนของข้อมูลใน PCA แล้วผลลัพธ์จะต้องถูกตีความและกระบวนการนี้มีแนวโน้มที่จะเกี่ยวข้องกับ a biplotซึ่งจุดข้อมูลจะถูกพล็อตเกี่ยวกับพิกัด eigenvector ใหม่และตัวแปรดั้งเดิมถูกวางซ้อนเป็น เวกเตอร์ มันเป็นเรื่องที่น่าสนใจที่จะบันทึกความเท่าเทียมกันในตำแหน่งของจุดระหว่างแปลงในแถวที่สองของกราฟการหมุนด้านบน ("คะแนนด้วย xy Axis = Eigenvectors") (ไปทางซ้ายในแปลงที่ติดตาม) และbiplot(ไปยัง ขวา):

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

การซ้อนทับของตัวแปรดั้งเดิมเมื่อลูกศรสีแดงนำเสนอเส้นทางไปสู่การตีความPC1ว่าเป็นเวกเตอร์ในทิศทาง (หรือมีความสัมพันธ์เชิงบวก) กับทั้งสองatomic noและmelting point; และPC2เป็นองค์ประกอบตามค่าที่เพิ่มขึ้นของatomic noแต่มีความสัมพันธ์เชิงลบกับ melting pointสอดคล้องกับค่าของ eigenvector:

PCA$rotation
                    PC1        PC2
atomic.no     0.7071068  0.7071068
melting.point 0.7071068 -0.7071068

บทช่วยสอนแบบโต้ตอบนี้โดย Victor Powell ให้ข้อเสนอแนะทันทีเกี่ยวกับการเปลี่ยนแปลงใน eigenvector เมื่อมีการปรับเปลี่ยนคลาวด์ข้อมูล


1
+1 สำหรับความพยายามและโดยเฉพาะอย่างยิ่งสำหรับแอนิเมชั่น! แต่เราควรจำไว้ว่า PCA ในเมทริกซ์ความสัมพันธ์ของสองตัวแปรเป็นบิตของกรณีพิเศษเพราะเมทริกซ์ความสัมพันธ์ทั้งหมดของสองตัวแปรมีค่าลักษณะเฉพาะเหมือนกัน : หนึ่งในนั้นจะเป็น [0.7 0.7] (0.7 เป็น 1 / sqrt (2)) นี่ไม่ใช่กรณีของเมทริกซ์ความแปรปรวนร่วมหรือเมทริกซ์สหสัมพันธ์ในมิติที่สูงกว่า
อะมีบา

14

จากคนที่เคยใช้ PCA มามาก (และพยายามอธิบายให้คนอื่นเห็นด้วย) นี่เป็นตัวอย่างจากประสาทวิทยาศาสตร์ของฉันเอง

เมื่อเราบันทึกจากหนังศีรษะของคนเราจะทำมันด้วยอิเล็กโทรด 64 อัน ดังนั้นในความเป็นจริงเรามีตัวเลข 64 ตัวในรายการที่แสดงถึงแรงดันไฟฟ้าที่ได้รับจากหนังศีรษะ ตอนนี้เนื่องจากเราบันทึกด้วยความแม่นยำระดับไมโครวินาทีหากเรามีการทดลอง 1 ชั่วโมง (บ่อยครั้งที่พวกเขาเป็น 4 ชั่วโมง) จากนั้นจะให้ 1e6 * 60 ^ 2 == 3,600,000,000 เวลาคะแนนที่แรงดันไฟฟ้าถูกบันทึกที่ขั้วไฟฟ้าแต่ละอัน มีเมทริกซ์ 3,600,000,000 x 64 เนื่องจากข้อสมมติฐานหลักของ PCA คือตัวแปรของคุณมีความสัมพันธ์กันดังนั้นจึงเป็นเทคนิคที่ยอดเยี่ยมในการลดจำนวนข้อมูลที่ไร้สาระนี้ให้เหลือจำนวนที่น่าจะเป็นไปได้ ดังที่ได้กล่าวไปแล้วหลายครั้งค่าลักษณะเฉพาะแสดงถึงจำนวนความแปรปรวนที่อธิบายโดยตัวแปร (คอลัมน์) ในกรณีนี้ค่าลักษณะเฉพาะแสดงถึงความแปรปรวนของแรงดันไฟฟ้า ณ จุดใดเวลาหนึ่งที่เกิดจากอิเล็กโทรดเฉพาะ ตอนนี้เราสามารถพูดได้ว่า "โอ้อิเล็กโทรดที่ดีxณ จุดเวลาyคือสิ่งที่เราควรมุ่งเน้นไปที่การวิเคราะห์ต่อไปเพราะนั่นคือสิ่งที่เกิดการเปลี่ยนแปลงมากที่สุด "หวังว่านี่จะช่วยได้รักแผนการถดถอยเหล่านั้น!


12

ฉันอาจจะเป็นคนไม่ดีที่จะตอบคำถามนี้เพราะฉันเป็นคุณยายสุภาษิตที่มีแนวคิดอธิบายให้ฉันและไม่มาก แต่ที่นี่ไป:

สมมติว่าคุณมีประชากร ประชากรส่วนใหญ่เสียชีวิตจากอาการหัวใจวาย คุณกำลังพยายามหาสาเหตุที่ทำให้เกิดอาการหัวใจวาย

คุณมีข้อมูลสองส่วนคือส่วนสูงและน้ำหนัก

ตอนนี้เป็นที่ชัดเจนว่ามีความสัมพันธ์บางอย่างระหว่างน้ำหนักและโรคหัวใจ แต่ความสัมพันธ์ไม่แข็งแกร่งจริงๆ มีบางคนหนักที่มีอาการหัวใจวายจำนวนมาก แต่บางคนไม่

ตอนนี้คุณทำ PCA และมันบอกคุณว่าน้ำหนักหารด้วยความสูง ('มวลกาย') เป็นตัวทำนายที่น่าจะเป็นโรคหัวใจได้มากกว่าน้ำหนักหรือส่วนสูงเพราะแท้จริงแล้วดูเถิด "ความจริง" ก็คือ มวลกายที่ทำให้เกิดอาการหัวใจวาย

โดยพื้นฐานแล้วคุณทำ PCA เพราะคุณกำลังทำการวัดหลาย ๆ อย่างและคุณไม่รู้ว่ามันเป็นองค์ประกอบหลักจริงๆหรือว่ามีส่วนประกอบพื้นฐานที่ลึกกว่าที่คุณไม่ได้วัด

[โปรดแก้ไขสิ่งนี้หากไม่สามารถแก้ไขได้ทั้งหมด ฉันไม่เข้าใจแนวคิดที่ลึกซึ้งยิ่งไปกว่านี้]


1
ยินดีต้อนรับสู่เว็บไซต์สถิติ @Joel! หากคุณได้รับโอกาสนี้คุณยังอาจนำไปสู่การอภิปรายเกี่ยวกับการกระจาย StackExchange โครงการการวิเคราะห์ข้อมูลที่นำเสนอของเรา: stats.stackexchange.com/questions/2512/...
เชน

9
ตัวอย่างที่ยอดเยี่ยม แต่ในทางเทคนิค PCA ไม่สามารถหาคำอธิบายมวลกายเนื่องจากสามารถหาคำอธิบายเชิงเส้นได้นั่นคือผลรวมถ่วงน้ำหนักของตัวแปรดั้งเดิม อย่างไรก็ตามหากคุณใช้บันทึกของตัวแปรอินพุตอัตราส่วนจะกลายเป็นความแตกต่างและหากเป็นคำอธิบายที่ถูกต้อง PCA จะสามารถค้นหาได้
David MW พลัง

10

นี่คือหนึ่งสำหรับคุณยาย:

ในเมืองของเรามีถนนไปทางทิศเหนือและทิศใต้บางทิศตะวันออกและตะวันตกและบางทิศตะวันตกเฉียงเหนือและตะวันออกเฉียงใต้บางทิศตะวันออกถึงทิศตะวันตกเฉียงเหนือ วันหนึ่งผู้ชายวัดการจราจรบนถนนทุกสายเขาพบว่าการจราจรส่วนใหญ่เป็นแนวทแยงมุมจากทิศตะวันตกเฉียงเหนือไปทางตะวันออกเฉียงใต้ที่ใหญ่เป็นอันดับสองอยู่ในแนวตั้งฉากกับทิศตะวันออกเฉียงเหนือถึงทิศตะวันตกเฉียงใต้และที่เหลือค่อนข้างเล็ก ดังนั้นเขาจึงวาดสี่เหลี่ยมขนาดใหญ่และวางเส้นใหญ่จากซ้ายไปขวาและบอกว่านั่นคือ NW to SE จากนั้นก็ลากเส้นอีกเส้นหนึ่งในแนวตั้งขึ้นและลงผ่านกลาง เขาบอกว่านั่นเป็นทิศทางที่แออัดเป็นอันดับสองสำหรับการจราจร (NE ถึง SW) ส่วนที่เหลือมีขนาดเล็กจึงสามารถละเว้นได้

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


1
การเปรียบเทียบนี้ดูเหมือนว่าจะพังทลายลงภายใต้การตรวจสอบ เกิดอะไรขึ้นถ้าทิศทางการจราจรที่ใหญ่ที่สุดและใหญ่เป็นอันดับสองไม่ใช่มุมฉาก? การเปรียบเทียบของคุณช่วยให้เราเข้าใจ PCA ในกรณีเช่นนี้อย่างไร
whuber

ฉันเดาว่ายายเข้าใจว่าความหมายมุมฉากคืออะไร? ใช่ข้อบกพร่องบางอย่างที่นั่น แต่มันเป็นการเริ่มต้น ฉันคิดว่ามันดีที่มีคำตอบมากมายที่นี่
BajaBob

2
ไม่ว่า "ยาย" จะเข้าใจโพสต์นั้นจะต้องมีเหตุผลที่ชัดเจนและถูกต้อง การเปรียบเทียบของคุณดูเหมือนจะไม่บรรลุเป้าหมายอย่างใดอย่างหนึ่ง อาจเป็นเพราะฉันไม่เข้าใจการเปรียบเทียบ: ฉันไม่สามารถเชื่อมต่อกับ PCA ได้หรือไม่ บางทีคุณอาจอธิบายให้ชัดเจนว่าการเปรียบเทียบทำงานอย่างไรเพื่อให้ผู้อ่านคนอื่นไม่กลายเป็นคนงงเหมือนฉัน
whuber

ความจริงที่ว่าพวกเขาไม่ใช่มุมฉากหมายความว่าคุณต้องการ ICA หรือ FA ไม่ใช่ PCA ถ้าคุณยายกำลังดู Star Trek (ใช่เธอคือคนรุ่นนั้น) เมื่อพวกเขาแสดงยานลำพิการในมุม - PCA จะมีแนวโน้มที่จะกู้คืนเครื่องบินอ้างอิงที่เกี่ยวข้องกับขนาดและมุมมอง (ระนาบกาแล็กซี่หรือแกนของเรือ)
David MW Powers

-1 ฉันเห็นด้วยกับ @whuber ว่าการเปรียบเทียบนี้ไม่ทำงาน สิ่งที่ควรเป็นข้อมูลที่นี่เมทริกซ์ความแปรปรวนร่วมคือ ฉันไม่เข้าใจเลย
อะมีบา

10

คำตอบนี้ให้การตีความที่ใช้งานง่ายและไม่เกี่ยวกับคณิตศาสตร์:

PCA จะให้เวกเตอร์มุมฉากภายในเมฆจุดสูง ลำดับของเวกเตอร์จะถูกกำหนดโดยข้อมูลที่แสดงให้เห็นทุกจุดบนเวกเตอร์

กล่าวอีกนัยหนึ่ง: เวกเตอร์องค์ประกอบหลักตัวแรกจะบอกคุณได้มากที่สุดเกี่ยวกับ cloud point หลังจากที่ฉายจุดทั้งหมดบนเวกเตอร์ นี่คือการตีความที่หยั่งรู้แน่นอน

ดูรูปวงรีนี้(ตามลิงค์สำหรับแบบจำลอง 3 มิติ) :

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

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

ฉันเดาว่าสีแดงตามแนวแกนที่ยาวที่สุด และนี่คือส่วนประกอบหลักที่คำนวณได้ครั้งแรก! อันไหนถัดไป - ฉันจะเลือกอันสีฟ้าตามแกนที่ยาวที่สุดต่อไป

โดยปกติคุณต้องการโครงการชุดของจุดจากพื้นที่สูงมิติบนระนาบสองมิติหรือเป็นพื้นที่สามมิติ

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


http://www.joyofdata.de/blog/illustration-of-principal-component-analysis-pca/


10

แม้ว่าจะมีตัวอย่างมากมายที่ให้ความเข้าใจที่เข้าใจง่ายของ PCA ความจริงนั้นสามารถทำให้ยากที่จะเข้าใจตั้งแต่เริ่มต้น แต่อย่างน้อยมันก็เป็นของฉัน

"อะไรคือสิ่งที่เกี่ยวกับ PCA ที่ตัวอย่างที่แตกต่างกันเหล่านี้จากสาขาวิชาต่าง ๆ มีเหมือนกัน ??"

สิ่งที่ช่วยให้ฉันเข้าใจได้โดยสัญชาตญาณมีสองแนวคณิตศาสตร์เนื่องจากมันชัดเจนว่าคณิตศาสตร์เป็นส่วนที่ง่ายสำหรับคุณถึงแม้ว่าสิ่งนี้จะไม่ช่วยอธิบายให้คุณยาย ...

คิดว่าเป็นปัญหาการพยายามทำให้เป็นปกติ

||XBY||=0

YY

YYXkBYXBkSVSVT

AA


9

นี่คือคำตอบทางคณิตศาสตร์: องค์ประกอบหลักแรกคือมิติที่ยาวที่สุดของข้อมูล ดูและถาม: ข้อมูลกว้างที่สุดที่ไหน? นั่นคือองค์ประกอบแรก องค์ประกอบถัดไปคือฉากตั้งฉาก ซิการ์ของข้อมูลจึงมีความยาวและความกว้าง มันสมเหตุสมผลสำหรับสิ่งที่เป็นรูปสี่เหลี่ยมผืนผ้า


6
น่าเสียดายที่ความถูกต้องของคำตอบนี้ขึ้นอยู่กับการตีความที่คลุมเครือ "ที่ยาวที่สุด" การตีความทางธรรมชาติและที่เกี่ยวข้องหลายอย่างเช่นเส้นผ่านศูนย์กลางจะผิด
whuber

PCA ใช้งานได้ดีกับวิธีธรรมชาติในการวัดขนาด / ขนาดที่แตกต่างกัน คุณเพียงแค่ต้องแทนที่เมทริกซ์ความแปรปรวนร่วมกับเมทริกซ์เพื่อวัด "มิติ" ในทิศทางใด ๆ (เมทริกซ์นั้นต้องนิยามในเชิงบวกหรือสมมาตร) นี่ก็เหมือนกับ QuickSort ที่ใช้งานได้กับผู้ประกอบการสั่งซื้อที่แตกต่างกัน สำหรับผู้ประกอบการสั่งซื้อที่แตกต่างกัน
James LI

9

วิธีที่ฉันเข้าใจองค์ประกอบหลักคือ: ข้อมูลที่มีตัวแปรหลายตัว (ความสูง, น้ำหนัก, อายุ, อุณหภูมิ, ความยาวคลื่น, อัตรารอดร้อยละ, ฯลฯ ) สามารถนำเสนอในสามมิติเพื่อวางแผนความสัมพันธ์

ตอนนี้ถ้าคุณต้องการทำให้ "ข้อมูล 3D" อย่างใดอย่างหนึ่งคุณอาจต้องการที่จะรู้ว่าเครื่องบิน 2D (ข้ามส่วน) ของข้อมูล 3D นี้มีข้อมูลมากที่สุดสำหรับชุดของตัวแปรที่กำหนด เครื่องบิน 2D เหล่านี้เป็นองค์ประกอบหลักซึ่งมีสัดส่วนของแต่ละตัวแปร

คิดว่าองค์ประกอบหลักเป็นตัวแปรตัวเองโดยมีลักษณะประกอบจากตัวแปรดั้งเดิม (ตัวแปรใหม่นี้สามารถอธิบายได้ว่าเป็นน้ำหนักชิ้นส่วนความสูงส่วนหนึ่งอายุส่วน ฯลฯ ) เมื่อคุณพล็อตส่วนประกอบหลัก (X) กับอีกองค์ประกอบหนึ่ง (Y) สิ่งที่คุณกำลังทำคือการสร้างแผนที่ 2 มิติที่สามารถอธิบายความสัมพันธ์เชิงเรขาคณิตระหว่างตัวแปรดั้งเดิมได้ ตอนนี้ส่วนที่มีประโยชน์: เนื่องจากการเปรียบเทียบแต่ละเรื่อง (การสังเกต) เกี่ยวข้องกับค่าของตัวแปรแต่ละตัว (สังเกต) จะพบที่ใดที่หนึ่งบนแผนที่ XY นี้ สถานที่ตั้งของพวกเขาขึ้นอยู่กับการมีส่วนร่วมของตัวแปรพื้นฐานแต่ละตัว (เช่นการสังเกตหนึ่งครั้งอาจได้รับผลกระทบอย่างมากจากอายุและอุณหภูมิ


8

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


Non-Mathy:

คำอธิบายที่ไม่ใช่ทางคณิตศาสตร์คือ PCA ช่วยสำหรับข้อมูลมิติสูงโดยให้คุณเห็นทิศทางของข้อมูลที่มีความแปรปรวนมากที่สุด เส้นทางเหล่านี้เป็นองค์ประกอบหลัก เมื่อคุณมีข้อมูลนี้แล้วในบางกรณีให้ตัดสินใจใช้องค์ประกอบหลักเป็นตัวแปรที่มีความหมายและลดมิติของข้อมูลของคุณอย่างมหาศาลโดยการรักษาส่วนประกอบหลักด้วยความแปรปรวนมากที่สุด ( พลังการอธิบาย )

ตัวอย่างเช่นสมมติว่าคุณให้แบบสอบถามเกี่ยวกับการเลือกตั้งทางการเมืองด้วยคำถาม 30 ข้อแต่ละข้อสามารถตอบกลับเป็น 1 ( ไม่เห็นด้วยอย่างยิ่ง ) ถึง 5 ( เห็นด้วยอย่างยิ่ง ) คุณได้รับคำตอบมากมายและตอนนี้คุณมีข้อมูล 30 มิติและคุณไม่สามารถสร้างหัวหรือก้อยออกมาได้ เมื่อหมดหวังคุณคิดว่าจะเรียกใช้ PCA และค้นพบความแปรปรวน 90% ของคุณมาจากทิศทางเดียวและทิศทางนั้นไม่สอดคล้องกับแกนใด ๆ ของคุณ หลังจากตรวจสอบข้อมูลเพิ่มเติมแล้วคุณสรุปได้ว่าแกนลูกผสมใหม่นี้สอดคล้องกับสเปกตรัมซ้าย - ขวาทางการเมืองเช่นสเปกตรัมประชาธิปไตย / สาธารณรัฐและไปดูแง่มุมที่ลึกซึ้งยิ่งขึ้นของข้อมูล


Mathy:

บางครั้งช่วยในการย่อและดูแรงจูงใจทางคณิตศาสตร์เพื่อให้แสงสว่างกับความหมาย

มีตระกูลเมทริกซ์พิเศษที่สามารถเปลี่ยนเป็นเมทริกซ์แนวทแยงได้โดยการเปลี่ยนแกนพิกัดของคุณ โดยธรรมชาติแล้วพวกมันถูกเรียกว่าเมทริกซ์แบบทแยงมุมและสง่างามพอแกนพิกัดใหม่ที่จำเป็นในการทำเช่นนี้คือผู้ชำนาญการไอจีอี

เมื่อปรากฎว่าเมทริกซ์ความแปรปรวนร่วมนั้นมีความสมมาตรและจะทแยงมุมได้เสมอ! ในกรณีนี้ eigenvector จะเรียกว่าองค์ประกอบหลักและเมื่อคุณเขียนเมทริกซ์ความแปรปรวนร่วมในพิกัด eigenvector รายการในแนวทแยง (ที่เหลือเพียงอันเดียว) สอดคล้องกับความแปรปรวนในทิศทางของ eigenvector ของคุณ สิ่งนี้ทำให้เราทราบว่าทิศทางใดมีความแปรปรวนมากที่สุด ยิ่งกว่านั้นเนื่องจากเมทริกซ์ความแปรปรวนร่วมเป็นเส้นทแยงมุมในพิกัดเหล่านี้คุณได้กำจัดความสัมพันธ์ทั้งหมดระหว่างตัวแปรของคุณอย่างชาญฉลาด

เป็นเรื่องธรรมดาในแอปพลิเคชั่นที่ใช้งานได้จริงเราคิดว่าตัวแปรของเรามีการกระจายตัวตามปกติและมันค่อนข้างเป็นธรรมชาติในการลองและเปลี่ยนพิกัดของเราเพื่อดูภาพที่ง่ายที่สุด ด้วยการรู้องค์ประกอบหลักของคุณและค่าลักษณะเฉพาะ (ความแปรปรวน) คุณจะสามารถลดมิติข้อมูลของคุณได้หากต้องการและยังมีการสรุปทั่วไปอย่างรวดเร็วว่าข้อมูลของคุณอยู่ที่ไหน

แต่ในตอนท้ายของวันที่รากของทุกความปรารถนานี้มาจากความจริงที่ว่าเมทริกซ์ทแยงมุมเป็นวิธีที่ง่ายต่อการจัดการกับในการเปรียบเทียบกับ Messier ของพวกเขาญาติทั่วไปมากขึ้น


2
ขอขอบคุณสำหรับการสนับสนุนของคุณ. ดูเหมือนว่าจะแก้ไขการตีความที่ไม่จำเป็นของ PCA อย่างไร (1) PCA ได้รับการใช้อย่างมีผลกับชุดข้อมูลที่ไม่ใช่แบบเกาส์สูง (2) PCA ไม่ใช่กระบวนการที่เป็นทางการ มันอาจเป็นการดีกว่าที่จะคิดว่ามันเป็นเชิงสำรวจในวิญญาณ (3) ทั้งหมดเมทริกซ์ความแปรปรวนของแต่ละชนิดของการกระจายหลายตัวแปรหรือข้อมูลใด ๆ ที่มี diagonalizable Gaussianity (Normality) หรือความเสื่อมที่ไม่ใช่ความเสื่อมนั้นเป็นข้อกำหนด (สมมาตรของเมทริกซ์และการมีส่วนประกอบที่แท้จริงรับประกันความสามารถในแนวทแยง )
whuber

ฉันต้องยอมรับว่าฉันอายที่จะลืม แต่ประเด็นที่ดีเกี่ยวกับเมทริกซ์ความแปรปรวนร่วมนั้นเป็นแนวทแยงมุมโดยทั่วไป ฉันจะแก้ไขเพื่อสะท้อนสิ่งนั้น นอกจากนี้คุณช่วยอธิบายเกี่ยวกับประเด็น (2) ได้ไหม? ฉันไม่คุ้นเคยกับความแตกต่างระหว่างขั้นตอนพารามิเตอร์หรือไม่ใช่พารามิเตอร์
Christian Bueno

7

ฉันดู PCA เป็นเครื่องมือทางเรขาคณิต หากคุณได้รับคะแนนจำนวนมากในแบบ 3 สเปซซึ่งเกือบทั้งหมดเป็นเส้นตรงและคุณต้องการหาสมการของเส้นนั้นคุณจะได้มันผ่าน PCA (ใช้องค์ประกอบแรก) หากคุณมีจุดจำนวนมากในพื้นที่ 3 จุดซึ่งส่วนใหญ่เป็นระนาบและต้องการค้นพบสมการของระนาบนั้นให้ทำผ่าน PCA (ใช้เวกเตอร์องค์ประกอบที่มีความสำคัญน้อยที่สุด


7

ทำไมค่าลักษณะเฉพาะ / eigenvectors?

เมื่อทำ PCA คุณต้องการคำนวณพื้นฐานมุมฉากบางส่วนโดยการเพิ่มความแปรปรวนที่คาดการณ์ไว้ในแต่ละเวกเตอร์พื้นฐาน

เมื่อคำนวณเวกเตอร์พื้นฐานก่อนหน้านี้คุณต้องการให้เวกเตอร์ถัดไปเป็น:

  • ตั้งฉากกับหน้าที่แล้ว
  • บรรทัดฐาน 1
  • ความแปรปรวนที่คาดการณ์ไว้สูงสุดเช่นค่าความแปรปรวนร่วมสูงสุด

นี่เป็นปัญหาการปรับให้เหมาะสมแบบ จำกัด และตัวคูณ Lagrange (นี่คือสัญชาตญาณทางเรขาคณิตดูหน้าวิกิพีเดีย) บอกคุณว่าการไล่ระดับสีของวัตถุประสงค์

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


5
ไม่ใช่คำอธิบายของเวกเตอร์พื้นฐานคนธรรมดา - แน่นอน? การเพิ่มความแปรปรวนของการฉายภาพให้มากที่สุด? ปัญหาการเพิ่มประสิทธิภาพที่ จำกัด ? ตัวคูณลากรองจ์? คำศัพท์เหล่านี้มีความ "สูงมาก" แสดงคนธรรมดาที่เข้าใจความหมายของสิ่งเหล่านี้และฉันจะแสดงให้คุณเห็นนักคณิตศาสตร์ / นักสถิติ
ความน่าจะ

6

โดยทั่วไป PCA ค้นหาตัวแปรใหม่ซึ่งเป็นการรวมกันเชิงเส้นของตัวแปรดั้งเดิมเช่นในพื้นที่ใหม่ข้อมูลมีขนาดน้อยลง ลองนึกถึงชุดข้อมูลที่ประกอบด้วยคะแนนใน 3 มิติบนพื้นผิวของแผ่นแบนที่ยกขึ้นเป็นมุม ในแกน x, y, z เดิมคุณต้องการ 3 มิติเพื่อแสดงข้อมูล แต่ด้วยการแปลงเชิงเส้นที่ถูกต้องคุณต้องมี 2 เท่านั้น

โดยพื้นฐานแล้ว @Joel พูดอะไร แต่มีเพียงชุดค่าผสมเชิงเส้นของตัวแปรอินพุตเท่านั้น


6

เวลาหลังฉันพยายามที่จะเข้าใจอัลกอริทึม PCA นี้และฉันต้องการที่จะทำบันทึกเกี่ยวกับเวกเตอร์ไอเกนและค่าไอเกน เอกสารดังกล่าวระบุว่าจุดประสงค์ของ EVs คือการแปลงแบบจำลองของแบบจำลองขนาดใหญ่เป็นแบบจำลองขนาดเล็กมาก

ตัวอย่างเช่นแทนที่จะสร้างสะพานขนาดเต็มก่อนจากนั้นจึงทำการทดลองและทดสอบบนสะพานมันเป็นไปได้ที่จะใช้ EV เพื่อสร้างสะพานขนาดเล็กมากซึ่งปัจจัย / ปริมาณทั้งหมดจะลดลงด้วยระยะห่างเดียวกันและยิ่งกว่านั้น ผลลัพธ์ที่แท้จริงของการทดสอบและการทดสอบที่เกี่ยวข้องกับความเครียดที่ดำเนินการสามารถคำนวณและขยายได้อย่างเหมาะสมตามความจำเป็นสำหรับแบบจำลองดั้งเดิม ในทาง EVs ช่วยในการสร้างบทคัดย่อของเดิม

สำหรับฉันคำอธิบายนี้มีความหมายลึกซึ้งกับสิ่งที่ฉันพยายามทำ! หวังว่ามันจะช่วยคุณเช่นกัน!


-1 บางทีฉันอาจไม่ได้ชื่นชมการเปรียบเทียบอย่างเต็มที่ แต่มันก็ดูหลอกฉัน PCA ทำหน้าที่ (ในทาง) อนุญาตให้ "แปลง" โมเดล "ใหญ่" เป็นโมเดล "เล็ก" แต่ทำได้โดยการลดมิติข้อมูลของชุดข้อมูล แต่สะพานเล็กแห่งมิติต่ำกว่าเป็นอย่างไร พวกเขาเป็นทั้งสามมิติไม่ใช่พวกเขา
อะมีบา

@ amoeba: สารสกัดนี้ออกมาจากกระดาษที่ฉันอ่านนี่ไม่ใช่คำพูดของฉัน ฉันไม่ได้ศึกษาหัวข้อนี้มานานแล้วและฉันสูญเสียการติดตาม
Rorschach

6

ลองนึกภาพคุณยายเพิ่งถ่ายภาพและภาพยนตร์เรื่องแรกในกล้องดิจิตอลที่คุณมอบให้เธอในวันคริสต์มาสโชคไม่ดีที่เธอวางมือขวาขณะที่เธอกดปุ่มเพื่อถ่ายรูปและเธอก็สั่นเล็กน้อยในภาพยนตร์ด้วย เธอสังเกตเห็นว่าผู้คนต้นไม้รั้วอาคารประตูทางเข้าเฟอร์นิเจอร์ ฯลฯ ไม่ได้ขึ้นและลงไม่ใช่แนวดิ่งและพื้นพื้นดินทะเลเส้นขอบฟ้าไม่เป็นแนวนอน และภาพยนตร์ก็ค่อนข้างสั่นคลอนเช่นกัน เธอถามว่าคุณสามารถช่วยเธอแก้ไขรูปถ่ายวันหยุดทั้งหมด 3,000 รูปและวิดีโอประมาณ 100 เรื่องที่บ้านและชายหาด (เธอเป็นชาวออสเตรเลีย) เปิดของขวัญเดินในประเทศ เธอมีซอฟต์แวร์ภาพนี้ที่ให้คุณทำอย่างนั้น คุณบอกเธอว่าต้องใช้เวลาหลายวันและจะไม่ทำงานกับวิดีโอต่อไป แต่คุณรู้เทคนิคที่เรียกว่า PCA และ ICA ที่อาจช่วยได้ คุณอธิบายว่าการวิจัยของคุณเกี่ยวข้องกับการหมุนของข้อมูลในมิติที่เป็นธรรมชาติซึ่งเทคนิคเหล่านี้จะหาทิศทางที่สำคัญที่สุดในข้อมูลภาพถ่ายในกรณีนี้และหมุนดังนั้นที่สำคัญที่สุดคือแนวนอนอันที่สอง เป็นแนวตั้ง (และยังสามารถเพิ่มมิติที่เราไม่สามารถจินตนาการได้เป็นอย่างดีแม้ว่าเวลาจะเป็นมิติในภาพยนตร์)

-

เทคนิคนอกเหนือ ในความเป็นจริงคุณอาจได้รับปริญญาเอกของคุณทำสิ่งนี้เพื่อเธอและมีบทความสำคัญจาก Bell และ Sejnowski (1997) เกี่ยวกับองค์ประกอบอิสระของรูปภาพที่สอดคล้องกับขอบ ในการเชื่อมโยงสิ่งนี้กับ PCA: ICA ใช้ PCA หรือ SVD เป็นขั้นตอนแรกเพื่อลดขนาดและการประมาณเริ่มต้น แต่จากนั้นปรับปรุงพวกเขาที่คำนึงถึงข้อผิดพลาดลำดับที่สอง (SSE) เช่น PCA แต่ข้อผิดพลาดในการสั่งซื้อสูง ICA คำสั่งซื้อที่สูงขึ้นทั้งหมดถึงแม้ว่าอัลกอริทึมจำนวนมากจะ จำกัด ตัวเองเป็นอันดับที่ 3 หรือ 4 ส่วนประกอบ PCA ที่มีลำดับต่ำมักจะได้รับอิทธิพลอย่างมากจากแนวนอนและแนวตั้ง การจัดการกับการเคลื่อนไหวของกล้องสำหรับภาพยนตร์ยังสามารถใช้ประโยชน์จาก PCA / ICA ทั้งสำหรับภาพ 2D และภาพยนตร์2½Dคุณต้องมีลูกเล่นสองสามอย่างเพื่อให้ได้สิ่งนี้

แอปพลิเคชันอื่นที่คุณสามารถอธิบายให้คุณยายได้คือ eigenfaces - ลำดับที่สูงกว่า eigenvector สามารถประมาณ '7 ความรู้สึกพื้นฐาน' (ใบหน้าเฉลี่ยสำหรับแต่ละคนและ 'การหมุนปรับสเกล' หรือการผสมเชิงเส้นเพื่อหาค่าเฉลี่ย) แต่บ่อยครั้งที่เราพบส่วนประกอบที่ เกี่ยวข้องกับเพศและเชื้อชาติและบางคนอาจแยกความแตกต่างของบุคคลหรือคุณลักษณะแต่ละอย่าง (แว่นตาเครา ฯลฯ ) นี่คือสิ่งที่เกิดขึ้นหากคุณมีภาพถ่ายของบุคคลใดบุคคลหนึ่งและอารมณ์ / การแสดงออกจำนวนมาก แต่คุณจะได้รับอคติที่แตกต่างกันหากคุณมีหลายใบหน้าที่มีการแสดงออกที่เป็นกลาง การใช้ ICA แทน PCA นั้นไม่ได้ช่วยอะไรมากสำหรับอารมณ์ความรู้สึกพื้นฐาน แต่ Bartlett และ Sejnowsiki (1997) แสดงให้เห็นว่ามันมีคุณสมบัติที่มีประโยชน์สำหรับการจดจำใบหน้า


1
ฉันขอขอบคุณที่พยายามสื่อสารกับตัวอย่างและโดยการเปรียบเทียบ อย่างไรก็ตามการใช้รูปภาพนั้นเป็นเรื่องที่โชคร้ายเพราะคุณยายที่มีโอกาสสูงจะไม่เข้าใจว่าความรู้สึกของคุณในการ "หมุน" นั้นมีส่วนเกี่ยวข้องกับการหมุนแกนของภาพเพียงเล็กน้อยและเธอก็ไม่เข้าใจว่าคุณกำลังใช้มิติ "ในแง่นามธรรมที่ภาพถ่ายมีมิตินับล้านและไม่ใช่แค่สองมิติ
whuber

ใช่คุณต้องแสดงว่ามันเป็นคลาวด์แบบจุดเหมือนกับภาพในคำตอบอื่น ๆ การประมวลผลล่วงหน้าด้วยการตรวจจับขอบบางรูปแบบและ / หรือการกำหนดเกณฑ์ขั้นต่ำอาจเป็นส่วนหนึ่งของ "ลูกเล่น" ที่ฉันพูดถึง แต่การใช้งานกับภาพถ่ายที่ซับซ้อนนั้นต้องใช้กลเม็ดปริญญาเอก
David MW พลัง

@ เมื่อไรฉันใช้ PCA (well SVD) จริง ๆ เพื่อค้นหาการหมุนเหล่านี้ในการปรับเทียบภาพสเตอริโอ! แน่นอนว่ามันเป็นความรู้สึกหมุนแบบเดียวกัน
David MW Powers

2

ฉันคิดว่าทุกคนเริ่มอธิบาย PCA จากจุดจบที่ผิด: จาก eigenvectors คำตอบของฉันเริ่มต้นในสถานที่ที่เหมาะสม: ระบบพิกัด Eigenvectors และ eigenproblem โดยทั่วไปเป็นเครื่องมือทางคณิตศาสตร์ที่ใช้ในการแก้ไขปัญหาจริงในมือซึ่งเป็นระบบพิกัดที่ไม่ถูกต้อง ฉันจะอธิบาย

เริ่มจากบรรทัดกันก่อน เส้นคืออะไร มันเป็นวัตถุหนึ่งมิติ ดังนั้นคุณต้องการเพียงหนึ่งมิติที่จะย้ายจากจุดหนึ่งไปยังอีก บนเครื่องบินแม้ว่าคุณจะแนบสองจุดพิกัดใด ๆ ของบรรทัด นั่นเป็นเพราะด้วยความเคารพต่อสายตัวเองระบบพิกัดจะถูกเลือกโดยพลการ ระบบพิกัดฉันจะเถียงไม่สะท้อนธรรมชาติภายในหนึ่งมิติของเส้น ถ้าเพียง แต่ฉันจะใส่จุดกำเนิดของระบบพิกัดคาร์ทีเซียนของฉันเสมอบนบรรทัดและหมุนมันเพื่อให้แกน x ของมันอยู่ในบรรทัดฉันก็ไม่ต้องการแกน y อีกต่อไป! คะแนนทั้งหมดของฉันอยู่บนหนึ่งแกนเนื่องจากเส้นหนึ่งเป็นวัตถุหนึ่งมิติ

นั่นคือสิ่งที่คำอธิบาย PCA ควรเริ่มต้น ปัญหาไอเกนเป็นเครื่องมือที่ใช้ในการหมุนที่ฉันอธิบายและความหมายของตัวแปรที่ทำให้เกิดต้นกำเนิดบนเส้น PCA ช่วยเผยให้เห็นขนาดที่แท้จริงของข้อมูลเพื่อให้ยาวความสัมพันธ์ระหว่างตัวแปรที่มีเส้นตรง


1

โปรดจำไว้ว่า eigenvector เป็นเวกเตอร์ที่การแปลงขนานกับเวกเตอร์อินพุตเดียวกัน ดังนั้นไอเก็นเวกเตอร์ที่มีค่าไอเก็ตสูงหมายความว่าไอเกนเวกเตอร์มีระดับ 'ขนาน' ของข้อมูลซึ่งหมายความว่าคุณสามารถแสดงข้อมูลด้วยเวกเตอร์นี้เท่านั้นและคาดว่าจะมีข้อผิดพลาดต่ำในการแสดงใหม่ หากคุณเลือกค่าไอเก็นเพิ่มเติมที่มีค่าไอคริตีต่ำคุณจะสามารถแสดงรายละเอียดของข้อมูลได้มากขึ้นเพราะคุณจะแสดง 'ขนาน' อื่น ๆ - ซึ่งไม่โดดเด่นเท่ากับค่าแรกเนื่องจากค่าลักษณะที่ต่ำกว่า


0

โดยทั่วไปแล้ว PCA เป็นการฉายภาพของพื้นที่มิติที่สูงขึ้นสู่พื้นที่มิติที่ต่ำกว่าในขณะที่รักษาข้อมูลให้มากที่สุด

ฉันเขียนบล็อกโพสต์ที่ฉันอธิบาย PCA ผ่านการฉายภาพ 3D-teapot ...

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

... บนเครื่องบินสองมิติในขณะที่เก็บรักษาข้อมูลให้มากที่สุด

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

รายละเอียดและรหัส R เต็มสามารถพบได้ในโพสต์:
http://blog.ephorie.de/intuition-for-principal-component-analysis-pca


1
รูปภาพในปัจจุบันนี้มีความคิดเห็นมากกว่าคำตอบ คุณสามารถขยายมันได้โดยอาจให้ข้อมูลสรุปที่ลิงค์หรือไม่ โพสต์ในเครือข่าย SE ควรจะสามารถยืนได้ด้วยตัวเอง
gung

@ gung: ยุติธรรมมาก - ส่วนสำคัญคือ PCA โดยทั่วไปคือการฉายภาพของพื้นที่มิติที่สูงขึ้น (ในกรณีนี้คือ 3D-teapot) ไปยังพื้นที่มิติด้านล่าง (ในกรณีนี้เป็นระนาบ 2D) ในขณะที่รักษาข้อมูลมากที่สุดเท่าที่ เป็นไปได้ จะเปลี่ยนมันในคำตอบ
vonjd

แน่นอนว่าเป็นความจริง (& อธิบายไว้ในคำตอบอื่น ๆ ที่มีอยู่ในหัวข้อนี้) แต่โดยทั่วไปควรมีคำตอบที่โพสต์ในระบบ SE มากกว่านี้และพวกเขาควรจะสามารถยืนด้วยตัวเองได้เช่นถ้าลิงก์เสียไป
gung

1
ตัวอย่างกาน้ำชาน่าสนใจ คุณบอกว่า PCA เป็นการประมาณพื้นที่มิติต่ำลงในขณะที่รักษา 'ข้อมูล' ไว้มาก แต่ .... ข้อมูลคืออะไร? ในกรณีของ PCA หมายถึงการรักษาความแปรปรวนโดยรวมให้สูงที่สุด ตัวอย่างหม้อชาเป็นเหมือนที่ระบุว่าข้อมูลนั้น "ได้รับการเก็บรักษามากที่สุด" โดยใช้การฉายภาพในระนาบหนึ่ง แต่สิ่งนี้จะอธิบายเพียงเล็กน้อยว่า PCA ทำสิ่งนี้อย่างไรและไม่ว่าจะเป็นข้อมูลที่ดีที่สุด ตัวอย่างเช่น LDA ยังเป็นเส้นโครงที่ตั้งใจจะเก็บรักษาข้อมูล แต่ไม่เหมือนกับ PCA
Martijn Weterings

หากกาน้ำชาของคุณมีรอบ / กลม (สูงน้อยกว่า) PCA จะมี 'เลือก' จุดตัดที่แตกต่างกันเพื่อรักษา "ข้อมูล" ส่วนใหญ่
Martijn Weterings

-4

บางทีการวิเคราะห์ในช่วงท้ายอาจเป็นข้อสันนิษฐานโดยนัยว่าข้อมูลจากกลุ่มที่ 1 แตกต่างจากกลุ่มที่ 2 และพยายามที่จะค้นหาว่าองค์ประกอบใดน่าจะเป็นปัจจัยสำคัญที่ทำให้เกิดความแตกต่าง

ดำเนินการวิเคราะห์ PCA ที่ส่งผลให้รูปวงรีที่เหมือนกันสำหรับ 2 ชุดที่แตกต่างกันแล้วบอกคุณว่าทั้งสองชุดไม่ได้แตกต่างกันโดยพารามิเตอร์ใด ๆ ที่คุณวัด


2
ฉันสงสัยว่าคุณกำลังคิดถึง MANOVA หรือไม่ หากคุณเรียกใช้ PCA sepa4ate สองเครื่องคุณจะแสดงให้เห็นว่าโครงสร้างความสัมพันธ์มีความคล้ายคลึงกัน
gung

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