ยินดีต้อนรับสู่โลกของโครงการ Big Data!

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

1. วงจรชีวิตของโครงการ Big Data (Big Data Project Lifecycle)

โครงการ Big Data ไม่ใช่แค่การ "คำนวณตัวเลข" แต่เป็นกระบวนการที่มีลำดับขั้นตอนทางตรรกะที่ชัดเจน หากคุณข้ามขั้นตอนใดขั้นตอนหนึ่งไป การวิเคราะห์ทั้งหมดอาจล้มเหลวได้ ให้เปรียบเทียบกับการอบเค้กสูตรซับซ้อนครับ ถ้าคุณเตรียมวัตถุดิบไม่ถูกต้อง ต่อให้เตาอบของคุณจะดีแค่ไหน เค้กก็ออกมาไม่ดีอยู่ดี!

ขั้นตอนการทำงานมาตรฐานมี 5 ขั้นตอนหลักดังนี้:
1. การกำหนดแนวคิดโครงการ (Conceptualizing the Project): การระบุปัญหาให้ชัดเจน
2. การรวบรวมข้อมูล (Data Collection): การจัดหาวัตถุดิบดิบเข้ามา
3. การเตรียมข้อมูล (Data Preparation/Wrangling): การทำความสะอาดและจัดระเบียบข้อมูล
4. การสร้างแบบจำลอง (Model Building): ส่วนที่เป็น "Machine Learning" ของจริง
5. การประเมินแบบจำลอง (Model Evaluation): ตรวจสอบว่าผลลัพธ์ที่ได้นั้นมีประโยชน์จริงหรือไม่

เคล็ดลับน่ารู้: การเตรียมข้อมูลมักใช้เวลาถึง 80% ของเวลาทั้งหมดที่นักวิทยาศาสตร์ข้อมูลมี สำหรับการสอบ CFA ให้ความสำคัญกับขั้นตอนการทำความสะอาดข้อมูลให้มากนะครับ!

2. ขั้นตอนที่ 1 และ 2: การกำหนดแนวคิดและการรวบรวมข้อมูล

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

ประเภทของแหล่งข้อมูล

ในโครงการ Big Data เราจัดการกับข้อมูลหลักๆ 2 ประเภท:
- ข้อมูลที่มีโครงสร้าง (Structured Data): ให้คิดถึงไฟล์ Excel มาตรฐานที่มีแถวและคอลัมน์ (เช่น ราคาหุ้นย้อนหลัง หรือค่า P/E)
- ข้อมูลที่ไม่มีโครงสร้าง (Unstructured Data): เป็นข้อมูลที่ "ยุ่งเหยิง" เช่น บทความข่าว โพสต์ในโซเชียลมีเดีย หรือบทสรุปการประชุมผลประกอบการของบริษัท ซึ่งปกติจะต้องใช้ การประมวลผลภาษาธรรมชาติ (Natural Language Processing หรือ NLP) ในการทำความเข้าใจ

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

3. ขั้นตอนที่ 3: การเตรียมข้อมูล (ช่วง "ทำความสะอาด")

ข้อมูลดิบมักจะ "สกปรก" เสมอ ไม่ว่าจะเป็นความผิดพลาด ค่าที่ขาดหายไป หรือค่าที่ผิดปกติ (Outliers) เราจึงต้องใช้ Data Wrangling (หรือการประมวลผลล่วงหน้า) เพื่อแก้ไขสิ่งเหล่านี้

A. การจัดการข้อมูลที่ขาดหายไป (Handling Missing Data)

หากข้อมูลบางจุดหายไป คุณมีทางเลือกหลัก 2 ทาง:
- การตัดออก (Exclusion): ลบแถวนั้นทิ้งไปเลย (ระวัง! ถ้าคุณลบออกมากเกินไป คุณอาจเสียข้อมูลสำคัญไปได้)
- การเติมค่า (Imputation): เติมช่องว่างด้วยการคาดคะเนเชิงตรรกะ เช่น การใช้ค่าเฉลี่ย (mean) ของจุดข้อมูลอื่นๆ มาแทน

B. การจัดการค่าที่ผิดปกติ (Handling Outliers)

Outliers คือค่าที่สุดโต่งซึ่งสามารถดึงความแม่นยำของแบบจำลองให้เบี่ยงเบนได้ คุณสามารถ:
- การตัดส่วนเกิน (Trim): ตัดข้อมูลที่อยู่ในช่วง 1% ต่ำสุดและสูงสุดออกไป
- การทำ Winsorize: แทนที่จะลบ Outliers ทิ้ง เราใช้วิธีจำกัดค่าที่เปอร์เซ็นไทล์ที่กำหนด (เช่น เปลี่ยนค่าที่อยู่นอกเหนือเปอร์เซ็นไทล์ที่ 99 ให้กลับมาเท่ากับค่าที่เปอร์เซ็นไทล์ที่ 95)

C. การปรับขนาดและทำให้เป็นมาตรฐาน (Scaling and Normalization)

ลองจินตนาการว่าถ้าเราเทียบราคาหุ้น (2,000 บาท) กับอัตราเงินปันผลตอบแทน (0.02) แบบจำลองอาจคิดว่าราคาหุ้น "สำคัญกว่า" เพียงเพราะตัวเลขมันใหญ่กว่า เพื่อแก้ปัญหานี้ เราจึงต้องปรับขนาดข้อมูล:
- Min-Max Scaling: บีบอัดข้อมูลทั้งหมดให้อยู่ในช่วงระหว่าง 0 ถึง 1
- Standardization: ปรับข้อมูลให้มีค่าเฉลี่ยเป็น 0 และมีค่าเบี่ยงเบนมาตรฐานเป็น 1

สูตรจำง่ายๆ: S.O.M. (Scale, Outliers, Missing) อย่าลืม 3 สิ่งนี้เวลาที่มีคนถามวิธีเตรียมข้อมูลนะครับ!

4. ขั้นตอนที่ 4: การสร้างแบบจำลอง

ตอนนี้มาถึงส่วนที่เป็น "AI" กันแล้ว เราจะแบ่งข้อมูลออกเป็น 2 กลุ่ม:
1. ชุดฝึกสอน (Training Set): ข้อมูลที่แบบจำลองใช้เพื่อ "เรียนรู้" รูปแบบต่างๆ
2. ชุดทดสอบ (Test Set): ข้อมูลใหม่ที่ใช้เพื่อดูว่าแบบจำลองทำงานได้จริงหรือไม่

ข้อผิดพลาดที่พบบ่อย: Data Leakage (การรั่วไหลของข้อมูล) เกิดขึ้นเมื่อข้อมูลจากชุดทดสอบ "รั่วไหล" เข้าไปในชุดฝึกสอน เปรียบเหมือนนักเรียนที่เห็นเฉลยข้อสอบก่อนจะทำจริง พวกเขาอาจจะได้คะแนนเต็ม 100 แต่ไม่ได้เรียนรู้อะไรเลย!

Underfitting vs. Overfitting

- Underfitting: แบบจำลองง่ายเกินไป (High Bias) ทำให้มองข้ามเทรนด์สำคัญไป
- Overfitting: แบบจำลองซับซ้อนเกินไปจน "ท่องจำ" สัญญาณรบกวน (noise) ในชุดฝึกสอนได้แม่นยำเกินไป แต่กลับทำผลงานได้แย่มากเมื่อเจอข้อมูลจริงในโลกภายนอก

ประเด็นสำคัญ: เราต้องการแบบจำลองแบบ "Goldilocks"—ไม่ซับซ้อนเกินไป ไม่เรียบง่ายเกินไป แต่ต้อง "พอดี" (มี Bias ต่ำ และ Variance ต่ำ)

5. ขั้นตอนที่ 5: การประเมินแบบจำลอง (การวัดความสำเร็จ)

เราจะรู้ได้อย่างไรว่าแบบจำลองของเราดีพอ? เราใช้ Confusion Matrix สำหรับงานจำแนกประเภท (เช่น "ซื้อ" vs "ขาย")

ลองนึกภาพแบบจำลองที่ทำนายว่าบริษัทจะล้มละลายหรือไม่:
- True Positive (TP): ทำนายว่าจะล้มละลาย และมันล้มละลายจริงๆ (ถูกต้อง!)
- True Negative (TN): ทำนายว่าจะไม่ล้มละลาย และมันไม่ล้มละลาย (ถูกต้อง!)
- False Positive (Type I Error): ทำนายว่าจะล้มละลาย แต่จริงๆ ยังแข็งแกร่งดี (สัญญาณเตือนภัยปลอม)
- False Negative (Type II Error): ทำนายว่าแข็งแกร่งดี แต่จริงๆ ล้มละลาย (ข้อผิดพลาดที่อันตรายที่สุด!)

ตัวชี้วัดสำคัญที่ต้องจำ:

1. Precision (ความแม่นยำ): ในบรรดาการทำนายว่า "ใช่" ทั้งหมด มีกี่ครั้งที่ทำนายได้ถูกต้อง?
\( Precision = \frac{TP}{TP + FP} \)
2. Recall (ความไว): ในบรรดาเหตุการณ์ที่ "เกิดขึ้นจริง" ทั้งหมด เราตรวจจับได้กี่ครั้ง?
\( Recall = \frac{TP}{TP + FN} \)
3. Accuracy (ความถูกต้องแม่นยำรวม): สัดส่วนของการทำนายที่ถูกต้องทั้งหมด
\( Accuracy = \frac{TP + TN}{Total} \)
4. F1 Score: ค่าเฉลี่ย Harmonic ระหว่าง Precision และ Recall ใช้ตัวนี้เมื่อมี ข้อมูลที่ไม่สมดุล (Imbalanced data) (เช่น บริษัท 99% ไม่ล้มละลาย แต่มีแค่ 1% ที่ล้มละลาย)

คุณรู้ไหม? ค่า Accuracy ที่สูงเกินไปอาจหลอกเราได้! หากบริษัท 99% แข็งแกร่งอยู่แล้ว แบบจำลอง "งี่เง่า" ที่ทำนายว่า "ไม่ล้มละลาย" สำหรับทุกบริษัท จะได้ค่า Accuracy ถึง 99% แต่กลับไร้ประโยชน์ในการหาบริษัท 1% ที่ล้มละลาย นี่คือเหตุผลที่เราใช้ F1 Score ครับ

6. การแสดงภาพผลการดำเนินงาน: ROC และ AUC

สำหรับการจำแนกประเภทแบบสองทาง (Binary Classification) เรามักใช้กราฟ Receiver Operating Characteristic (ROC) curve
- กราฟนี้จะพล็อตกราฟระหว่าง True Positive Rate (Recall) กับ False Positive Rate
- ค่า Area Under the Curve (AUC) จะบอกเราว่าแบบจำลองมีความสามารถในการแยกแยะประเภทได้ดีเพียงใด
- ค่า AUC เท่ากับ 1.0 คือสมบูรณ์แบบ แต่ถ้า AUC เท่ากับ 0.5 ก็ไม่ต่างจากการเดาสุ่ม (การโยนเหรียญ)

สรุปภาพรวมและทบทวนครั้งสุดท้าย

- กระบวนการ: แนวคิด -> รวบรวมข้อมูล -> เตรียมข้อมูล -> สร้างแบบจำลอง -> ประเมินผล
- การทำ Wrangling: การแก้ไขค่าที่ขาดหายไปและการปรับขนาดข้อมูลมีความสำคัญมากเพื่อให้เปรียบเทียบกันได้อย่างยุติธรรม
- Overfitting: ศัตรูตัวฉกาจของ Machine Learning เกิดขึ้นเมื่อแบบจำลองยืดหยุ่นเกินไปจนท่องจำข้อมูล
- ตัวชี้วัด: อย่าเชื่อแค่ Accuracy ให้ดู Precision (เพื่อหลีกเลี่ยงการเตือนภัยผิดๆ) และ Recall (เพื่อไม่ให้พลาดเหตุการณ์จริงที่เกิดขึ้น)
- ข้อมูลไม่สมดุล: ให้ดูที่ F1 Score หรือ AUC เสมอเมื่อเหตุการณ์ "Positive" เกิดขึ้นได้ยาก

ถ้าสูตรของ Precision และ Recall ดูสับสนในตอนแรก ไม่ต้องกังวลนะครับ แค่จำไว้ว่า: Precision คือเรื่องของ "ความแม่นยำ" (ไม่พูดมั่วว่า 'ใช่' ทั้งที่ไม่มีอะไร) และ Recall คือเรื่องของ "การระลึก" หรือการหาทุกกรณีที่เกิดขึ้นจริงให้เจอครับ!