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

แกนใหม่เหล่านี้เรียกว่าองค์ประกอบหลัก (principal components) ใน PCA แบบมาตรฐาน องค์ประกอบแรกจะเก็บความแปรปรวนได้มากที่สุดเท่าที่เป็นไปได้ องค์ประกอบที่สองจะเก็บความแปรปรวนที่เหลืออยู่ให้มากที่สุดโดยยังตั้งฉากกับองค์ประกอบแรก และองค์ประกอบถัด ๆ ไปก็ทำตามรูปแบบเดียวกัน

PCA กำลังพยายามหาอะไร

ลองนึกภาพกลุ่มจุดในปริภูมิหลายมิติ PCA จะมองหาทิศทางที่กลุ่มจุดนั้นกระจายออกมากที่สุด

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

สำหรับข้อมูลที่ถูกทำให้มีค่าเฉลี่ยเป็นศูนย์แล้ว องค์ประกอบหลักตัวแรกจะแก้ปัญหา

maximize Var(Xw)subject to w=1,\text{maximize } \mathrm{Var}(Xw) \quad \text{subject to } \|w\| = 1,

โดยที่ XX คือเมทริกซ์ข้อมูลที่ถูก center แล้ว และ ww คือเวกเตอร์ทิศทาง

เงื่อนไขการ center มีความสำคัญ หากไม่ center ข้อมูล ทิศทางที่ถูกเลือกอาจถูกกำหนดโดยระดับค่าเฉลี่ยของตัวแปร มากกว่าการเปลี่ยนแปลงของข้อมูลรอบค่าเฉลี่ยนั้น

วิธีคำนวณ PCA

ขั้นตอนมาตรฐานมีไม่กี่ข้อ:

  1. วางข้อมูลสังเกตในแต่ละแถว และตัวแปรในแต่ละคอลัมน์
  2. center ตัวแปรแต่ละตัวโดยลบค่าเฉลี่ยของมันออก
  3. หากตัวแปรใช้หน่วยที่ต่างกันมาก และไม่ต้องการให้สเกลเป็นตัวครอบงำ ก็ควรทำมาตรฐานด้วย
  4. คำนวณเมทริกซ์ความแปรปรวนร่วมของข้อมูลที่ถูก center แล้ว
  5. หา eigenvectors และ eigenvalues ของเมทริกซ์นั้น

eigenvectors ให้ทิศทางหลัก ส่วน eigenvalues บอกว่าทิศทางแต่ละทิศอธิบายความแปรปรวนได้มากแค่ไหน

คุณอาจเห็นการคำนวณ PCA ด้วยการแยกค่าเอกฐาน หรือ SVD ด้วย สำหรับข้อมูลที่ถูก center แล้ว วิธีนี้ให้ปริภูมิย่อยหลักเหมือนกัน และในทางปฏิบัติมักเป็นวิธีเชิงตัวเลขที่นิยมกว่า

ตัวอย่าง PCA แบบคำนวณจริงใน 2 มิติ

พิจารณาข้อมูลสังเกต 2 มิติสามจุด:

(1,1),(2,2),(3,3).(1,1), \quad (2,2), \quad (3,3).

จุดเหล่านี้อยู่บนเส้นตรง y=xy=x พอดี ดังนั้นเราจึงคาดได้อยู่แล้วว่าจะมีทิศทางเด่นเพียงทิศทางเดียว

เริ่มจาก center ข้อมูลโดยลบค่าเฉลี่ย (2,2)(2,2) ออก:

(1,1),(0,0),(1,1).(-1,-1), \quad (0,0), \quad (1,1).

สำหรับชุดข้อมูลที่ถูก center นี้ เมทริกซ์ความแปรปรวนร่วมจะแปรผันตาม

(1111).\begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}.

ทิศทาง eigenvector ที่ตั้งฉากกันสองทิศคือ

12(1,1)and12(1,1).\frac{1}{\sqrt{2}}(1,1) \quad \text{and} \quad \frac{1}{\sqrt{2}}(1,-1).

ทิศทางแรกชี้ไปตามเส้นที่ข้อมูลมีการเปลี่ยนแปลงจริง ส่วนทิศทางที่สองชี้ตัดขวางเส้นนั้น

ฉายจุดที่ถูก center แล้วลงบนทิศทางแรก:

(1,1)2,(0,0)0,(1,1)2.(-1,-1) \mapsto -\sqrt{2}, \quad (0,0) \mapsto 0, \quad (1,1) \mapsto \sqrt{2}.

ฉายจุดเหล่านั้นลงบนทิศทางที่สอง:

(1,1)0,(0,0)0,(1,1)0.(-1,-1) \mapsto 0, \quad (0,0) \mapsto 0, \quad (1,1) \mapsto 0.

ดังนั้นความแปรปรวนทั้งหมดจึงอยู่ตามแนว 12(1,1)\frac{1}{\sqrt{2}}(1,1) และไม่มีเลยตามแนว 12(1,1)\frac{1}{\sqrt{2}}(1,-1) ในกรณีพิเศษนี้ องค์ประกอบหลักเพียงตัวเดียวก็เก็บรูปแบบการเปลี่ยนแปลงทั้งหมดไว้ได้ โดยใช้ตัวเลขเพียงหนึ่งค่าต่อหนึ่งจุด

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

องค์ประกอบหลักหมายถึงอะไร

องค์ประกอบหลักแต่ละตัวเป็นการรวมเชิงเส้นของตัวแปรต้นฉบับ

ถ้าองค์ประกอบแรกมีรูปเป็น

z1=0.7x1+0.7x2,z_1 = 0.7x_1 + 0.7x_2,

นั่นหมายความว่าทิศทางหลักของความแปรปรวนเป็นการรวมกันของตัวแปรสองตัวแรกด้วยน้ำหนักใกล้เคียงกัน การตีความที่แน่นอนขึ้นอยู่กับตัวแปร และขึ้นอยู่ด้วยว่าข้อมูลถูกเพียง center หรือถูกทำมาตรฐานด้วย

scores คือพิกัดของข้อมูลสังเกตแต่ละจุดหลังจากฉายลงบนทิศทางหลัก ส่วน loadings อธิบายว่าตัวแปรต้นฉบับแต่ละตัวมีส่วนต่อองค์ประกอบหนึ่ง ๆ มากเพียงใด

ข้อผิดพลาดที่พบบ่อยใน PCA

ข้ามขั้นตอนการ Center

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

มองข้ามเรื่องสเกล

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

คิดว่า PCA หา “คุณลักษณะที่มีความหมายที่สุด”

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

คิดว่าการฉายในมิติต่ำไม่สูญเสียข้อมูล

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

เมื่อไร PCA มีประโยชน์

PCA พบได้บ่อยเมื่อมีตัวแปรที่สัมพันธ์กัน และคุณต้องการตัวแทนข้อมูลที่ง่ายขึ้น

การใช้งานทั่วไปได้แก่:

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

วิธีนี้มีประโยชน์มากที่สุดเมื่อโครงสร้างที่อิงกับความแปรปรวนเป็นการสรุปปัญหาที่สมเหตุสมผล

ลองทำโจทย์ที่คล้ายกัน

พล็อตจุด (1,2)(1,2), (2,3)(2,3), (3,4)(3,4) และ (4,5)(4,5) จากนั้น center จุดเหล่านี้ แล้วเปรียบเทียบการกระจายของมันตามทิศทาง (1,1)(1,1) และ (1,1)(1,-1) แบบฝึกหัดเล็ก ๆ นี้จะทำให้เห็นชัดว่าเหตุใด PCA จึงเลือกทิศทางหนึ่งว่าเป็นทิศทางสำคัญ และมองอีกทิศทางว่าแทบซ้ำซ้อน

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

ต้องการความช่วยเหลือในการแก้โจทย์?

อัปโหลดคำถามของคุณแล้วรับคำตอบแบบทีละขั้นตอนที่ผ่านการตรวจสอบในไม่กี่วินาที

เปิด GPAI Solver →