การ ทำความ สะอาดข้อมูลเป็น กระบวนการ ใด ของ วิทยาการข้อมูล

หลังจากตอนที่ แอดมินวางแผนไว้ว่าจะ สอนพื้นฐาน Data Science เพื่อคนไทย แอดก็ค่อย ๆ นำเนื้อหาด้าน Data Science มาให้ได้เรียนรู้กัน รวมไปถึงนำข่าวสารใหม่ ๆ ที่น่าสนใจมาฝากทุกท่านในเพจ Facebook: DataTH.com ทุกสัปดาห์

แอดมองว่าก่อนหน้านี้เราโฟกัสหัวข้อ Data Science ที่อาจจะต้องมีความรู้พื้นฐานมาแล้วระดับหนึ่ง ทำให้พลาดที่จะเล่าเรื่องที่สำคัญมาก ๆ และอาจจะสำคัญที่สุดในการทำ Data Science เลยก็ได้

นั่นคือ… Data Science (วิทยาการข้อมูล) คืออะไร? แล้วงานสายนี้ต้องทำอะไรบ้าง?

วันนี้เราเลยขอถือโอกาสเอามาล่าให้ฟังกันครับ เพื่อให้ทุกท่านที่ไม่มีพื้นฐานมาก่อนได้เห็นภาพพร้อมกันเลย :)

Data Science (วิทยาการข้อมูล) คืออะไร

การ ทำความ สะอาดข้อมูลเป็น กระบวนการ ใด ของ วิทยาการข้อมูล
ขั้นตอนการทำ Data Science จากสไลด์ของแอดเองครับ

Data Science หมายถึง การนำข้อมูลมาใช้ประโยชน์ โดยครอบคลุมตั้งแต่ขั้นตอนการเก็บข้อมูล (Collect) > การจัดการข้อมูล (Manage) >  การวิเคราะห์ข้อมูล (Analyze) > ไปจนถึงขั้นตอนการนำข้อมูลมาช่วยตัดสินใจ (Decision)

สำหรับ Data Science ในภาษาไทย ถ้าแปลตรงตัวก็คือ “วิทยาศาสตร์ข้อมูล” แต่แอดชอบคำว่า “วิทยาการข้อมูล” จากคอร์สของมหาวิทยาลัยในไทยแห่งหนึ่งที่แอดหาข้อมูลมาล่าสุด คิดว่าฟังดูคล้าย ๆ กับ “วิทยาการคอมพิวเตอร์ (Computer Science)” ดีครับ

Data Science ประกอบด้วย Computer Science + Maths & Stats + Business Domain Expert ?

การ ทำความ สะอาดข้อมูลเป็น กระบวนการ ใด ของ วิทยาการข้อมูล
Venn Diagram ของ Data Science – ขอบคุณรูปภาพจาก Drew Convey

มีหลาย ๆ แห่งบอกว่าการทำ Data Science คือการที่วงกลม 3 วงมาตัดกัน ได้แก่:

  1. Computer Science – วิทยาการคอมพิวเตอร์ เช่น การเขียนโปรแกรม, อัลกอริธึม, โครงสร้างข้อมูล (Data Structure)
  2. Maths & Statistics – คณิตศาสตร์ และสถิติ
  3. Business / Domain Expertise – ความรู้ด้านธุรกิจ

ข่าวดี คือ 3 ด้านนี้ ไม่จำเป็นต้องอยู่ในคนเดียวกัน ครับ ด้วยสาเหตุนี้เราเลยแบ่งงานสาย Data ได้เป็นอีกหลายตำแหน่ง ซึ่งเดี๋ยวจะเล่าให้ฟังกันต่อไปครับ

เช่น คนที่เก่งด้านการเขียนโปรแกรมมาก ๆ และเข้าใจ Maths & Statistics เล็กน้อย สามารถทำงานเป็น Machine Learning Engineer เพื่อประสานงานกับ Data Scientist เพื่อนำโมเดล Data Science มาทำเป็นซอฟแวร์ที่ใช้ได้จริง

ถ้าใครอยากรู้จักอาชีพด้าน Data Engineer เพิ่มขึ้น ว่าแตกต่างกับ Data Scientist ยังไง สามารถอ่านได้ที่บทความ โลกนี้ไม่ได้ต้องการ Data Scientist แต่ต้องการ Data Engineer ? ครับผม

งานของสาย Data Science (วิทยาการข้อมูล) ต้องทำอะไรบ้าง

ขั้นตอนการทำ Data Science ที่แอดอธิบายไปด้านบน (Collect > Manage > Analyze > Decision) เป็นภาพกว้าง ๆ ครับ เราจะมาเจาะลึกกันว่าแต่ละขั้นตอนต้องทำอะไรกันบ้าง

เราเรียก Process นี้ตั้งแต่ต้นจนจบว่า “การนำข้อมูลมาทำให้เกิดคุณค่า” หรือ Data Science Value Chain ครับ

1. Collect เก็บข้อมูล

การ ทำความ สะอาดข้อมูลเป็น กระบวนการ ใด ของ วิทยาการข้อมูล
ตัวอย่างข้อมูลคนเข้าเว็บไซต์จาก Google Analytics ที่เราสามารถดึงผ่าน Google API มาใช้ได้เลย

การเก็บข้อมูลสามารถทำได้หลายวิธี ซึ่งขึ้นอยู่กับข้อมูลที่เราต้องการเก็บด้วยครับ เช่น

  • ถ้าต้องการเก็บ Log การใช้เว็บไซต์ ก็อาจจะเขียน JavaScript วางไว้ในเว็บไซต์ของเรา เพื่อเก็บการกระทำต่าง ๆ ของผู้ใช้
  • ถ้าต้องการเก็บข้อมูลจากเว็บไซต์อื่น เราต้องเขียนโปรแกรมดึงข้อมูลทาง API หรือ Scrape ข้อมูลจากหน้าเว็บไซต์
  • หรือสำหรับคนที่หัด Data Science ผ่านเว็บไซต์อย่าง Kaggle ก็จะเห็นว่าข้อมูลเค้าเก็บมาให้เราเรียบร้อยแล้ว เราสามารถ Download แล้วนำมาใช้ได้เลย

ซึ่งพอเราเก็บข้อมูลมาแล้ว ก็ต้องมาคิดว่า… “จะเก็บข้อมูลไว้ที่ไหนดี” ซึ่งเป็นที่มาของข้อต่อไปนั่นเองครับ

2. Manage จัดการข้อมูล

การ ทำความ สะอาดข้อมูลเป็น กระบวนการ ใด ของ วิทยาการข้อมูล
60% ของเวลาในการทำงานทั้งหมดของ Data Scientist มาจาก Data Wrangling นั่นเอง – ขอบคุณรูปภาพจาก Forbes

บางครั้ง (จริง ๆ คือแทบทุกครั้ง) เราต้องนำข้อมูลมาผ่านการแปรรูปให้นำมาใช้ต่อได้ง่าย หรือเราเรียกขั้นตอนนี้ว่า “การทำความสะอาดข้อมูล” หรือ Data Wrangling / Data Cleaning นั่นเอง ซึ่งขั้นตอนนี้กินเวลาเยอะที่สุดในการทำ Data Science เลยก็ว่าได้ครับ

หลังจากทำความสะอาดข้อมูลเสร็จแล้ว ก็ได้เวลาจัดเก็บลงฐานข้อมูลครับ ซึ่งปัจจุบันมีฐานข้อมูลหลากหลายแบบให้เราเลือกใช้ เช่น SQL หรือ NoSQL, OLTP หรือ OLAP ฯลฯ เราก็ต้องเลือกให้ถูกต้องครับ

นอกจากนั้นขั้นตอนนี้ยังต้องคอยดูเรื่อง Policy ของบริษัท หรือของรัฐบาลด้วยครับ เช่น บริษัทอาจจะมีนโยบายเก็บข้อมูลย้อนหลัง 365 วัน เราก็ต้องเตรียมสคริปต์ในการล้างข้อมูลเมื่อถึงเวลาที่กำหนด

ทีนี้พอเราเก็บข้อมูลไว้พร้อมใช้เรียบร้อยแล้ว ก็ได้เวลาดึงมันมาใช้ประโยชน์กันครับ

3. Analyze วิเคราะห์ข้อมูล

ขั้นตอนนี้คนให้ความสนใจเยอะมากที่สุดในปัจจุบันนี้ เพราะ Buzzword ต่าง ๆ เช่นคำว่า Machine Learning หรือ Deep Learning ก็อยู่ในขั้นตอนนี้นั่นเอง

การ ทำความ สะอาดข้อมูลเป็น กระบวนการ ใด ของ วิทยาการข้อมูล

สำหรับการวิเคราะห์ข้อมูล เราอาจจะต้องใช้ความสามารถในการเขียนโปรแกรมครับ ซึ่งแอดเคยเล่าให้ฟังเรื่อง 7 ภาษาโปรแกรมมิ่งที่สำคัญสำหรับ Data Science ไว้แล้ว สามารถเข้าไปหาข้อมูลได้เลยครับ

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

  1. Finding insights – วิเคราะห์เพื่อหาสิ่งที่ซ่อนอยู่ในข้อมูล สำหรับนำมาใช้ตัดสินใจเรื่องต่าง ๆ ในธุรกิจ เช่น ยอดขายกางเกงยีนส์เดือนธันวาคมของ 5 ปีที่ผ่านมาสูงกว่าสินค้าอื่น ๆ อย่างมาก เราก็สามารถปรับแผน Marketing ให้เหมาะสมได้
  2. Modelling – วิเคราะห์เพื่อหา Pattern ที่ซ่อนอยู่ในข้อมูล และพยายามสร้าง Model เลียนแบบหน้าตาของข้อมูลออกมาให้เหมือนที่สุด สำหรับนำมาใช้ทำนายผล เช่น เราพบว่ายอดขายของไอศกรีมมีความสัมพันธ์เป็นเส้นตรงเมื่อเทียบกับอุณหภูมิเฉลี่ยในแต่ละวัน เราก็สามารถจัดโปรโมชั่นพิเศษในช่วงที่อากาศหนาวเพื่อดึงดูดลูกค้าเพิ่มขึ้นได้

สิ่งที่ผมเห็นหลาย ๆ คนเข้าใจผิด คือ เข้าใจว่า Data Science ต้องทำสร้าง Model ตลอดเวลา ต้องไปใช้ Random Forest, XGBoost ฯลฯ ซึ่งจริง ๆ แล้วบางปัญหาแค่ต้องการ Insights ไม่ใช่ Model ในการแก้ไข

ในขั้นตอนนี้เราจะได้ใช้ประโยชน์จากการทำ Data Exploration ด้วย เพราะหลายครั้งการพลอตกราฟมาดู Distribution ก็มีประโยชน์กว่าการดูเฉพาะสถิติตัวเลขเฉย ๆ ครับ ลองดูจากตัวอย่างด้านล่างจะเห็นได้ชัดครับ

การ ทำความ สะอาดข้อมูลเป็น กระบวนการ ใด ของ วิทยาการข้อมูล
ทุกกราฟในนี้มีค่า Mean, SD, Correlation เท่ากันหมด แต่หน้าตา Distribution ไม่เหมือนกันเลย ถ้าเราเห็นแค่ตัวเลขแล้วสรุปจากตัวเลขก็จะเข้าใจข้อมูลผิดไปครับ – ขอบคุณรูปภาพจากคุณ Justin Matejka, George Fitzmaurice (2017) Autodesk Research

พอจบขั้นตอนนี้ เราก็จะได้ผลวิเคราะห์ (หรือโมเดล) เพื่อนำไปใช้ประโยชน์กับธุรกิจจริง ๆ แล้วครับ

4. Decision นำข้อมูลมาช่วยตัดสินใจ

ขั้นตอนนี้ เราที่ทำงาน Data Science มีหน้าที่สรุปผลวิเคราะห์ให้เข้าใจง่าย ๆ เพื่อนำไปเสนอผู้ร่วมงานในฝ่ายบริหารครับ ซึ่งเป็นที่มาว่าทำไมหลายแห่งบอกว่า Data Scientist ต้องมี “ความสามารถในการสื่อสาร” (Communication Skill)

ในการแสดงผลวิเคราะห์ เราไม่จำเป็นต้องพูดปากเปล่าเสมอไปครับ เราสามารถแสดงเป็นรูปภาพให้ฝ่ายบริหารเข้าใจง่ายขึ้นได้ ความสามารถด้าน Data Visualization จะมีประโยชน์มากครับ

การ ทำความ สะอาดข้อมูลเป็น กระบวนการ ใด ของ วิทยาการข้อมูล
ตัวอย่างการทำ Data Visualization แสดงราคาหุ้น

สำหรับท่านที่สนใจด้านนี้ แอดขอแนะนำหนังสือ Storytelling with Data เขียนโดยอดีต People Analytics Manager ที่ Google และตีพิมพ์โดย Wiley ครับ เป็นหนังสือที่เข้าใจง่ายดีมาก ๆ

(แต่แอดหาซื้อตามร้านไม่ได้ T_T เลยเป็นเหตุผลที่แอดซื้อ Kindle มาเมื่อปีที่แล้วนี่เอง)

หลังจากเราอธิบายผลวิเคราะห์ให้เค้าแล้ว เราก็สามารถแนะนำแนวทางปฏิบัติโดยอิงจากผลวิเคราะห์ของเราได้ ซึ่งแปลว่าเราต้องมีความเข้าใจในธุรกิจ และเข้าใจถึงปัญหาที่เกิดขึ้นด้วยครับ

เราต้องทำเป็นทุกอย่างเลยหรือเปล่า?

จากด้านบนจะเห็นว่างานของ Data Science มันกว้างและเยอะมาก หลายคนอาจจะสงสัยว่าเราต้องทำเป็นทุกอย่างที่ลิสต์อยู่ด้านบนเลยมั้ย?

คำตอบคือ… เราไม่จำเป็นต้องรู้ทั้งหมด

ในสายงาน Data Science จะมีหลายตำแหน่งงานที่มาช่วยกันทำในแต่ละส่วนครับ หลายคนอาจจะเคยเห็นบริษัทรับตำแหน่ง Data Engineer, Data Analyst, Data … ซึ่งคนเหล่านี้แหละที่จะรับผิดชอบในแต่ละส่วนครับ

ยกเว้นว่าเราคุมตำแหน่ง Management ระดับสูงเกี่ยวกับ Data Science ในองค์กรใหญ่ อันนี้เราต้องเข้าใจทุกกระบวนการ แต่ไม่ต้องทำเองเป็นหมดก็ได้ครับผม

ถ้าบทความนี้มีประโยชน์ รบกวนช่วยคอมเม้นท์และแชร์นะครับ และหากมี Feedback อะไรเขียนไว้ได้เลย เพราะแอดอยากทราบบทความพื้นฐานแบบนี้จะมีประโยชน์กับทุกท่านมากน้อยขนาดไหนครับ

สำหรับบทความต่อไป แนะนำให้อ่านเรื่อง อาชีพในทีม Data ที่ Facebook เพื่อให้เข้าใจภาพสายงานในด้าน Data Science กันมากขึ้นครับผม

  • Facebook iconFacebook
  • Twitter iconTwitter
  • LINE iconLine