Data Mining Exercise 5
Data Representation & Data Nature - การแทนข้อมูลและธรรมชาติของข้อมูล
Warning
This article is a work in progress and may contain incomplete information or inaccuracies. Please verify details from reliable sources.
Data Mining Exercise 5
วัดความเข้าใจเรื่อง Data Representation (การแทนข้อมูล) และ Data Nature (ธรรมชาติของข้อมูล)
ข้อ 1: การวิเคราะห์ข้อสอบด้วย Association Analysis
สถานการณ์
นักจิตวิทยาการศึกษาต้องการหาความสัมพันธ์ เช่น "เด็กที่ตอบข้อ 1 ผิด เป็นข้อ ก. มักจะไปตอบข้อ 5 ผิด เป็นข้อ ค." (เพื่อวิเคราะห์ว่าตัวลวง (Distractor) ตัวไหนส่งผลต่อกัน)
1) ต้องแปลงข้อมูลอย่างไรถึงจะเหมาะสม?
ข้อมูลดิบ: ปกติมักเก็บเป็น [Student_ID, Q1, Q2, ..., Q100] โดยค่าข้างในคือ 'A', 'B', 'C', 'D'
ปัญหา: Algorithm สำหรับทำ Association Analysis (เช่น Apriori) ต้องการข้อมูลแบบ Binary (0/1) ว่า "มี item นี้ในตะกร้าหรือไม่"
💡 วิธีแก้
เราต้องแปลงข้อมูลด้วยวิธี One-Hot Encoding (กระจายตัวเลือกออกมาเป็นคอลัมน์ใหม่)
ตัวอย่างการแปลง
สมมติมีแค่ 2 ข้อ (Q1, Q2) และมีตัวเลือก ก, ข (A, B)
| ข้อมูลดิบ (Raw) | Q1_A | Q1_B | Q2_A | Q2_B |
|---|---|---|---|---|
| นร. 1 ตอบ: A, B | 1 | 0 | 0 | 1 |
| นร. 2 ตอบ: B, B | 0 | 1 | 0 | 1 |
คำอธิบาย: เราต้องสร้าง "Item" เสมือนขึ้นมา โดยระบุให้ชัดว่าคือ "ข้อที่เท่าไหร่ + เลือกช้อยส์ไหน" ถ้าเด็กเลือกช้อยส์นั้น ให้ใส่ค่า 1 (มีในตะกร้า) ถ้าไม่เลือกใส่ 0
2) Attribute ที่ได้เป็นประเภทใด มีขนาดเท่าไร?
ประเภท (Type): Asymmetric Binary Attributes
- Binary: เพราะมีค่าแค่
0หรือ1 - Asymmetric: เพราะเราสนใจเฉพาะค่าที่เป็น
1(การที่เด็ก "เลือก" ตอบข้อนั้น) เราไม่สนใจค่า0(สิ่งที่เด็กไม่เลือก) เหมือนกับการวิเคราะห์ตะกร้าสินค้าที่เราสนแค่ของที่หยิบใส่ตะกร้า
ขนาด (Size/Dimensionality): 400 Attributes
การคำนวณ: 100 ข้อ × 4 ตัวเลือก = 400 คอลัมน์ (Items)
⚠️ หมายเหตุ
ข้อมูลนี้จะมีความเบาบาง (Sparse) มาก เพราะใน 400 คอลัมน์นี้ นักเรียน 1 คนจะมีค่าเป็น "1" เพียงแค่ 100 ช่องเท่านั้น (ตามจำนวนข้อสอบ) ส่วนอีก 300 ช่องจะเป็น "0"
ข้อ 2: Correlation ระหว่าง "ปริมาณฝน" vs "อุณหภูมิ" (รายวัน)
คำถาม
ระหว่างวันติดกัน (Day t กับ Day t+1) ข้อมูลชุดไหนมี Correlation สูงกว่ากัน?
คำตอบ
✅ คำตอบ
อุณหภูมิรายวัน (Daily Temperature) มี Correlation ของวันติดกันสูงกว่า
เหตุผล (Why)
1. ธรรมชาติของข้อมูล (Continuity vs. Sporadic)
อุณหภูมิ (Temperature):
- มีความต่อเนื่อง (Continuous) สูง
- ตามหลักฟิสิกส์อากาศมีความเฉื่อย (Thermal Inertia)
- ถ้าวันนี้ร้อน 35°C พรุ่งนี้ก็มีแนวโน้มจะอยู่ที่ 34-36°C
- อุณหภูมิจะไม่กระโดดจาก 35°C ไปเหลือ 10°C ในวันเดียว เว้นแต่จะมีพายุรุนแรงจริงๆ
- กราฟจึงเป็นคลื่นที่เปลี่ยนแปลงอย่างนุ่มนวล (Smooth)
ปริมาณฝน (Rainfall):
- มีความไม่ต่อเนื่องและเอาแน่เอานอนไม่ได้ (Sporadic/Stochastic)
- วันนี้ฝนตกหนัก 100mm พรุ่งนี้อาจจะแดดออกเปรี้ยง (0mm) เลยก็ได้
- ข้อมูลฝนจึงเต็มไปด้วยเลข 0 และมีแท่งกราฟกระโดดไปมา (Spiky)
2. Autocorrelation (สหสัมพันธ์ในตัวเอง)
- อุณหภูมิ: ค่า Correlation ของอุณหภูมิวันพรุ่งนี้ เทียบกับวันนี้ จะมีค่าเป็นบวกสูง (เข้าใกล้ 1)
- ปริมาณฝน: ค่า Correlation จะต่ำกว่ามาก เพราะฝนที่ตกวันนี้ ไม่ได้การันตีว่าพรุ่งนี้ฝนจะตกเสมอไป
สรุปในมุม Data Mining
| ประเภทข้อมูล | ลักษณะ | การทำนาย |
|---|---|---|
| อุณหภูมิ | ทำนายได้ง่ายกว่า (Predictable) | สามารถใช้ Time Series Analysis ดูจากข้อมูลย้อนหลัง |
| ปริมาณฝน | เป็น Outlier/Event-based บ่อยกว่า | ต้องใช้ปัจจัยอื่นประกอบ (ความชื้น, ความกดอากาศ) ลำพังแค่ปริมาณฝนในอดีตอาจไม่พอ |