Principal Component Analysis

cway investment
cw-quantlab
Published in
2 min readOct 6, 2018

--

งาน Machine learning เป็น Quant Analysis ขั้น advance ที่เน้นไปที่ตัวข้อมูล โดยเฉพาะข้อมูลจำนวนมาก และข้อมูลที่มีความซับซ้อน

Principal Component Analysis (PCA) คือ เทคนิคเชิงเลขอันหนึ่งที่เรานิยมนำมาใช้ในการทำ decomposition ข้อมูล ในกระบวนการเตรียมและคลีนข้อมูล เพื่อลด features redundancy และช่วยบีบอัด feature space ให้เล็กลง ตัดตัวแปรที่มีความสำคัญน้อยออกไป โดยไม่ทำให้สูญเสีย information หรือข้อมูลสำคัญไป

หลักการเบื้องต้นของ PCA เริ่มจากการทำ Normalize ข้อมูล ด้วย Standard deviation ได้ จากนั้นนำค่าที่ได้มาคำนวณหา Covariance Matrix จากนั้นนำไปคำนวณ Eigen vector และ Eigen value เพื่อใช้เป็นค่าในสกัดคุณสมบัติเด่นออกมา

แล้วทำการจัดเรียงลำดับค่าตาม Eigen vector เราก็จะได้ Feature ที่สำคัญตัว Top 3 หรือ Top 5 เพื่อนำมาใช้ในการกำหนดเป็น Feature หลัก หรือเป็นตัวแปรสำคัญในการวิเคราะห์ต่อไป โดย PCA จะให้ความสำคัญกับ Correlation ซึ่งเป็นอีกกระบวนการที่ช่วยเราในงาน Feature Selection และ Feature extraction ในการทำ Machine Learning ต่อไป

ตัวอย่างกระบวนการทำ PCA ในข้อมูลจริงบ้าง โดยทดลองกับข้อมูล ขนาดไม่มากเพื่อลดเวลาการสาธิตโดย ย่อยข้อมูล 4500 บรรทัดจาก จาก 7 Feature ให้เหลือ 2 Feature

ลองนำข้อมูลที่ผ่านการทำ PCA ไปรัน SVM แบบคราวๆ ไม่ optimize เพื่อลองดูผล สิ่งที่พบก็น่าสนใจ ดี

อ้างอิง

http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf

http://setosa.io/ev/principal-component-analysis/

http://webspace.ship.edu/pgmarr/Geo441/Lectures/Lec%2017%20-%20Principal%20Component%20Analysis.pdf

--

--