มาเรียนรู้เทคนิค DataAnalytics ผ่านวิกฤต Covid-19 กันเถอะ
ในบทความนี้ เราจะมาเรียนรู้เทคนิค Data Analytics ผ่านวิกฤต Covid-19 ไปด้วยกัน เทคนิค Analytics ที่จะนำเสนอจะเกี่ยวกับการพยากรณ์ข้อมูลให้แม่นยำที่สุด (predictive forecasting) เพื่อวางแผนการจัดสรรทรัพยากรให้เหมาะสม เช่น บุคลากรและอุปกรณ์ทางการแพทย์ที่มีอย่างจำกัดรวมไปถึงสินค้าจำเป็นในสภาวะเช่นนี้ เช่น หน้ากากอนามัย นอกจากนี้ ข้อมูลที่ได้จากการพยากรณ์เหล่านั้นจะทำให้พวกเราเข้าใจสถานการณ์โลกในวิกฤต Covid-19 มากขึ้นผ่านกระบวนการ Knowledge Discovery from Data (KDD) หลังจากอ่านบทความนี้ ผู้เขียนหวังว่าผู้อ่านจะเข้าใจหลักการของเทคนิคที่ผู้เขียนยกมานำเสนอ รวมไปถึงการประยุกต์ใช้เทคนิคเหล่านี้เพื่อทำนายอนาคตหรือทำความเข้าใจสถานการณ์ปัจจุบันให้มากยิ่งขึ้น
ผู้เขียนจะพาทุกคนเข้าสู่โลก Data Science/Analytics ผ่านประเด็นที่น่าสนใจ 3 ประเด็นตามลำดับ คือ (1) จำนวนผู้ติดเชื้อที่ยืนยันแล้ว (confirmed case) จะเป็นเท่าไรในอนาคตอันใกล้ (2) สถานการณ์จำนวนผู้ติดเชื้อ Covid-19 (confirmed case) ในแต่ละประเทศเป็นอย่างไร และ (3) ตอนนี้คนส่วนมากรู้สึกอย่างไรและกังวลเรื่องอะไรในช่วงวิกฤต Covid-19
1. จำนวนผู้ติดเชื้อที่ยืนยันแล้ว (confirmed case) จะเป็นเท่าไรในอนาคตอันใกล้
เทคนิคสำคัญ: Interquartile range, AR-X(1)
เราสามารถคาดการณ์จำนวน confirmed case ด้วยเทคนิคสถิติที่คุ้นเคยกันคือ Interquartile range จากข้อมูลจำนวนผู้ติดเชื้อในประเทศที่มี confirmed case ตั้งแต่หลักพันขึ้นไป เราจะหา first quartile และ third quartile เป็น lower bound และ upper bound ของจำนวนผู้ติดเชื้อในวันถัดไป เทคนิคนี้เป็นวิธี non-parametric หมายความว่า เราคาดการณ์จากข้อมูลที่เรามีโดยไม่ได้ตั้งข้อสมมติฐานเกี่ยวกับการแจกแจงของข้อมูลเลย และไม่ว่าข้อมูลเราจะมีการแจกแจงเป็นลักษณะใดก็ตาม วิธีนี้ก็ยังได้ผลอยู่ซึ่งเป็นข้อดีของวิธี non-parametric อย่างไรก็ดี การคาดการณ์นี้ยังตั้งอยู่บนข้อสมมติฐานที่ว่า จำนวนผู้ติดเชื้อในประเทศที่เราต้องการคาดการณ์มีสหสัมพันธ์ (correlation) กับจำนวนผู้ติดเชื้อในประเทศอื่น บทความโดย Sebastian Quintero [1] พบว่า โดยทั่วไป เราได้เห็น correlation ของจำนวนผู้ติดเชื้อในหลายประเทศ แต่ไม่จริงสำหรับบางประเทศ เช่น ประเทศญี่ปุ่นที่การเพิ่มขึ้นของจำนวนผู้ติดเชื้อน้อยกว่าที่คาดไว้ ถึงแม้ interquartile range จะดูเป็นเทคนิคที่ง่าย แต่สามารถใช้คาดการณ์จำนวนผู้ติดเชื้อในระยะสั้นได้ดี จากภาพที่ 1 จะสังเกตได้ว่า ประเทศที่มีจำนวนผู้ติดเชื้อน้อยที่สุดในกลุ่มนี้ในช่วงวันที่ 10 ถึงวันที่ 20 คือประเทศเกาหลี ทำให้ lower bound มีแนวโน้มลดลง หมายความว่าเทคนิคนี้จะยังคงใช้ได้ผลเมื่อประเทศนั้นจะต้องใช้มาตรการควบคุม Covid-19 ที่มีประสิทธิภาพเหมือนประเทศเกาหลี
ภาพที่ 1.a จำนวนผู้ติดเชื้อในกลุ่มประเทศที่มีจำนวนผู้ติดเชื้อหลักพันขึ้นไปในแต่ละวัน
ภาพที่ 1.b ค่าเฉลี่ยและค่ามัธยฐานของจำนวนผู้ติดเชื้อในแต่ละวัน
ที่มา: Estimating the Global Growth of Coronavirus
นอกจากนี้ เราสามารถคาดการณ์จำนวนผู้ติดเชื้อด้วยสมการถดถอย (regression equation) เช่น AR-X(1) บทความของ Sebastian Quintero ได้คาดการณ์จำนวนผู้ติดเชื้อในสหรัฐในภาพที่ 2 โดยใช้AR-X(1) ซึ่งกำหนดให้ จำนวนผู้ติดเชื้อในวันนี้สามารถอธิบายด้วยจำนวนผู้ติดเชื้อเมื่อวาน(autocorrelation) และค่ามัธยฐาน (median) ของจำนวนผู้ติดเชื้อในประเทศอื่นๆ ที่อยู่ในกลุ่มนี้ จากภาพที่ 2 จะเห็นได้ว่า จำนวนผู้ติดเชื้อในสหรัฐที่ผ่านมามีค่าใกล้เคียงกับจำนวนที่คาดการณ์โดยใช้ AR-X(1) และค่ามัธยฐานของจำนวนผู้ติดเชื้อในประเทศอื่น และทั้งสามตัวแปรนี้เพิ่มขึ้นในทิศทางเดียวกัน แสดงถึงสหสัมพันธ์ระหว่างจำนวนผู้ติดเชื้อในสหรัฐระหว่างวันนี้และวันพรุ่งนี้ (autocorrelation) และสหสัมพันธ์ระหว่างจำนวนผู้ติดเชื้อในสหรัฐและในประเทศอื่น
ภาพที่ 2 จำนวนผู้ติดเชื้อในประเทศสหรัฐ และจำนวนผู้ติดเชื้อที่ทำนายโดยโมเดล AR-X(1)
ที่มา 'Estimating the Global Growth of Coronavirus'
2. สถานการณ์จำนวนผู้ติดเชื้อ Covid-19(confirmed case) ในแต่ละประเทศเป็นอย่างไร
เทคนิคสำคัญ: Principal Coordinates Analysis (PCoA), k-means clustering
ถ้าสังเกตกราฟของจำนวนผู้ติดเชื้อในแต่ละประเทศ ในภาพที่ 3 การวิเคราะห์สถานการณ์ที่เกิดขึ้นในแต่ละประเทศคงเป็นเรื่องยาก เนื่องจากดูผิวเผินแล้ว แต่ละประเทศมีการกระจายตัวของข้อมูลที่แตกต่างกัน จึงยากที่จะแบ่งแต่ละประเทศอยู่ในกลุ่มต่างๆ แต่ก่อนที่จะใช้เทคนิคจัดแต่ละประเทศอยู่ในแต่ละกลุ่ม บทความของ Jun [2] ได้ใช้เทคนิค Principal Coordinates Analysis เพื่อลดขนาดของข้อมูลลงมา เพื่อให้เทคนิคที่เราจะใช้ต่อไปสามารถทำงานได้อย่างแม่นยำ เทคนิคนี้ต่างจากการเลือกตัวแปร (feature selection) โดยตัวแปรที่เกิดขึ้นจากเทคนิคนี้ จะไม่ใช่หนึ่งในตัวแปรที่มีอยู่ในข้อมูลเดิม แต่จะเป็นการรวมกันของหลายๆ ตัวแปร เพื่อเก็บรายละเอียดที่สำคัญของแต่ละตัวแปรไว้อยู่ ถ้าผู้อ่านคุ้นเคยกับเทคนิค Principal Components Analysis (PCA) อยู่แล้ว สองวิธีนี้จะคล้ายกัน เพียงแต่ว่า PCA จะใช้ correlation ระหว่างตัวแปร แต่ PCoA จะใช้ระยะทาง (distance) ระหว่างตัวแปรเพื่อสร้างตัวแปรใหม่ในข้อมูลที่มีขนาดเล็กลงมา
ภาพที่ 3.a ข้อมูลจำนวนผู้ติดเชื้อในแต่ละประเทศ
ภาพที่ 3. b ข้อมูลจำนวนผู้ติดเชื้อที่แบ่งออกเป็น 5 กลุ่ม
ที่มา: 'Pattern Classification For COVID-19 Growth Data'
หลังจากเราย่อส่วนของข้อมูลด้วย PCoA แล้ว เราจะมาแบ่งกลุ่มข้อมูลแต่ละประเทศด้วยเทคนิค k-means clustering โดยเป้าหมายคือทำให้ระยะทาง (Euclidean distance) ระหว่างข้อมูลและค่าเฉลี่ยของกลุ่มนั้นรวมแล้วน้อยที่สุดโดยเทคนิค k-means clustering ถือว่าเป็น unsupervised learning เนื่องจากเรามีแค่ข้อมูลผู้ติดเชื้อในแต่ละประเทศ แต่เราไม่มีข้อมูลที่บอกว่าแท้จริงแล้ว ในแต่ละประเทศอยู่ในกลุ่มใด หลักการทำงานของวิธีการนี้ คือ จากค่าเฉลี่ยของ 5 กลุ่มที่เราเลือก เราจะจัดแต่ละประเทศอยู่ในกลุ่มที่ระยะห่างกับค่าเฉลี่ยน้อยที่สุด หลังจากจัดกลุ่มเรียบร้อยแล้ว เราคำนวณค่าเฉลี่ยใหม่จนกระทั่งกลุ่มที่แต่ละประเทศอยู่เป็นกลุ่มที่ระยะห่างกับค่าเฉลี่ยกลุ่มน้อยที่สุด จากผลลัพธ์ในบทความโดย Jun เราได้เห็นข้อมูลแต่ละประเทศที่จัดออกเป็น 5 กลุ่ม โดย k-means clustering
กลุ่มสีเขียวเข้มมีแค่ประเทศจีนซึ่งเป็นกลุ่มที่จัดการกับ Covid-19 ได้สำเร็จ
กลุ่มสีเขียวอ่อน ข้อมูลที่อยู่ในกลุ่มนี้ เช่น ไทย เกาหลีใต้ ฮ่องกง และไต้หวัน เป็นกลุ่มประเทศที่ได้รับผลกระทบ Covid-19 เป็นกลุ่มแรกๆ และจำนวนผู้ติดเชื้อค่อนข้างคงที่ ไม่เพิ่มขึ้นมากนัก
กลุ่มสีแดง เช่น อิตาลี สเปน ฝรั่งเศส เป็นกลุ่มที่จำนวนผู้ติดเชื้อเพิ่มขึ้นอย่างรวดเร็ว
หมายเหตุ: บทความที่ใช้อ้างอิงเขียนเมื่อวันที่ 16 มีนาคม ดังนั้นข้อมูลในบางประเทศอาจคลาดเคลื่อนไปจากนี้
3. ตอนนี้คนส่วนมากรู้สึกอย่างไรและกังวลเรื่องอะไรในช่วงวิกฤต Covid-19
เทคนิคสำคัญ: Network Analysis
บทความโดย Yanqing Shen [3] ได้ศึกษาทัศนคติของผู้คน และประเด็นที่ผู้คนนิยมพูดถึงกันในสถานการณ์ที่หน้ากากอนามัยขาดแคลนในสหรัฐ จากข้อมูล twitter ที่ปรากฏคำว่า "mask" โดยใช้เทคนิค network analysis ก่อนที่เราจะใช้เทคนิคนี้เพื่อศึกษาทัศนคติของผู้คน เราจะต้องจัดการข้อมูล (clean data) ซึ่งการจัดการข้อมูลที่เป็นข้อความเพื่อทำ text mining นั้นค่อนข้างแตกต่างจากข้อมูลประเภทอื่น อันดับแรก เราต้องแปลงจากข้อความออกเป็นแต่ละคำโดยนำเครื่องหมายวรรคตอน, ตัวเลข, stopwords (เช่น a, an, the) และ URL ออก เนื่องจากไม่ใช่ทุกข้อความที่มีคำว่า "mask" จะเกี่ยวกับเรื่องหน้ากากอนามัยเสมอไป เราจะต้องหา keyword ที่ปรากฏในข้อความที่แสดงว่าข้อความนี้ไม่เกี่ยวกับหน้ากากอนามัยออก เช่น "Movie", "Bremner"
บทความของYanqing Shen ใช้ histogram เพื่อหา keyword ที่ไม่เกี่ยวข้อง หลังจากนั้น คำที่ปรากฏด้วยกันในแต่ละทวีตจะถูกนำเสนอโดยใช้ Document Term Matrix (DTM) โดยตัวเลขที่ปรากฏใน DTM (ภาพที่ 4) คือ จำนวนทวีตที่ทั้งสองคำปรากฏด้วยกัน เมื่อได้ DTM แล้ว เราจะสร้างกราฟโดย node คือคำ และ edge คือ ตัวเลขที่ปรากฏใน DTM นอกจากนี้ ยังสามารถแบ่งกลุ่มแต่ละ node ออกเป็น 3 กลุ่มโดยบทความของ Yanqing Shen เลือกใช้ edge betweenness เพื่อใช้เป็นน้ำหนัก (weight) ของแต่ละ edge หลักการของ edge betweenness คือ เราจะสังเกตจากระยะทางที่สั้นที่สุดระหว่าง node แต่ละคู่เพื่อดูว่า edge ไหนบ้างที่อยู่ระหว่างเส้นทางนี้
จากภาพที่ 4 แต่ละกลุ่มของ node แสดงถึง วิกฤต Covid-19, ความสำคัญของหน้ากากอนามัย และ การใช้หน้ากากอนามัย ทั้งสามประเด็นนี้คือ ประเด็นที่ชาวทวิตนิยมพูดถึงกันเมื่อพูดถึงหน้ากากอนามัยในช่วงนี้
ภาพที่ 4.a Document Term Matrix(DTM)
ภาพที่ 4.b กราฟที่แสดงคำที่ปรากฏด้วยกันในทวิต
ที่มา: 'Covid-19 Outbreak: Tweet Analysis on Face Masks'
นอกจากนี้ บทความโดย Yanqing Shen ยังได้ทำ network analysis ในภาพที่ 5 เพื่อสังเกตทัศนคติของผู้คนในสหรัฐ กราฟที่ปรากฏมีส่วนประกอบ เช่น node คือ ข้อความทวิต และ edge แสดงถึงทวิตที่ให้ความสนใจ เช่น คอมเมนต์, ถูกใจ หรือรีโพสต์ ถ้าสังเกตเฉพาะทวิตที่มี degree เยอะ และดูทวิตในแต่ละกลุ่มจะเห็นว่า ผู้คนนิยมพูดเรื่องอะไรกันและรู้สึกอย่างไรในช่วงนี้ เช่น ชาวทวิตรู้สึกไม่มั่นใจว่าใครต้องสวมหน้ากากอนามัยเพื่อลดการแพร่กระจายของ Covid-19 รู้สึกกังวลกับแผนการเดินทางที่มีอยู่เดิม รู้สึกกังวลกับมาตรการของรัฐ เตือนให้คนที่มีอาการไอสวมหน้ากากอนามัย และพูดคุยเรื่องการซื้อขายหน้ากากอนามัยจากสถานการณ์ที่ผู้คนต้องการหน้ากากเป็นจำนวนมาก
ภาพที่ 5.a กราฟที่แสดงความสัมพันธ์ระหว่างทวิต
ภาพที่ 5.b ทวิตที่ผู้คนให้ความสนใจ
ภาพที่ 5.c ตัวอย่างทวิตในแต่ละกลุ่ม
ที่มา: 'Covid-19 Outbreak: Tweet Analysis on Face Masks'
อ่านบทความนี้แล้วรู้สึกอย่างไรบ้าง ผู้เขียนเชื่อว่าผู้อ่านได้เข้าใจเทคนิคที่เรานำเสนอและเห็นประโยชน์ของเทคนิค Analytics แต่ละเทคนิคอย่างแน่นอน ด้วยเทคนิคที่ดูเหมือนง่ายแต่ถ้าเราใช้ให้ถูกทา วิธีการเหล่านี้ให้ประโยชน์ได้ค่อนข้างมากในแง่ที่เราเข้าใจสถานการณ์ปัจจุบันได้ดีขึ้นและสามารถพยากรณ์อนาคตได้อย่างแม่นยำ ทางผู้เขียนขอขอบคุณทั้งสามบทความจาก Medium ที่เขียนโดยSebastian Quintero, Jun และ Yanqing Shen ที่แสดงตัวอย่างการประยุกต์ใช้ Data Analytics กับสถานการณ์วิกฤต Covid-19 ได้อย่างดี
เอกสารอ้างอิง
[1] Sebastian Quintero 'Estimating the Global Growth of Coronavirus' https://towardsdatascience.com/estimating-the-global-growth-of-coronavirus-33ca3c28f066
[2] Jun 'Pattern Classification For COVID-19 Growth Data'
[3] Yanqing Shen 'Covid-19 Outbreak: Tweet Analysis on Face Masks'