ได้เขียนเรื่อง Data Scientist ไปหลายครั้ง (เช่น Big Data Analytics กับความต้องการ Data Scientist ตำแหน่งงานที่น่าสนใจในปัจจุบัน) และก็ได้หยิบยกบทความของ ดร.อธิป อัศวานันท์ เรื่อง “ความเข้าใจที่ผิดๆ เกี่ยวกับ Big Data และ Analytics ทั้งตอนที่ 1 และ ตอนที่ 2” มาให้อ่านกัน ก็หวังว่าเราคงเริ่มมีความเข้าใจมากขึ้นระหว่าง Programmer, BI Analyst และ Data Scientist ที่ผมพยายามบอกว่า Data Scentist ต้องมีความรู้ทางด้านคณิตศาสตร์และ Predictive Algorithm
คนที่จะเป็น Data Scientist จะต้องมีความสามารถอยู่ในสามด้านก็คือ 1) Programming กล่าวคือจะต้องมีทักษะการโปรแกรมที่ดีเช่นสามารถเขียนโปรแกรมอย่าง Map/Reduce, R หรือ Hive ได้ 2) มีความรู้ด้าน Math และ Statistics คือจะต้องเข้าใจการรวบรวมและวิเคราะห์ข้อมูล มีความเข้าใจเรื่อง Algorithm โดยเฉพาะด้าน Predictive Analytics สำหรับทำ Machine Learning ได้ และ 3) ต้องมีความเข้าใจเรื่องธุรกิจที่จะมาวิเคราะห์ข้อมูล เพื่อจะได้ทราบว่ารูปแบบของข้อมูลเป็นอย่างไร หรือจะต้องการข้อมูลใดสำหรับการวิเคราะห์และการคาดการณ์ ซึ่งทักษะเหล่านี้ได้สรุปรวมไว้ในรูปที่ 1
รูปที่ 1 ทักษะของ Data Scientist
จริงๆแล้วการทำ Predictive Analytics ไม่ใช่เรื่องใหม่ แต่การคาดการณ์ต่างๆจะมีความแม่นยำและใก้ลเคียงกับความจริงมากขึ้นถ้ามีข้อมูลจำนวนมากขึ้น ดังนั้นเทคโนโลยี Big Data จึงทำให้การคาดการณ์ต่างๆแม่นยำขึ้น และการมีข้อมูลขนาดใหญ่จะมีประโยชน์มากยิ่งขึ้นถ้าเราสามารถทำ Predictive Analytics ซึ่งเราจะเห็นได้ว่ากรณีนี้มีความแตกต่างกันกับ Business Intelligence (BI)
- BI คือการดู Business Insight เพื่อให้ทราบว่าข้อมูลที่ผ่านมาเป็นอย่างไร โดยนำเสนอในมุมมองต่างๆ ทั้งในรูปแบบของรายงาน กราฟ หรือ Dashboard
- Predictive Analytics คือการคาดการณ์อนาคตโดยใช้โมเดลคณิตศาสตร์ที่ต้องใช้ข้อมูลจำนวนมากและอาจจะมาจากหลายแหล่ง
รูปที่ 2 เครื่องมือและเทคโนโลยีของ Data Science
เทคโนโลยี Big Data ทำให้ Data Scentist มีเครื่องมือที่หลากหลายขึ้น ทั้งในการเก็บข้อมูลเช่น RDBMS ในรูปแบบเดิม หรือ NoSQL อย่าง MongoDB หรือ unstructure storage อย่าง Hadoop HDFS ทั้งเครื่องมือในการถ่ายโอนข้อมูลอย่าง Sqoop หรือ Flume และเครื่องมือหรือภาษาในการวิเคราะห์ข้อมูลอย่าง Java, R, Mahout และเนื่องจากข้อมูลในปัจจุบันส่วนใหญ่เป็น unstructure data ก็เลยทำให้ Hadoop กลายเป็นเครื่องมือที่น่าสนใจที่สุดของ Big Data เพราะนอกจากสามารถที่จะเก็บข้อมูลขนาดใหญ่ได้แล้ว ยังมีเครื่องมือที่ช่วยในการวิเคราะห์ข้อมูลที่หลากหลาย
รูปที่ 3 หน้าที่ของ Data Science
สุดท้ายเพื่อให้เข้าใจว่า Data Scientist ทำอะไรจากเทคโนโลยีต่างๆที่มีอยู่ ลองพิจารณาดูรูปที่ 3 จะเห็นว่าจะมีการกล่าวถึงเทคโนโลยีต่างๆ เช่นเครื่องมือในการรวบรวมข้อมูลที่ทำ ETL เครื่องมือในการเก็บข้อมูลอย่าง Hadoop เครื่องมือในการวิเคราะห์ข้อมูลอย่าง R, Hive, Pig, Java, Mahout เครื่องมือในการแสดงผลอย่าง Dashboard, Web App และ เครื่องมือในการพยากรณ์ข้อมูลที่ทำ Machine Learning จากรูปจะเห็นได้ว่าบทบาทของ Data Scientist จะคาบเกี่ยวกับบทบาทของ Data Architecture/Management และ Analytics โดย Data Sceintist จะต้องใช้เครื่องมือต่างๆทั้ง Hadoop, R, MapReduce หรือ Mahout ในการวืเคราะห์ข้อมูล รวมถึงมีการใช้ Algorithm สำหรับ Machine Learning
- R เป็๋นภาษาที่สามารถใช้ในการวิเคราะห์ข้อมูลได้
- Mahout เป็นเครื่องมือที่ใช้ในการวิเคราะห์ Large Scale Data บน Hadoop โดย Mahout จะมี Library สำหรับ Predictive Analytics สามด้านคือ Recommender, Clustering และ Classification
การพัฒนาหรือหา Data Scientist คงไม่ใช่ง่าย และไม่สามารถทำได้โดยระยะเวลาอันสั้น จากข้อมูลการสำรวจส่วนใหญ่ก็จะต้องเป็นที่มีพื้นฐานทางคณิตศาสตร์อย่างดี โลกของ Big Data กำลังมา ตรงนี้น่าจะเป็นโอกาสอันดีของนักคณิตศาสตร์ และจำเป็นอย่างยิ่งที่บ้านเราจะต้องเร่งพัฒนาคนทางด้านนี้ แต่อย่ามองว่าเป็นเรื่องง่าย เพราะการเรียนคณิตศาสตร์ไม่ได้ทำกันได้เพียงสัปดาห์เดียว การจะเรียนปริญญาเอกก็ต้องใช้เวลาเป็นปีๆ ดังนั้นการที่จะสร้าง Data Scentist ทีดีก็ต้องบ่มเพราะเป็นปีๆเช่นกัน
ธนชาติ นุ่มนนท์
IMC Institute
ตุลาคม 2557