Machine learning

How to teach your machine
Machine learning คือการนำค่าข้อมูลจำนวนๆหนึ่งเพื่อนำมาใส่อัลกอริทึมส์ เพื่อให้คอมพิวเตอร์ของเราเกิดการเรียนรู้ว่าข้อมูลที่ให้ไปคือสิ่งๆใด ในหัวข้อนี้เราจะสอนให้ผู้เรียนเรียนรู้การนำข้อมูลที่เป็น time series มาทำโมเดล Machine learning ของเราเอง

Time series คืออะไร

  • time series หรือ อนุกรมเวลา คือ ข้อมูลที่เรียงต่อๆกันโดยมีจุดร่วมกันคือ”เวลา” แต่ข้อมูลที่เรียงต่อกันโดยมีจุดร่วมกันด้วยเวลานั้นจะยังไม่ถูกเรียกว่า time series. ข้อมูล time series นั้นจะต้องมีการเว้นระยะระหว่างเวลาที่เท่ากันด้วย เช่น ข้อมูลห่างกันทุกๆ 1 วินาที หรือ 1 นาที
ข้อมูลที่ไม่เป็น time series
ข้อมูลที่เป็น time series

ทำไมต้องจัดข้อมูลให้อยู่ในรูปแบบ time series

  • การที่ข้อมูลของเราแสดงผลโดยมีแกนเวลาเดียวกัน สามารถทำให้เราสามารถนำค่าไปแสดงค่า (visualize) ในรูปแบบต่างๆ ที่ทำให้เราสามารถเข้าใจพฤติกรรมของข้อมูล และอ่านได้ง่ายขึ้น โดยการจัดเรียงข้อมูลจะมี format ดังนี้
time
data1
data2
sequence (1,2,3,4)
10
244.123
time (10:12:11)
13
244.155
date (dd/mm/yy)
15
244.011
จากตารางด้านบนจะเห็นได้ว่า ในคอลัมบ์ของ time จะสามารถใส่ได้แตกต่างกันตามรูปแบบของการเก็บข้อมูล ส่วนข้อมูลอื่นๆ นั้นจะแยกตามประเภทเป็คอลัมบ์ต่างๆขึ้นอยู่กับจำนวนของประเภทข้อมูลในชุดข้อมูลนั้นตัวอย่างข้อมูลที่ถูกจัดรูปแบบในแบบ sequence
timestamp
acc_x
acc_y
acc_z
date
5260
-114
-1469
9030
03/03/2022 11:21:42
5261
-129
-985
9724
03/03/2022 11:21:42
5262
-315
-646
10088
03/03/2022 11:21:42
5263
-248
985
9298
03/03/2022 11:21:42
5264
-521
1048
10581
03/03/2022 11:21:42
จะเห็นได้ว่าข้อมูลในช่อง time stamp มีความห่างกัน 1 หน่วยทำให้ชุดข้อมูลนี้เป็นข้อมูลแบบ time series แต่เราได้จะเห็นว่าช่องสุดท้ายก็เป็นเวลาเช่นกัน ทำไมเราถึงไม่ใช้ล่ะ? สาเหตุก็เพราะว่า ความถี่ในการการเก็บข้อมูลชุดนี้มีความถี่สูงมาก ข้อมูลที่เข้ามาทั้ง 5 ข้อมูลใช้เวลาไม่ถึงวินาทีทำให้ถ้าเรานำ เวลาในหน่วย hh:mm:ss มาใช้ data point ของเราจะอยู่ที่เดียวกันทั้งหมด และนั่นทำให้ข้อมูลไม่เป็น time series