เราจะทราบได้อย่างไรว่า ข้อมูลของเราเป็น Fake data

เมื่อวันก่อนตอนผมบรรยายในงาน Webinar ครั้งที่ 45 ของสถาบันไอเอ็มซี ในหัวข้อ Data Engineering Technologies & Trends 2021 มีผู้ฟังท่านหนึ่งถามมาว่า “เราจะทราบได้อย่างไรว่า ข้อมูลของเราเป็น Fake data”

หลายคนอาจคิดว่าคำตอบนี้ส่วนหนึ่งเป็นเรื่องของทักษะด้านข้อมูล (Data literacy) ที่เราจะต้องใช้ตรรกะและองค์ความรู้แยกให้ได้ว่าข้อมูลใดเป็นข้อมูลจริงหรือเท็จ ข้อมูลมาจากแหล่งที่น่าเชื่อถือหรือไม่ แต่บังเอิญคำถามนี้กลายเป็นว่า ข้อมูลดังกส่าวมาจากแหล่งต้นทางที่เราคิดว่าน่าจะถูกต้อง มีความน่าเชื่อถือ แต่กลับเป็นว่ามีข้อมูลดิบบางส่วนที่ผิด แล้วเราจะทราบได้อย่างไร

ผมเองทำงานกับข้อมูลดิบมาเยอะ และบ่อยครั้งก็จะพบว่าข้อมูลจากแหล่งต้นทางผิดจริง แต่ก็ใช่ว่าจะผิดมากมาย ส่วนใหญ่อาจผิดพลาดเพราะการใส่ตัวเลขผิดพลาด หรือมีการเก็บข้อมูลคาดเคลื่อน เรื่องพวกนี้เป็นเรื่องปกติมากของการทำ Data analytics ยิ่งข้อมูลมีขนาดใหญ่ (Big data) ก็อาจทำให้มีโอกาสผิดได้มากขึ้นและจำนวนข้อมูลอาจผิดพลาดมากขึ้น ความผิดพลาดบางครั้งอาจไม่มีนัยสำคัญอะไรเลย แต่บางครั้งข้อมูลที่ผิดพลาดเพียง record เดียวก็อาจทำให้เกิดการวิเคราะห์ผิดพลาดได้ ถ้าความผิดพลาดในข้อมูลนั้นมหาศาล

กระบวนการที่จะช่วยทำให้ลดความผิดพลาดของข้อมูลส่วนหนึ่งคือ การทำ Data preperation ซึ่งเป็นหน้าที่ของ Data engineerในการจะต้องนำข้อมูลดิบ (Raw data) มาแปลง มาตรวจสอบความถูกต้องเสียก่อน เช่นหา Missing data หรือ Outlier กล่าวคือหาข้อมูลที่ดูแล้วผิดปกติแล้วทำการแก้ไข เช่นบางครั้งข้อมูลลบการเงินของบริษัทอาจมีจำนวนสูงผิดปกติ จำนวนพน้กงานมากผิดปกติ ข้อมูลส่วนตัว อายุ น้ำหนัก ดูสูงผิดปกติ หรือข้อมูนำเข้าส่งออกอาจใช้สกุลเงินต่างกัน ข้อมูลเหล่านี้ Data engineer จะช่วยทำการ Data Cleansing ให้ได้ เช่นอาจปรับหาค่าที่เหมาะสมมาใส่ หรือตัดออก และแปลงข้อมูลดิบให้กลายเป็นข้อมูลที่น่าเชื่อถือ (Trusted data) เพื่อให้ Data analyst หรือ Data scientist นำไปทำการวิเคราะห์ข้อมูลและแสดงผลต่อไป

แต่อย่างไรก็ตามแม้ Data engineer จะสร้าง Trusted data ให้แล้ว ก็ใช่ว่าข้อมูลนั้นจะถูกต้อง 100% แหล่งข้อมูลที่เข้ามาก็อาจจะเกิดการผิดพลาดแต่วิธีการด้าน Data engineering ก็ยังไม่สามารถแก้ไขได้ จากสารพัดสาเหตุ อาทิเช่น นำข้อมูลเข้ามาไม่ครบ ได้ข้อมูลผิดๆแต่ต้น หรือแม้แต่ข้อมูลถูกต้องแล้ว แต่ Data analyst ไม่เข้าใจข้อมูลดีพอ เลยทำการวิเคราะห์ที่ผิดแล้วแสดงผลผิดพลาดก็เป็นไปได้

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

ดังนั้นการที่จะทราบได้อย่างไรว่า ข้อมูลของเราเป็น Fake data คำตอบผมคือ กระบวนงานของ Data engineering และประสบการณ์ของ Domain expert เป็นเรื่องสำคัญสุด

ธนชาติ นุ่มนนท์

IMC Institute

งาน Data Engineer มีความสำคัญมากพอๆกับงานของ Data Scientist (ตอนที่ 2)

เมื่อตอนที่แล้วผมเขียนถึงประเภทงานด้านต่างๆที่เกี่ยวข้องกับการวิเคราะห์และบริหารจัดการข้อมูล (งาน Data Engineer มีความสำคัญมากพอๆกับงานของ Data Scientist (ตอนที่ 1)) และชี้ให้เห็นว่างานของวิศวกรข้อมูล (Data emgineer) มีความสำคัญพอๆกับงานของนักวิทยาศาสตร์ข้อมูล (Data Scientist) และบางครั้งอาจมีความสำคัญมากกว่าเสียด้วยซ้ำไป

สำหรับเหตุผลต่างๆขออธิบายดังนี้

  1. การทำงานด้านข้อมูลจะเริ่มต้นจากกระบวนการทางวิศวกรรมข้อมูล ซึ่งเป็นหน้าที่ของ Data engineer ที่จะต้องนำเข้าข้อมูล จัดการแปลงข้อมูล ปรับข้อมูลให้มีความถูกต้อง รวมถึงการตัดข้อมูลที่ผิดพลาดออก ก่อนที่จะส่งงานนี้ไปให้ Data Scientist หรือ Data analyst ไปทำการพยากรณ์หรือวิเคราะห์ข้อมูลต่อ ดังนั้นถ้าวิศวกรข้อมูลส่งข้อมูลมาผิดพลาด ไม่สมบูรณ์ ก็จะมีผลทำให้การวิเคราะห์หรือการพยากรณ์ข้อมูลต่างๆผิดพลาดไปด้วย ดังที่กล่าวว่า garbage in garbage out
  2. เมื่อวิเคราะห์ถึง Data analytic life cycle ตามมาตรฐานของ CRISP-DM(Cross-industry standard process for data mining) จะเห็นได้ว่ามีอยู่ 6 ขั้นตอน เริ่มจาก การทำความเข้าใจธุรกิจ (Business Understanding) ไปจนถึงการนำไปใช้งาน (deployment) ซึ่งเราจะพบว่างานส่วนใหญ่เกือบ 70-80% จะใช้เวลาไปกับขั้นตอนของ Data preparation กล่าวคือการเตรียมข้อมูลที่เป็นงานของ Data engineer ขณะที่งานของ Data scientist อย่างขั้นตอนการสร้างแบบจำลอง (Modeling) และ การประเมินผล (Evaluation) จะใช้เวลาไม่นานนัก
  1. งานการวิเคราะห์ข้อมูลขนาดใหญ่ (Big data)ที่พบในทางปฎิบัติจริงโดยมากจะเป็นงานการวิเคราะห์ข้อมูลทั่วไปที่ใช้หลักการของ Business Intelligence (BI) โดยเป็นหน้าที่ของนักวิเคราะห์ด้านข้อมูล (Data analyst) แล้วอาจนำผลไปทำ Dashboard โดยใช้เครื่องมือด้าน Visualization ซึ่งงานเหล่านั้นพบมากกว่างานด้านการพยากรณ์ข้อมูล (Predictive analytic) ที่ต้องทำโดย Data scientist ด้วยซ้ำไป เพราะหน่วยงานต่างๆจะเริ่มต้นจากการทำ BI ก่อน
  2. งานด้านการพยากรณ์ข้อมูล (Predictive analytic) ที่ทำโดยมากมักจะเป็นงานในการพัฒนาโมเดลพื้นฐานที่มีอยู่ทั่วไป และอาจต้องการนักวิทยาศาสตร์ข้อมูลที่เน้นการพัฒนาโปรแกรม หรือ Citizen Data Scientist ในการทำมากกว่าต้องการ นักวิทยาศาสตร์ข้อมูลขั้นสูง ซึ่งเราจะพบว่าสามารถนำงานเหล่านั้นให้ Data engineer มาศึกษาการเขียนโปรแกรมการพยากรณ์ข้อมูลได้ และบางครั้งอาจจะง่ายกว่าการที่จะเอานักวิทยาศาสตร์ข้อมูลขั้นสูงมาฝึกเป็น Data engineer เสียด้วยซ้ำไป กล่าวคือเราอาจให้ Data engineer มาทำหน้าที่ Data scientist ได้ในงานที่ไม่ซับซ้อน
  3. ข้อมูลจาก The 2021 Data Science Interview Report ระบุว่าตำแหน่งงานทางด้าน Data scientist เริ่มมีการเติบโตน้อยลงจากที่เคยเพิ่มปีละ 80% เหลือเพียงโตขึ้น 10% จากปี 2020 เมื่อเทียบกับปี 2019 ขณะที่งานด้าน Data engineer กลับโตขึ้นถึง 40% นอกจากนี้ยังมีการศึกษาโดย Mihail Eric ที่ลงบทความใน https://www.kdnuggets.com/ พบว่างานทางด้าน Data engineer มีความต้องการสูงกว่างานด้าน Data science ถึง 70%
  1. สุดท้ายมีบทความเรื่อง Data Engineer VS Data Scientist ที่รายงานการสำรวจเงินเดือนเฉลี่ยระหว่าง Data engineer กับ Data Scientist ในปี 2018 พบว่าเงินเดือนของ Data engineer เฉลี่ยอยู่ที่  $151K ต่อปี ส่วน Data Scientist $139K ต่อปี
ที่มา https://towardsdatascience.com/data-engineer-vs-data-scientist-bc8dab5ac124
ที่มา ที่มา https://towardsdatascience.com/data-engineer-vs-data-scientist-bc8dab5ac124

ทั้งหมดนี้คือสิ่งทีอยากชี้ให้เห็นว่างานของวิศวกรข้อมูล (Data engineer) มีความสำคัญมากและอาจเป็นหนึ่งในอาชีพที่น่าสนใจที่สุดสำหรับคนที่ต้องการทำงานด้านข้อมูล

ธนชาติ นุ่มมนท์

IMC Institute

งาน Data Engineer มีความสำคัญมากพอๆกับงานของ Data Scientist (ตอนที่ 1)

[บทความตอนที่ 2 สามารถอ่านได้จาก >> https://tinyurl.com/dsm37zsw]

อาชีพนักวิทยาศาสตร์ข้อมูล (Data Scientist) เป็นอาชีพที่กล่าวขานกันมากที่สุด คนหลายคนอยากทำงานอาชีพนี้ เยาวชนรุ่นใหม่ได้รับการบอกกล่าวว่าเป็นอาชีพที่น่าจะมีอนาคตที่ดี สถาบันการศึกษาในบ้านเราหลายที่ก็เปิดสาขาด้าน Data Science ในระดับปริญญาตรีขึ้นมา

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

  • วิศวกรข้อมูล (Data engineer) คือผู้ที่จะนำข้อมูลเข้าระบบ ทำการแปลงข้อมูล ทำเรื่อง Data Cleansing ทำให้ข้อมูลมีความถูกต้องขึ้น ซึ่งงานตรงส่วนนี้ต้องมีความรู้ด้านไอที การพัฒนาโปรแกรมภาษาต่างๆเช่น Python และเทคโนโลยีด้านข้อมูล โดยเฉพาะเรื่องของ Big Data อาทิเช่น Database, Hadoop, Spark และ Cloud services ต่างๆ
  • นักวิเคราะห์ด้านข้อมูล (Data analyst) หรือคนที่จะนำข้อมูลที่ผ่านขบวนการของ Data engineering มาแล้วมาวิเคราะห์ทางธุรกิจในอุตสาหกรรมนั้นๆ แล้วอาจนำไปแสดงผลต่อ ซึ่งงานตรงส่วนนี้นอกจากต้องมีความรู้ด้านธุรกิจนั้น อาจมีความสามารถในการใช้ภาษาคอมพิวเตอร์ที่จะสอบถามข้อมูลอย่าง SQL และอาจต้องสามารถใช้เครื่องมือพวก Data visualisation ได้
  • นักวิทยาศาสตร์ข้อมูล (Data Scientist) คือผู้ที่จะนำข้อมูลที่ผ่านขบวนการของ Data engineering มาแล้ว มาทำการพัฒนาโมเดล พยากรณ์ในเรื่องต่างๆ โดยใช้หลักการของ Machine Learning, AI หรือ Deep learning ผู้ที่จะทำงานด้านนี้ต้องมีความรู้ทางด้านคณิตศาสตร์ การเขียนโปรแกรม และความรู้เชิงธุรกิจนั้นได้ดี แต่ด้วยงานพยากรณ์ข้อมูลมีหลากหลายและเครื่องมือเริ่มง่ายขึ้น ทำให้เราอาจแบ่งนักวิทยาศาสตร์ข้อมูลนี้ได้เป็นกลุ่มย่อยต่างๆดังนี้
    • นักวิทยาศาสตร์ข้อมูลขั้นสูง คือคนที่มีความรู้ด้านคณิตศาสตร์ อัลกอริทึมต่างๆเป็นอย่างดี และจะมาพัฒนาโมเดลในการพยากรณ์ในเรื่องใหม่ๆหรือต้องเจาะลึก และยากกว่าที่เป็นปัญหาโดยทั่วไป ทีมีโมเดลและ Library มาตรฐานอยู่
    • นักวิทยาศาสตร์ข้อมูลที่เน้นการพัฒนาโปรแกรม คนกลุ่มนี้อาจแปรผันมาจาก วิศวกรข้อมูล แต่จะเน้นการเขียนโปรแกรมจากเครื่องมือ หรือ Library ต่างๆที่มีอยู่ เช่นการเขียนภาษา Python หรือ R เพื่อใช้ Scikit-Learn หรือ TensorFlow คนกลุ่มเหล่านี้อาจไม่ได้เก่งโมเดลทางคณิตศาสตร์นัก ทำให้ไม่สามารถทีจะทำการพยากรณ์ในเรื่องยากๆ ที่ต้องมีความรู้ด้านโมเดลเป็นอย่างดี และถ้าในอนาคตเครื่องมือง่ายๆขึ้นไปเรื่อยๆงานของกลุ่มคนเหล่านี้ ก็จะมีความสำคัญน้อยลง เพราะสามารถใช้คนกลุ่มที่สามทำงานได้ดีกว่า
    • Citizen Data Scientist เนื่องจากเครื่องมือในการทำวิทยาศาสตร์ข้อมูลในปัจจุบันเริ่มง่ายขึ้นมาก จนบางครั้งคนทั่วไปก็สามารถทำได้ เช่นการใช้เครื่องมืออย่าง AutoML ดังนั้นคนกลุ่มนี้ในอนาคตจะเป็นกลุ่มใหญ่ในการพยากรณ์ข้อมูล โดยเน้นที่มีความรู้เชิงธุรกิจหรืออุตสาหกรรมนั้น เข้าใจโจทย์ได้ลึกซึ้งกว่าสองกลุ่มแรก จะทำให้มีความต้องการคนในกลุ่มนี้มากขึ้น โดยเอาคนที่มีความรู้ในธุรกิจนั้นไปเรียนรู้การใช้เครื่องมือ เช่นนักเศษฐศาสตร์ นักวิชาการเกษตร แพทย์ นักการตลาด เป็นต้น
  • ผู้ดูแลระบบ (Data administrator) การวิเคราะห์ข้อมูลจำเป็นต้องมีระบบโครงสร้างพื้นฐานด้านไอที จึงต้องมีคนที่มีความสามารถที่จะติดตั้งและดูแล Server หรือ Middleware ต่างๆเช่น Database, Data warehouse หรือ Hadoop ซึ่งงานตรงส่วนนี้ต้องมีความรู้ด้านไอที โดยเฉพาะในเชิงของระบบปฎิบัติการต่างๆ

จากที่เขียนสรุปมานี้จะเห็นได้เลยว่า งานทางด้านข้อมูล ไม่ใช่สำคัญแค่นักวิทยาศาสตร์ข้อมูล และถ้านักวิทยาศาสตร์ข้อมูลไม่เก่งจริง ไม่ใช่คนที่มีความรู้ด้านคณิตศาสตร์ อัลกอริทึมต่างๆเป็นอย่างดี แล้วเน้นเพียงแค่การพัฒนาโปรแกรมโอกาสในการทำงานในอนาคตก็อาจจะถูกแย่งโดยกลุ่ม Citizen Data Scientist ดังนั้นที่เราบอกว่าเรียน Data Science อนาคตจะดีก็ต้องดูลึกๆว่าหลักสูตรที่เรียนได้เน้นด้านคณิตศาสตร์มากแค่ไหน

สิ่งที่สำคัญอีกอย่างที่เห็นจากรูปคืองานด้านข้อมูลส่วนใหญ่ จะเริ่มต้นจากขบวนการ Data Engineering และเผลอๆมากกว่า 70-80% ของงาน จะเป็นงานของวิศวกรข้อมูล อย่างที่เรารู้กันดีครับ ถ้าข้อมูลถูกต้องการวิเคราะห์ต่างๆก็จะถูกต้องตาม หรือที่เรามักพูดว่า “garbage in garbage out”

เดี๋ยวในตอนหน้า ผมจะมาเขียนสรุปให้ต่อว่า ทำไมงาน Data Engineer มีความสำคัญมากพอๆกับงานของ Data Scientist หรือบางครั้งอาจสำคัญกว่าด้วยซ้ำไป

ธนชาติ นุ่มนนท์

IMC Institute

[บทความตอนที่ 2 สามารถอ่านได้จาก >> https://tinyurl.com/dsm37zsw]

Data Digital Transformation : ข้อแนะนำ 10 ข้อเรื่องการทำกลยุทธ์ด้านข้อมูล และการทำ Design Thinking

ผมเขียนเรื่องการทำกลยุทธ์ด้านข้อมูล (Data Strategy) ขององค์กรมาหลายตอน และเน้นว่าองค์กรจำเป็นอย่างยิ่งที่จะต้องทำกลยุทธ์ด้านนี้เพื่อจะนำไปสู่เรื่องของการทำ Digital Transformation โดยมีบทความหลายๆตอนที่เกี่ยวข้องคือ

และเพื่อให้การทำกลยุทธ์เป็นไปได้ดี ผมขอนำข้อแนะนำที่สำคัญของ ของ CDQ Competence Center ที่อยู่ 10 ข้อมาเขียนสรุปให้ดังนี้

  1. การทำ Data strategyให้ประสบความสำเร็จได้นั้น ผู้บริหารสูงสุดขององค์กรจะต้องเป็นเจ้าภาพหรือให้การสนับสนุนอย่างเต็มที่
  2. องค์กรจะต้องกำหนดให้การทำ Data strategy เป็นวาระที่สำคัญอย่างยิ่งขององค์กร
  3. การจัดทำ Data strategy จะต้องเป็นความร่วมมือกันระหว่างผู้เชี่ยวชาญด้านข้อมูล (เช่นนักวิเคราะห์ข้อมูล หรือนักวิทยาศาสตร์ข้อมูล) ทีมงานไอที และทีมงานด้านธุรกิจแผนกต่างๆ
  4. การจัดทำ Data strategy ควรจะเริ่มต้นจากการกำหนดลำดับความสำคัญของ Data use cases ต่างๆที่ชัดเจน
  5. การจัดทำ Data strategy จำเป็นอย่างยิ่งที่จะต้องสอดคล้องกับกลยุทธ์ด้านต่างๆขององค์กร
  6. การจัดทำ Data strategy อาจทำได้โดยใช้ template อย่าง Data Strategy Canvas ที่มีองค์กรประกอบอยู่ 7 ด้านคือ 1) Need for action 2) Vision 3) Mission and scope 4) Business value 5) Key capabilities 6) Code of conduct และ 7) Transformation
  7. Data Strategy ที่ดีควรจะตอบคำถามขององค์กรหลักๆในสองด้านคือ ด้าน Data Monetisation และ ด้าน Data Foundation
  8. ควรจะต้องสื่อสาร Data Strategy ขององค์กรให้กับพนักงานทุกระดับรับทราบ
  9. ตัวชี้วัดของ Data Strategy จะต้องมีความชัดเจน สามารถติดตาม และทำการประเมินได้
  10. ควรจะมีการทบทวน Data Strategy เป็นประจำ โดยอาจต้องมีแผนปรับปรุงทุกระยะ 1-3 ปี

บางคนก็อาจสงสัยว่า การทำ Data Strategy ควรใช้วิธีการอย่างไร จะเริ่มอย่างไร วิธีการหนึ่งที่ทำได้คือการนำหลักการของ Design Thinking ซึ่งเป็นมาใช้ กระบวนการคิดเชิงออกแบบ (Design Thinking) จะทำให้เรามองเห็นวิธีการใหม่ๆ ในการแก้ไขปัญหา สร้างสรรค์สิ่งใหม่ๆ ตลอดจนสร้างนวัตกรรมตอบโจทย์ผู้บริโภคได้ โดยเฉพาะในเรี่องการหา Big Data Use Cases

กระบวนการคิดเชิงออกแบบจะประกอบไปด้วยหลักการสำคัญ 5 ขั้นตอนคือ

1.Empathize – เข้าใจปัญหา
2.Define – กำหนดปัญหาให้ชัดเจน
3.Ideate – ระดมความคิด
4.Prototype – สร้างต้นแบบที่เลือก
5.Test – ทดสอบ

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

ธนชาติ นุ่มนนท์

IMC Institute