ยินดีต้อนรับสู่โลกแห่งการตีความ PCA!

สวัสดีครับ! หากคุณเคยต้องรับมือกับชุดข้อมูลขนาดใหญ่ที่มีตัวแปรหลายสิบตัวจนรู้สึกท้อแท้ บอกเลยว่าคุณมาถูกที่แล้ว ในโลกของ การเรียนรู้แบบไม่มีผู้สอน (Unsupervised Learning) นั้น Principal Components Analysis (PCA) เปรียบเสมือนพลังพิเศษที่ช่วยให้เราสรุปข้อมูลที่ซับซ้อนให้กลายเป็น "แก่นหลัก" เพียงไม่กี่ประการได้

ในบทนี้ เราจะไม่เพียงแค่คำนวณตัวเลขกันเท่านั้น แต่เราจะเรียนรู้วิธี ตีความ สิ่งที่ตัวเลขเหล่านั้นบอกเราเกี่ยวกับข้อมูล เมื่อจบบทนี้ คุณจะสามารถอธิบายได้ว่า "Loading" คืออะไร ทำไมการทำ Scaling ถึงสำคัญ และจะอ่านกราฟ Biplot ที่ดูน่ากลัวเหล่านั้นได้อย่างไร มาเริ่มกันเลย!


1. "สูตรลับ" ของ PCA: ทำความเข้าใจเรื่อง Loadings

ลองจินตนาการว่าคุณกำลังอธิบายสุขภาพของคนคนหนึ่ง คุณมีข้อมูลทั้งน้ำหนัก ส่วนสูง ความดันโลหิต และอัตราการเต้นของหัวใจ แทนที่จะดูตัวเลขแต่ละตัวแยกกัน คุณอาจต้องการสร้าง "คะแนนสุขภาพ (Fitness Score)" ขึ้นมาเพียงค่าเดียว คะแนนนี้แหละคือ Principal Component (PC)

เราจะสร้างคะแนนนั้นได้อย่างไร? เราใช้สิ่งที่เรียกว่า Loadings ครับ

คำศัพท์สำคัญ: Loadings (\(\phi\))
Loadings จะบอกเราว่าตัวแปรต้นฉบับแต่ละตัวมีส่วนร่วมมากน้อยเพียงใดใน Principal Component นั้นๆ ให้มองว่ามันเป็น "ส่วนผสม" ในสูตรอาหาร ถ้าตัวแปรใดมีค่า Loading สูง (ใกล้ 1 หรือ -1) แสดงว่าตัวแปรนั้นเป็นส่วนประกอบที่สำคัญมากของ PC ตัวนั้น แต่ถ้าค่าใกล้ 0 แสดงว่าตัวแปรนั้นไม่ได้มีผลอะไรกับ PC ตัวนั้นเท่าไรนัก

เวกเตอร์ของ Loading:
สำหรับ Principal Component ตัวที่หนึ่ง (PC1) เวกเตอร์ของ Loading จะเขียนได้ดังนี้:
\( \phi_{1} = (\phi_{11}, \phi_{21}, ..., \phi_{p1}) \)

เงื่อนไขสำคัญ:
เพื่อให้เกิดความเป็นธรรม ผลรวมของกำลังสองของ Loadings สำหรับ PC หนึ่งตัวจะต้องเท่ากับ 1 เสมอ:
\( \sum_{j=1}^{p} \phi_{j1}^2 = 1 \)
สิ่งนี้ช่วยป้องกันไม่ให้อัลกอริทึมพยายามทำให้ Loadings มีค่าสูงเกินจริงเพื่อ "หลอก" ว่ามีความแปรปรวน (Variance) สูง

ข้อควรจำ: Loadings บอกเราถึง ทิศทาง และ ความสำคัญ ของแต่ละตัวแปรในการสร้าง Principal Component


2. "พิกัดใหม่": ทำความเข้าใจเรื่อง Scores

เมื่อเราได้ "สูตรอาหาร" (Loadings) แล้ว เราก็นำไปใช้กับข้อมูลจริงของเรา ผลลัพธ์ที่ได้เรียกว่า Score

คำศัพท์สำคัญ: Principal Component Scores (\(z\))
Score คือค่าของข้อมูลแต่ละจุด (Observation) เมื่อถูกแปลงไปอยู่ใน Principal Component นั้นๆ ถ้า PC1 หมายถึง "ขนาดโดยรวม" ช้างก็จะมี Score ที่สูงมาก ในขณะที่หนูจะมี Score ที่ต่ำมาก

สูตรคำนวณ:
สำหรับข้อมูลตัวที่ \(i\) คะแนนของ Principal Component ตัวที่หนึ่งคือ:
\( z_{i1} = \phi_{11}x_{i1} + \phi_{21}x_{i2} + ... + \phi_{p1}x_{ip} \)

ไม่ต้องกังวลถ้าดูเหมือนยาก! แค่จำไว้ว่า: Loadings เป็นตัวกำหนดองค์ประกอบ ส่วน Scores คือจุดข้อมูลแต่ละจุดที่ถูกแปลงเป็น "ภาษา" ขององค์ประกอบใหม่นั้นนั่นเอง


3. ทำไมการทำ Scaling ถึงเป็นสิ่งที่เลี่ยงไม่ได้

นี่คือหัวข้อโปรดของข้อสอบ SRM เลยครับ! ก่อนที่จะทำ PCA เราเกือบจะต้อง ทำ Scaling ข้อมูลเสมอ เพื่อให้ตัวแปรทุกตัวมีค่าเฉลี่ยเป็น 0 และส่วนเบี่ยงเบนมาตรฐานเป็น 1

ทำไมต้องทำ?
PCA ให้ความสำคัญกับ ความแปรปรวน (Variance) เป็นอย่างมาก หากตัวแปรหนึ่งวัดหน่วยเป็น "เยน" (หลักพัน) และอีกตัวแปรหนึ่งวัดเป็น "เปอร์เซ็นต์" (0 ถึง 1) ตัวแปรที่เป็น "เยน" จะมีความแปรปรวนสูงกว่ามากเพียงเพราะตัวเลขมันใหญ่กว่า PCA จะเข้าใจผิดคิดว่าตัวแปร "เยน" นั้นสำคัญที่สุด ทั้งที่จริงๆ อาจจะไม่ใช่เลย!

ข้อผิดพลาดที่ควรหลีกเลี่ยง:
อย่าข้ามการทำ Scaling เว้นแต่ว่าตัวแปรทั้งหมดของคุณจะมีหน่วยเดียวกันอยู่แล้ว (เช่น เป็นเซนติเมตรทั้งหมด) ถ้าหน่วยต่างกัน ต้องทำ Scaling เสมอ!

ทบทวนสั้นๆ:
- ไม่ทำ Scaling: ตัวแปรที่มีหน่วยขนาดใหญ่จะข่มตัวแปรอื่น
- ทำ Scaling: ทุกตัวแปรจะได้รับ "คะแนนเสียงที่เป็นธรรม"


4. การสร้างภาพ PCA: Biplot

Biplot คือกราฟพิเศษที่แสดงทั้ง Scores และ Loadings ไว้ในที่เดียวกัน เหมือนซื้อหนึ่งได้ถึงสอง!

วิธีอ่านกราฟ:
1. จุด (Dots): แทนข้อมูลแต่ละตัว (Scores) จุดที่อยู่ใกล้กันแสดงว่าข้อมูลนั้นมีลักษณะคล้ายกัน
2. ลูกศร (Vectors): แทนตัวแปรต้นฉบับ (Loadings)
3. ทิศทาง: ถ้าลูกศรสองอันชี้ไปทางเดียวกัน แสดงว่าตัวแปรนั้นมีความสัมพันธ์เชิงบวกต่อกัน ถ้าชี้ไปทางตรงข้าม แสดงว่ามีความสัมพันธ์เชิงลบ
4. ความยาว: ลูกศรที่ยาวกว่าแสดงว่าตัวแปรนั้นมีอิทธิพลต่อ PC ที่แสดงในกราฟมากกว่า

รู้หรือไม่? แกนของ Biplot มักจะเป็น PC1 (แกน x) และ PC2 (แกน y) และ PC1 จะเก็บข้อมูลได้ครอบคลุมมากกว่า PC2 เสมอ


5. สัดส่วนความแปรปรวนที่อธิบายได้ (PVE)

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

ความแปรปรวนรวม (Total Variance): คือผลรวมความแปรปรวนของตัวแปรทั้งหมด (ซึ่งมักจะเท่ากับจำนวนตัวแปร \(p\) หากเราทำ Scaling แล้ว)
PVE ของ PC ตัวที่ \(m\):
\( PVE_m = \frac{Variance \, explained \, by \, PC_m}{Total \, Variance} \)

Scree Plot:
คือแผนภูมิแท่งหรือเส้นที่แสดง PVE ของแต่ละองค์ประกอบ โดยทั่วไปจะมีลักษณะเหมือนสไลเดอร์: สูงทางซ้ายและค่อยๆ ลดลงเมื่อไปทางขวา
- วิธี "ข้อศอก" (Elbow Method): ในการตัดสินใจว่าควรเก็บกี่ PC ให้มองหาจุดที่กราฟเริ่มหักศอกจนราบเรียบ (เหมือนข้อศอก) นี่เป็นวิธีทั่วไปในการเลือกจำนวนองค์ประกอบที่เหมาะสม

เทคนิคการจำ: ให้คิดว่า PVE คือ "Power Value Earned" (พลังที่ได้รับ) เราต้องการได้รับ "พลัง" (ความแปรปรวน) ให้มากที่สุดโดยใช้จำนวนองค์ประกอบให้น้อยที่สุด


6. สรุปและเคล็ดลับสุดท้าย

ประเด็นสำคัญ:
- PC1 คือทิศทางที่มีการเปลี่ยนแปลงของข้อมูลมากที่สุด
- Loadings กำหนดทิศทาง; Scores คือจุดข้อมูลที่ถูกฉายลงไป
- Scaling เป็นสิ่งจำเป็นเพื่อป้องกันไม่ให้หน่วยของตัวแปรทำให้ผลลัพธ์คลาดเคลื่อน
- Scree Plots ช่วยให้เราเลือกจำนวนองค์ประกอบโดยมองหาจุด "ข้อศอก"
- PCA เป็นเทคนิคแบบ ไม่มีผู้สอน (Unsupervised) ไม่มีตัวแปร "y" หรือคำตอบที่ "ถูกต้อง" ที่เราพยายามจะทำนาย

เคล็ดลับการสอบ: ถ้าเจอคำถามเรื่องการตีความ PCA ให้ตรวจสอบก่อนว่ามีการทำ Scaling ข้อมูลหรือไม่ จากนั้นให้ดูที่ลูกศรใน Biplot เพื่อดูว่าตัวแปรไหน "เคลื่อนที่ไปด้วยกัน" ถ้า PC1 อธิบายความแปรปรวนได้ 70% และ PC2 ได้ 20% แสดงว่าคุณเก็บข้อมูลได้ถึง 90% ของเรื่องราวทั้งหมดด้วยองค์ประกอบเพียงสองตัวเท่านั้น!

ฝึกฝนต่อไปนะครับ คุณทำได้อยู่แล้ว! PCA เป็นหัวข้อที่มักจะ "เข้าใจทันที" หลังจากได้เห็นตัวอย่างสัก 2-3 ข้อ