posttoday

การตรวจจับ เทรนด์ใหม่ ในข้อมูล

28 กุมภาพันธ์ 2562

สวัสดีครับท่านผู้อ่านหลายท่านอาจจะเคยต้องการหาแนวโน้มหรือทำนายอะไรบางอย่างจากข้อมูลที่มีขนาดใหญ่

เรื่อง ดร.ปรัชญา บุญขวัญ

สวัสดีครับท่านผู้อ่านหลายท่านอาจจะเคยต้องการหาแนวโน้มหรือทำนายอะไรบางอย่างจากข้อมูลที่มีขนาดใหญ่ เช่น ข้อมูลผลคะแนนสอบ ONET รายวิชาของนักเรียนทั้งประเทศ หรือข้อมูลยอดขายสินค้าจากร้านสะดวกซื้อทั่วประเทศรายเดือน ปัญหาหนึ่งที่จะต้องพบคือ ในข้อมูลที่มีมากมายนั้นจะมีบางส่วนที่เป็นข้อมูลที่ผิดปกติ เช่น สูงหรือต่ำผิดปกติเมื่อเทียบกับข้อมูลส่วนใหญ่ ถ้าเรานำข้อมูลเหล่านั้นมาร่วมพิจารณาด้วย ก็อาจจะทำให้การทำนายแนวโน้มผิดพลาดไปมาก เราจึงจำเป็นต้องตรวจจับความผิดปกติในข้อมูลได้ตั้งแต่เนิ่นๆ ก่อนที่จะหาแนวโน้มโดยรวมได้ เราเรียกกระบวนการนี้ว่า การตรวจจับข้อมูลผิดปกติ (Outlier Detection หรือ Anomaly Detection)

ผู้เขียนจะนำเสนอวิธีการตรวจจับข้อมูลผิดปกติแบบง่ายๆ 3 วิธีด้วยกัน ได้แก่ วิธีการแรก เราจะดูจากระยะห่างของข้อมูลจากค่าเฉลี่ยหรือที่เรียกว่า Z-score หากข้อมูลตัวใดมีระยะห่างจากค่าเฉลี่ยของชุดข้อมูลทั้งหมด เกินขอบเขตที่กำหนดไว้ จะถือว่าข้อมูลตัวนั้นผิดปกติทันที โดยทั่วไปเรามักจะกำหนดขอบเขตระยะห่างจากค่าเฉลี่ยเอาไว้ที่ 2 เท่าของค่าเบี่ยงเบนมาตรฐาน

วิธีการที่สอง เราจะดูจากระยะห่างของข้อมูลจากค่ามัธยฐาน (Median) ซึ่งเรียกว่า MAD (Median Absolute Deviation) หลักการคือให้นำข้อมูลมาเรียงลำดับจากน้อยไปมากแล้วหยิบเอาข้อมูลที่ตำแหน่งตรงกลางลำดับมา เรียกว่า “ค่ามัธยฐาน” จากนั้นให้นำข้อมูลแต่ละตัวมาคำนวณระยะห่างเทียบกับค่ามัธยฐาน แล้วเรียงลำดับค่าระยะห่างที่เราคำนวณได้จากน้อยไปมากอีกครั้ง เพื่อเลือกค่าระยะห่างที่อยู่ตรงกลาง เรียกค่าระยะห่างที่อยู่ตรงกลางนี้ว่า “ค่า MAD” หากข้อมูลใดที่มีระยะห่างจากค่ามัธยฐานเกินกว่าขอบเขตที่กำหนด จะถือว่าเป็นข้อมูลผิดปกติทันที

วิธีการที่สาม จะนำข้อมูลมาเรียงลำดับจากน้อยไปมากก่อน จากนั้นให้เลือกข้อมูลในตำแหน่งที่ 25% และ 75% จากนั้นให้นำทั้งสองค่านี้มาลบกัน เราจะเรียกผลต่างที่ได้นี้ว่า “ค่า IQR” หากข้อมูลใดอยู่นอกขอบเขตที่เรากำหนด จะถือว่าเป็นข้อมูลผิดปกติทันที

อีกปัญหาหนึ่งซึ่งน่าสนใจไม่แพ้กันก็คือ บางครั้งเราอาจจะต้องการตรวจจับกระแสหรือแนวโน้มใหม่ ที่เริ่มจะก่อตัวในข้อมูลลำดับเวลาด้วย เช่น เราอาจจะต้องการหาหัวข้อใหม่ๆ ที่คนในโลกโซเชียลกำลังพูดถึงในขณะนี้ ซึ่งแตกต่างจากข้อมูลส่วนใหญ่โดยสิ้นเชิง เราจะเรียก
กระบวนการนี้ว่า การตรวจจับแนวโน้มใหม่ (Novelty Detection)

ถ้ามองในแง่ของการจัดการข้อมูลแล้ว เราสามารถใช้เทคนิคแบบเดียวกันได้ กับทั้งการตรวจจับข้อมูลผิดปกติและการตรวจจับแนวโน้มใหม่