หลังจากเมื่อประมาณปีที่แล้ว แอดมินวางแผนไว้ว่าจะ สอนพื้นฐาน Data Science เพื่อคนไทย แอดก็ค่อย ๆ นำเนื้อหาด้าน Data Science มาให้ได้เรียนรู้กัน ตั้งแต่:

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

นั่นคือ… Data Science คืออะไร? แล้วงานสายนี้ต้องทำอะไรบ้าง?

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

Data Science คืออะไร

data-science-steps.jpg

ขั้นตอนการทำ Data Science จากสไลด์ของแอดเองครับ

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

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

Data Science = Computer Science + Maths & Stats + Business Domain Expert ?

data-science-venn-diagram.png

Venn Diagram ของ Data Science – ขอบคุณรูปภาพจาก ICAEW

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

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

อันนี้แอดคิดว่าค่อนข้างถูกต้อง แต่ไม่ 100% เพราะการทำ Data Science ไม่ได้จำกัดแค่วงกลม 3 วงด้านบน เราจำเป็นต้องรู้ศาสตร์เฉพาะทางในการจัดการกับข้อมูลเพิ่มเติมอีกด้วยครับ ซึ่งสิ่งที่วงกลมเหล่านี้ขาดไป คือ ด้านของ Data Engineering

งานของสาย Data Science ต้องทำอะไรบ้าง

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

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

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

example-data-web-analytics.jpg

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

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

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

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

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

data-wrangling-60-percent.jpg

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 ก็อยู่ในขั้นตอนนี้นั่นเอง

14124901_273649006353497_8860960516488507400_o

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

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

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

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

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

same-mean-stats.png

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

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

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

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

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

multiple-stock-visualization.jpg

ตัวอย่างการทำ Data Visualization แสดงราคาหุ้น

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

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

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

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

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

no-gif-bird.gif

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

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

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

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

หากมีคนสนใจเยอะ เดี๋ยวแอดจะมาเขียนตอนต่อไปเกี่ยวกับสายงานต่าง ๆ ในด้าน Data Science ว่าแต่ละคนเป็นใคร ทำอะไรบ้าง (และตำแหน่งไหนเงินดี) ครับผม 🙂

 

คุณอยากอ่านบทความแนวนี้อีกมั้ย ?

ลงทะเบียนรับ GrowthBee Newsletter เพื่ออ่านบทความใหม่ ๆ ด้าน Data Science ก่อนใคร !!

I agree to have my personal information transfered to MailChimp ( more information )

เราสัญญาว่าจะไม่มีการแสปมใด ๆ ทั้งสิ้น และคุณสามารถยกเลิกรับข่าวสารตอนไหนก็ได้