เหมืองข้อมูลอนุกรมเวลา
จาก ChulaPedia
(หน้าที่ถูกสร้างด้วย '== '''การทำเหมืองข้อมูลอนุกรมเวลา แบบไดนามิกไทม์วอ…')
รุ่นปัจจุบันของ 08:35, 22 มีนาคม 2554
การทำเหมืองข้อมูลอนุกรมเวลา แบบไดนามิกไทม์วอร์ปปิง
ข้อมูลอนุกรมเวลา (Time Series Data)
เป็นชนิดของข้อมูลใด ๆ ที่ได้จากการเก็บค่าจุดข้อมูลอย่างต่อเนื่องเป็นลำดับของเวลาก่อนหลัง เช่น ข้อมูลตลาดหุ้น ข้อมูลอุณหภูมิรายวัน ข้อมูลคลื่นหัวใจ อัตราการเติบโตทางการตลาด เป็นต้น นอกจากนี้ยังมีรูปแบบของข้อมูลที่ไม่ใช่อนุกรมเวลา (เช่น รูปภาพ และข้อมูลมัลติมีเดียต่าง ๆ) แต่สามารถแปลงให้อยู่ในรูปของอนุกรมเวลาได้ เพื่อให้ง่ายต่อการจัดการข้อมูลเหล่านั้น ในปัจจุบันข้อมูลอนุกรมเวลาได้เข้ามามีบทบาทที่สำคัญกับงานวิจัยในศาสตร์แขนงต่าง ๆ เช่น ชีวสนเทศศาสตร์ (Bioinformatics) วิทยาการหุ่นยนต์ (Robotics) การแพทย์ (Medicine) เคมี (Chemistry) การรู้จำอากัปกิริยาท่าทาง (Gesture Recognition) การรู้จำคำพูด (Speech Recognition) การสะกดรอย (Tracking) การเงิน (Finance) ชีวมาตร (Biometrics) ดาราศาสตร์ (Astronomy) อุตสาหกรรม (Manufacturing) ฯลฯ
ไดนามิกไทม์วอร์ปปิง (Dynamic Time Warping – DTW)
ไดนามิกไทม์วอร์ปปิง (Dynamic Time Warping) เป็นวิธีกำหนดการพลวัต (Dynamic Programming) ที่ใช้สำหรับวัดความคล้ายกันระหว่างข้อมูลอนุกรมเวลา 2 ชุด โดยผลลัพธ์ที่ได้ จะให้ค่าระยะทางและวิถีการปรับแนว (Alignment) ที่ดีที่สุดระหว่างข้อมูลทั้งสอง ซึ่งสามารถยืด/หด ให้รองรับความแปรผันในแกนเวลาได้เป็นอย่างดี และเป็นวิธีที่มีการนำไปประ- ยุกต์ใช้กับระบบรู้จำเสียงพูด (Speech Recognition) และการประมวลผลสัญญาณต่าง ๆ โดยมีประสิทธิภาพในด้านความแม่นยำสูงสุด อย่างไรก็ตาม ข้อจำกัดหลักของวิธีนี้อยู่ที่ ระยะเวลาที่ต้องใช้ในการประมวลผลที่ค่อนข้างมาก และยังขาดการแก้ปัญหาและพัฒนาที่สมบูรณ์ จึงทำให้วิธีนี้ยังไม่เป็นที่แพร่หลายในเชิงพาณิชย์
การทำเหมืองข้อมูล (Data Mining)
การทำเหมืองข้อมูล (Data Mining) เป็นกระบวนการที่กระทำกับข้อมูลขนาดใหญ่ เพื่อวิเคราะห์และขุดเจาะเพื่อค้นหาแนวทาง รูปแบบ ความสัมพันธ์ หรือข้อมูลเชิงลึก อันเป็นประโยชน์ ที่ซ่อนอยู่ในชุดข้อมูลนั้น โดยใช้หลักทางคณิตศาสตร์ สถิติ ฐานข้อมูล การรู้จำ และการเรียนรู้ของเครื่อง (Machine Learning) ตัวอย่างกระบวนการทำเหมืองข้อมูล ได้แก่ การหากฎความสัมพันธ์ของข้อมูล (Association Rule) การจำแนกประเภทข้อมูล (Classification) และการทำนาย (Prediction) การแบ่งกลุ่มข้อมูลที่คล้ายกัน (Clustering) การตรวจหาสิ่งผิดปกติ (Anomaly Detection) และแบบรูป (Pattern/Motif Discovery) ของข้อมูล และการนำเสนอแบบจินตทัศน์ (Visualization) เป็นต้น
ข้อสังเกตและข้อควรระวังในการทำเหมืองข้อมูลอนุกรมเวลา
การทำเหมืองข้อมูลอนุกรมเวลานั้นยังนับเป็นปัญหาใหม่ เนื่องจากคุณสมบัติของข้อมูลอนุกรมเวลานั้นแตกต่างจากข้อมูลทั่วไป ซึ่งทำให้เกิดปัญหา 3 ข้อหลักได้แก่
1. ปัญหา Curse of Dimensionality ซึ่งเกิดจากการที่ข้อมูลอนุกรมเวลา เป็นข้อมูลที่มีมิติสูงมาก การทำดัชนี (Index) เพื่อระบุตำแหน่งของข้อมูลในมิติสูง ๆ จึงเป็นไปได้ยาก
2. ไดนามิกไทม์วอร์ปปิงเป็นมาตรวัดความคล้าย ที่ไม่มีคุณสมบัติเมตริก ซึ่งเป็นคุณสมบัติหลักสำหรับการทำดัชนีโดยทั่วไป ทำให้วิธีการทำเหมืองข้อมูลทั่วไป ไม่สามารถใช้งานได้กับข้อมูลอนุกรมเวลานี้
3. เทคนิคไดนามิกไทม์วอร์ปปิงมีการคำนวณแบบพลวัต จึงใช้เวลาในการคำนวณสูง และไม่สามารถเพิ่มความเร็วได้โดยง่าย
ตัวอย่างผลงานวิจัย
ดัชนีสำหรับฐานข้อมูลอนุกรมเวลาขนาดใหญ่โดยใช้ไดนามิกไทม์วอร์ปปิง เป็นการบุกเบิกเสนอโครงสร้างการทำดัชนีให้กับข้อมูลอนุกรมเวลาแบบใหม่ ที่ทำให้ลดการอ่านฐานข้อมูลบนฮาร์ดดิสก์ลงได้มาก ในกรณีที่มีการค้นคืนข้อมูลในฐานข้อมูลขนาดใหญ่ ซึ่งทำให้ค้นหาข้อมูลได้อย่างรวดเร็วกว่าการค้นข้อมูลแบบธรรมดามากนับพันเท่า ซึ่งในปัจจุบันสามารถลดเวลาที่ใช้ในการคำนวณ จากดั้งเดิมอาจต้องใช้เวลาหลายวัน ลงมาเหลือเพียงระดับชั่วโมงหรือนาที หรือจากการคำนวณหลายชั่วโมง มาเป็นการคำนวณเพียงระดับนาทีหรือวินาทีเท่านั้น
แนวคิดในการทำดัชนี้วิธีนี้จะทำ การเข้าถึงข้อมูลด้วยวิธี Indexed Sequential Access โดยเริ่มต้นจาก การจับกลุ่มข้อมูลที่คล้าย ๆ กันในฐาน ข้อมูล ให้อยู่ในไฟล์เดียวกันก่อน แล้ว ทำการสร้างตัวแทนของแต่ละกลุ่มข้อมูล ขึ้นมาเพื่อเป็นดัชนีของแต่ละกลุ่มนั้น ๆ ซึ่งตัวแทนกลุ่มที่ได้นี้ จะนำไปใช้ในการคำนวณ ค่าขอบเขตล่าง (Lower Bound) สำหรับกลุ่มข้อมูล ของระยะทาง DTW ระหว่างข้อมูลสอบถามกับข้อมูล ในกลุ่มนั้นที่ได้ค่าระยะทางน้อยที่สุด โดยคำนวณได้จากพื้นที่ในส่วนที่ข้อมูลสอบถามอยู่ภายนอกขอบเขตของตัวแทนกลุ่มข้อมูล แล้วทำการเรียงลำดับการเข้าถึงกลุ่มข้อมูลตามค่าขอบเขตล่างที่ได้จากน้อยไปมาก ในส่วนของการค้นข้อมูล จะเริ่มค้นเรียงตามลำดับกลุ่มข้อมูลที่ได้จัดเรียงไว้ และทำการค้นทีละกลุ่มข้อมูลตามลำดับไปเรื่อย ๆจนกว่าค่าขอบเขตล่างของกลุ่มข้อมูล จะมากกว่าเกณฑ์หยุด ก็จะทำการยุติการค้น ซึ่งวิธีนี้นอกจากจะทำให้สามารถพบข้อมูลที่มีความคล้ายก่อนในช่วงต้น ๆ ยังสามารถลดทอนการเข้าถึงข้อมูลในกลุ่มท้าย ๆ ได้มากถึง 90%
ระบบค้นหาเพลงโดยการร้องทำนอง
ระบบค้นหาเพลงโดยการร้องทำนอง เป็นซอฟต์แวร์ที่พัฒนาขึ้น สำหรับการค้นหาเพลงจากฐานข้อมูล โดยที่ผู้ใช้ไม่จำเป็นต้อง ทราบชื่อเพลงหรือเนื้อร้องของเพลงที่ถูกต้อง แต่สามารถใช้การ ร้องทำนองเพื่อค้นหาเพลงแทน ซึ่งปัญหานี้ยังนับว่าเป็นปัญหาที่ท้าทายมากเนื่องจากทำนองที่มนุษย์ร้อง มีความหลากหลายและผิดเพี้ยนค่อนข้างมาก ไม่ว่าจะเป็นจังหวะ ทำนอง ระดับเสียง หรือ คีย์ ในระบบที่ให้ใช้ทางพาณิชย์ในปัจจุบันนั้นจะต้องใช้ Query ที่เหมือนกับเพลงในฐานข้อมูล (เช่นเปิดจากเทป หรือ ซีดี) เท่านั้น ไม่สามารถรองรับเสียงร้องของมนุษย์ได้ หรือรองรับได้หากร้องเฉพาะท่อนสร้อย หรือท่อนแรกของเพลงเท่านั้น ผลงานนี้นับเป็นงานแรกที่ได้ขยายผลงานวิจัยของมาตรวัดระยะทางแบบไดนามิกไทม์วอร์ปปิง และการปรับขนาดเอกรูปที่ผ่านมาให้มีประสิทธิภาพสูง สามารถ รองรับการร้องทำนองของมนุษย์ โดยร้อง ท่อนใด ๆ ของเพลงก็ได้ ในคีย์ และจังหวะที่ไม่คงที่หรือต่างกัน รองรับการร้องเพี้ยนของผู้ร้องได้ค่อนข้างดี และที่สำคัญที่สุดคือ สามารถประมวลผล ได้อย่างรวดเร็ว แม้ฐานข้อมูลเพลงจะมีขนาดใหญ่ ซึ่งยังไม่มีระบบใดทำได้เช่นนี้มาก่อน และจากผลงาน นี้สามารถขยายผลออกในแง่ของอุตสาหกรรม ซอฟต์แวร์ ไม่ว่าจะเป็นระบบคาราโอเกะ (สามารถ มีทางเลือกให้ผู้ใช้ร้องบางท่อนของเพลง แทนที่จะใช้ชื่อเพลงในการค้นหาแบบในปัจจุบัน) อุตสาหกรรมโทรศัพท์มือถือ (การเลือกดาวน์โหลดริงโทน เป็นต้น) ระบบค้นหาผลิตภัณฑ์ในร้านขายเทป/ซีดีเพลง ซอฟต์แวร์ Media Player หรือแม้กระทั่งระบบห้องสมุดเพลงในพิพิธภัณฑ์หรือหอสมุด เป็นต้น
การระบุชนิดของแมลงศัตรูพืช เพื่อลดปริมาณการพ่นยาฆ่าแมลง
งานวิจัยนี้ เป็นโปรแกรมคอมพิวเตอร์ที่ใช้ระบุชนิดของแมลงจากสัญญาณเสียง โดยมีแนวคิดหลักคือการลดปริมาณการพ่นยาฆ่าแมลงศัตรูพืช เพราะที่ผ่านมาเกษตรกรมักจะพ่นยาฆ่าแมลงในพื้นที่ทั้งหมด ทั้ง ๆ ที่แมลงศัตรูพืชบางชนิด อาจไม่ได้อยู่ทั่วทั้งพื้นที่ จึงเป็นการสิ้นเปลืองค่าใช้จ่าย และเป็นการเพิ่มมลพิษให้กับผลผลิตและสิ่งแวดล้อมโดยไม่จำเป็นอีกด้วย ดังนั้นการตรวจสอบว่าแต่ละพื้นที่ย่อยในแปลงเพาะปลูก มีแมลงชนิดใดบ้าง เพศใด และปริมาณมากน้อยเพียงใด จึงเป็นวิธีที่สามารถให้เกษตรกรเลือกใช้ยาฆ่าแมลงในปริมาณและชนิดที่เหมาะสมในแต่ละพื้นที่ในไร่นาได้ โดยทำการติดตั้งเครื่องอัดเสียงในแต่ละพื้นที่ของเรือกสวนไร่นาเป็นเวลา 1 วันจากนั้นนำเสียงที่ได้ มาวิเคราะห์ว่า เสียงที่อัดได้เหล่านั้นเป็นเสียงของแมลงชนิดใดบ้าง และปริมาณมากน้อยเพียงใด โดยงานวิจัยได้เริ่มต้นจากการวิเคราะห์เสียงยุงพันธุ์ต่าง ๆ ซึ่งในปีต่อมาได้มีการเก็บข้อมูลพันธุ์ของยุงเพิ่มเติมจากป่าในจังหวัดกาญจนบุรีอีกด้วย ดังตัวอย่างแสดงในรูปที่ 6 ซึ่งเป็นคลื่นเสียงกระพือปีก (Wing-beat Frequency) ของยุงพันธุ์ Aedes Aegypti พาหะนำโรคที่สำคัญของโรคไข้เลือดออก คลื่นเสียงในกราฟด้านบนจะบอกเพียงแค่แอมพลิจูดหรือความดังเท่านั้น ถ้าเราต้องการข้อมูลเกี่ยวกับคุณลักษณะของเสียง ก็สามารถแปลงคลื่นเสียง (ซึ่งก็ถือว่าเป็นข้อมูลอนุกรมเวลาอยู่แล้ว) ให้เป็นข้อมูลในโดเมนความถี่โดยการแปลงแบบฟูเรียร์ (Fourier Transformation) ซึ่งก็นับเป็นข้อมูลอนุกรมเวลาในอีกรูปแบบหนึ่ง อันทำให้เราเห็นรายละเอียดคุณลักษณะของเสียงนั้นได้ง่ายและชัดเจนยิ่งขึ้น กราฟที่ผ่านการแปลงแบบฟูเรียร์นี้ สามารถบอกให้เราทราบว่า คลื่นเสียงที่มีนั้นเป็นเสียงที่เกิดฮาร์โมนิคขึ้นเป็นจำนวนหลายระดับได้อย่างง่ายดาย ซึ่งจากกราฟฮาร์โมนิคที่ได้ สามารถบอกได้ว่าแมลงตัวนี้เป็นยุงเพศเมีย พันธุ์ Aedes Aegypti หากเป็นยุงตัวผู้ ค่า Primary Frequency จะสูงขึ้นอยู่ในช่วงประมาณ 700-900 เฮิรตส์ ส่วนถ้าเป็นยุงพันธุ์อื่น เช่น Culex Quinquefasciatus ก็จะมีรูปร่าง Fourier Transformation ที่ต่างออกไป กล่าวคือ กราฟสูงสุดจะเกิดขึ้นในฮาร์โมนิคที่สอง แทนที่จะเป็นฮาร์โมนิคที่หนึ่ง หรือถ้าเป็นแมลงชนิดอื่น เช่นแมลงวัน กราฟ Fourier Transformation ก็จะมีความแตกต่างออกไปอีก คือ มี Primary Frequency ที่ต่ำมาก และไม่เกิดฮาร์โมนิค เป็นต้น ซึ่งในการเปรียบเทียบกราฟความถี่นี้ ได้นำเอามาตรวัดระยะทางแบบไดนามิกไทม์วอร์ปปิงเข้ามาช่วย เพื่อเพิ่มความแม่นยำให้กับการระบุชนิดและเพศของแมลงได้เป็นอย่างดี ซึ่งเกษตรกร หรือนักวิจัยไทยก็สามารถนำเทคนิคเหล่านี้ไปประยุกต์ใช้ให้เกิดประโยชน์ได้
ประโยชน์ที่คาดว่าจะได้รับ
ก่อให้เกิดองค์ความรู้ใหม่ในสาขาการทำเหมืองข้อมูลอนุกรมเวลา โดยได้อัลกอริทึมในการใช้มาตรวัดระยะทางแบบไดนามิกไทม์วอร์ปปิงแบบใหม่ ที่มีประสิทธิผล ให้ความแม่นยำสูง สำหรับภารกิจต่าง ๆ ของการทำเหมืองข้อมูลอนุกรมเวลา ซึ่งนักวิจัย หน่วยงาน หรือองค์กรต่าง ๆ สามารถนำเอากระบวนการและอัลกอริทึมที่ได้นี้ไปประยุกต์ใช้ให้เป็นประโยชน์ได้จริง ยกตัวอย่าง เช่น
1. การรู้จำคำพูด (Speech Recognition)
2. การรู้จำ/แปลภาษามือ (Sign-Language Recognition/Translation)
3. การรู้จำลายมือ/ลายเซ็น ทั้งแบบ Online และ Offline
4. การค้นคืนวีดีโอเฟรม ใน Motion Capture Data สำหรับการทำภาพยนตร์ และ Animation (หรือเกม)
5. การวิเคราะห์ข้อมูล/ทำนายสภาพดินฟ้าอากาศ และแผ่นดินไหว
6. การวิเคราะห์ข้อมูลทางการกีฬา และลักษณะการเคลื่อนไหวของนักกีฬา (เพื่อพัฒนาประสิทธิภาพในการเล่น)
7. การวิเคราะห์ข้อมูลตลาดหุ้น และข้อมูลทางการตลาด (Sales Growth)
8. การรู้จำ/ระบุตัวตนโดยใช้ชีวมิติ (Biometrics) เช่นลายนิ้วมือ ม่านตา รูปร่างของมือ เป็นต้น
9. การวิเคราะห์ข้อมูลจราจร สำหรับระบบขนส่งอัจฉริยะ (Intelligent Transportation System)
10. การค้นคืนไฟล์เสียงจากข้อมูลตัวอย่างเสียง
11. การตรวจจับสิ่งผิดปกติ/จำแนกโรค/การเจ็บป่วยจากข้อมูลสัญญาณชีพต่าง ๆ เช่นคลื่นหัวใจ ชีพจร คลื่นสมอง คลื่นไฟฟ้า จากกล้ามเนื้อมัดใหญ่/เล็ก
12. การควบคุมอุปกรณ์อิเล็กทรอนิกส์ต่าง ๆ สำหรับผู้พิการ โดยใช้เสียง (สำหรับคนตาบอด) หรือสัญญาณไฟฟ้าจากการเกร็งกล้ามเนื้อส่วนต่าง ๆ เพื่อควบคุมเมาส์ คีย์บอร์ด หรือแขนเทียม (สำหรับผู้พิการทางแขน)
อาจารย์ผู้ดูแลบทความ ผศ. ดร.โชติรัตน์ รัตนามหัทธนะ
อาจารย์ประจำภาควิชาวิศวกรรมคอมพิวเตอร์
ผู้รับผิดชอบบทความ ศูนย์การสื่อสารนานาชาติแห่งจุฬาฯ