ผู้เขียน Show –Yongyuth Likitpattanakul, CPIM– เราใช้เวลาในการทำ Data Preparation มากกว่าการทำ Analytics? หลายท่านอาจเคยได้ยินมาว่า มีการทำสำรวจพบว่านักวิเคราะห์ข้อมูลใช้เวลา 70-80% ในการเตรียมข้อมูล ที่เหลืออีก 20-30% คือเวลาสำหรับวิเคราะห์ข้อมูล[1] ซึ่งก็น่าแปลกเพราะเวลาที่ถือเป็น Value Added น่าจะอยู่ในส่วนวิเคราะห์ข้อมูล (Analytics) ซึ่งมีเพียง 20-30% เท่านั้น แล้วทำไมคนส่วนใหญ่จึงใช้เวลาถึง 70-80% ในการเตรียมข้อมูล? หากเรามาพิจารณาว่าทำไมจึงเป็นเช่นนั้น ก็จะพบว่ามีความจริงแฝงอยู่ไม่น้อยทีเดียว ผู้เขียนขออธิบาย ปัจจัยที่สนับสนุนข้อความในย่อหน้าก่อนหน้า ที่ส่งผลให้เราต้องใช้เวลาในการทำ Data Preparation ค่อนข้างมาก ดังต่อไปนี้ หมายเหตุ ผู้เขียนอธิบายสิ่งที่เกิดขึ้นจากประสบการณ์ส่วนตัวของผู้เขียน ถ้าหากมีข้อผิดพลาดหรือข้อท้วงติงจากผู้อ่าน ผู้เขียนขอน้อมรับฟังด้วยความเต็มใจและขอบพระคุณอย่างยิ่งที่แนะนำด้วยความปราถนาดี ปัจจัยที่ 1 ความพร้อมของข้อมูล กล่าวคือ นักวิเคราะห์ข้อมูลไม่มี Data ที่พร้อมใช้งานที่ตรงกับความต้องการในทันที ตัวอย่างเช่น
หลายองค์กรเลือกวิธีแก้ปัญหาข้างต้นด้วยการสร้าง Data Warehouse ซึ่งอาจมีค่าใช้จ่ายสูงและใช้เวลานาน แต่หลายองค์กรก็ไม่ได้สร้าง Data Warehouse แต่ให้นักวิเคราะห์ทำการ Export Data ออกจากระบบเพื่อนำไปวิเคราะห์ด้วยตนเอง ไม่ว่าจะเป็นวิธีใดก็ตาม บุคคลากรที่จะมาช่วยเป็นพระเอกขี่ม้าขาว เพื่อทำให้นักวิเคราะห์ข้อมูลที่เป็น Business User ทำงานสะดวกรวดเร็วขึ้น ช่วยแก้ปัญหาและอำนวยความสะดวกต่าง ๆ ได้ ก็คือ บุคคลากรด้าน IT (IT User) นั่นเอง อย่างไรก็ดี เราพบปัญหาที่ตามมาดังปัจจัยที่ 2 คือ ปัจจัยที่ 2 ความต้องการด้านการวิเคราะห์ที่เปลี่ยนแปลงอยู่ตลอดเวลา จนไม่สามารถบอก IT User ได้ว่าต้องการข้อมูลใดบ้าง และไม่เปลี่ยนแปลงในอนาคต กล่าวคือ โดยธรรมชาติแล้วการวิเคราะห์ข้อมูลนั้น Requirements ก็จะเปลี่ยนแปลงไปเรื่อย ๆ คือเป็น Dynamic ไม่ใช่คงที่แบบ Static เช่น เมื่อวิเคราะห์เรื่องนึงเสร็จแล้วก็อยากจะรู้อีกเรื่องนึง ไปเรื่อย ๆ ดังนั้นการที่จะให้ Business User ทราบว่าต้องการข้อมูลใดบ้างตั้งแต่เริ่มแรกจึงทำได้ยาก ซึ่งตรงนี้จะขัดแย้งกับแผนก IT ที่มาช่วยในโครงการเตรียมข้อมูล เพราะ IT อาจจะทำโครงการแบบ Waterfall Project คือต้องมีการเก็บ Requirements ให้ชัดเจนตั้งแต่ช่วงแรก ค่อยนำ Requirements เหล่านั้นไปออกแบบและพัฒนา ปัญหาจึงเกิดขึ้นเมื่อมีการ ขอเปลี่ยนแปลง (Change Request) จาก Business User เช่นต้องการข้อมูลเพิ่มขึ้น ปัญหาที่ผู้เขียนพบคือ IT อาจจะไม่มีเวลาว่าง (Available Time) ในการแก้ไข ทำให้เราต้องรอเป็นเวลานาน ไม่ทันใจนักวิเคราะห์ข้อมูล อีกประเด็นหนึ่งที่น่าสนใจคือ ในองค์กรจะมีบุคคากร IT ที่ชำนาญทั้งเรื่องระบบ และฐานข้อมูล มาช่วยเตรียมข้อมูลหรือไม่ และถ้ามี เค้าเหล่านั้นจะมีเวลามาทำงานโครงการ BI มากน้อยเท่าใดกัน บางองค์กรจึงแก้ปัญหาด้วยการจ้างงานบุคคลากรที่มาทำหน้าที่จัดเตรียมข้อมูลโดยเฉพาะซึ่งก็คือตำแหน่ง Data Engineer นั่นเอง Data Engineer จะช่วย Support ข้อมูลให้กับ Business User โดยอาจจะสร้างเป็น Data Warehouse หรือไม่ใช่ Data Warehouse ก็ได้ แต่มีหน้าที่ทำงานร่วมกับ Business Analyst ให้ทำงานได้อย่างราบรื่นตลอดเวลาแม้จะมีการเปลี่ยนแปลง Requirements อันเป็นเรื่องปกติก็ตาม แต่หลายองค์กรก็ไม่ได้เลือกแก้ปัญหาด้วยการจ้าง Data Engineer เสมอไป บางองค์กรจะใช้บุคลากรเท่าที่มีอยู่ให้เกิดประโยชน์สูงสุด โดยอาจถือคติว่า Business User ย่อมจะรู้และเข้าใจข้อมูลมากกว่า IT User และ Business User ยังเป็นนักวิเคราะห์ข้อมูล (Business Analyst) ภายในคนเดียวกันด้วย พูดง่าย ๆ ก็คือให้ คน ๆ นั้นทำหน้าที่ทั้งเตรียมข้อมูลและวิเคราะห์ข้อมูลเลยแล้วกัน ความคิดนี้นำมาสู่ แนวคิดที่เรียกว่า Self Service Data Preparation ปัจจัยที่ 3 ทักษะที่จำเป็นในการทำ Self Service Data Preparation ขอให้เข้าใจตรงกันก่อนว่า คำว่า Self Service Data Preparation นั้น Focus ไปที่ Business User ไม่ใช่ IT User การให้ Business User สามารถทำ Data Preparation ได้ด้วยตนเอง อุปสรรคแรกที่นึกถึงคือ Business User จะมีทักษะด้าน IT เพียงพอหรือไม่ ทักษะในที่นี้เช่น การ Connect Data กับฐานข้อมูลประเภทต่าง ๆ การ Combine Data หลาย ๆ รูปแบบเข้าด้วยกัน การ Cleansing Data การ Transform Data เป็นต้น แน่นอนการให้ Business User ไปทำ Data Warehouse คงจะไม่ใช่คำตอบ ทางออกของปัญหานี้คือ องค์กรต้องหาเครื่องมือที่ Business User คุ้นเคย และสามารถทำ Data Preparation ได้ด้วยตนเองด้วยเครื่องมือนั้น ๆ มาถึงตอนนี้หลายท่านคงนึกออกว่า เครื่องมือดังกล่าวก็คือ Excel นั่นเอง Excel เครื่องมือทำ Data Preparation ที่คนส่วนใหญ่เข้าถึงได้ Excel เป็นเครื่องมือที่ได้รับความนิยมสูงมาก นักวิเคราะห์ข้อมูลส่วนใหญ่สามารถใช้ Excel ได้อยู่แล้ว ดังนั้น Excel จึงเป็นเครื่องมือในการทำ Data Preparation สำหรับ Business User ที่นิยมอย่างมาก ข้อดีอีกอย่างที่สำคัญคือเมื่อเตรียมข้อมูลเสร็จแล้ว ก็สามารถวิเคราะห์ข้อมูล เช่นการสร้างตารางและกราฟต่าง ๆ ได้บน Excel เลย เรียกได้ว่าซอฟต์แวร์เดียวใช้ได้ทั้ง Data Preparation และ Data Analytics โดยส่วนตัวผู้เขียนคิดว่า Excel คือซอฟต์แวร์ที่ยืดหยุ่น (Flexible) มาที่สุดแล้ว ทำได้หลายอย่างมาก แต่การทำ Data Preparation และ Data Analytics บน Excel อาจจะไม่ใช่ทางเลือกที่ดีที่สุดเสมอไป รูปด้านล่างคือขั้นตอนในการทำ Data Preparation และ Data Presentation บน Excel โดยทั่วไป เมื่อเราใช้ Excel ทำ Data Preparation เราจะพบข้อจำกัดหลายอย่าง ดังนี้
เมื่อเป็นเช่นนี้ เราจะพบว่านักวิเคราะห์ข้อมูล ที่เป็น Business User นั้นใช้เวลาในกระบวนการ Data Preparation ค่อนข้างนาน ซ้ำร้ายงาน Data Preparation เป็นงานที่ทำซ้ำ ๆ (Repetitive) งานที่ทำประจำตามรอบเวลา (Routine) ด้วย เช่นถ้าต้องการสร้างรายงานแบบ Weekly ก็ต้องทำ Data Preparation สัปดาห์ละครั้ง เป็นต้น ผู้เขียนพบว่าบางครั้งผู้บริหารต้องการดูรายงานที่มีการ update data แบบ daily แต่ข้อจำกัดด้านเวลาทำให้ องค์กรต้องจำยอมดูรายงานแบบ Weekly ได้เท่านั้น เพราะเราไม่มีเวลามาเตรียมข้อมูลทุก ๆ วัน ซึ่งก็เป็นเรื่องน่าเสียดายไม่น้อยทีเดียว เราจะลดเวลาการทำ Data Preparation ได้อย่างไร? ผู้เขียนพบว่า Business User บางคนมีความชำนาญการใช้งาน Excel ถึงขั้น Advanced เลยทีเดียว User ขั้นเทพเหล่านั้น อาจจะมีการเขียน VBA (Visual Basic for Application) บน Excel เพื่อช่วยแปลงงาน Manual ให้เป็นแบบอัตโนมัติ (Automate) มากขึ้น แต่ก็ยังไม่สามารถทำทุกอย่างให้อัตโนมัติได้ 100% อยู่ดี เพราะข้อจำกัดบ่างอย่างของ Excel น่าเสียดายที่อาจจะมี User ไม่มากเท่าไร ที่สามารถเขียน VBA ได้ ซึ่งเข้าใจว่าคงมีสัดส่วนที่ไม่มากนัก ดังนั้น User ส่วนใหญ่ก็ยังคงต้องทำ Manual อยู่ต่อไปนั่นเอง แล้วเราจะแก้ปัญหานี้ได้อย่างไร คำตอบก็คือต้องหาซอฟต์แวร์ที่ออกแบบมาเฉพาะทางสำหรับการเตรียมข้อมูลโดยเฉพาะ ซอฟต์แวร์ที่กล่าวถึงเรียกว่า Data Preparation Software ยังไงล่ะ!รูปด้านล่างคือแนวคิดการทำงานของซอฟต์แวร์ด้าน Data Preparation คุณสมบัติของซอฟต์แวร์ Data Preparation ที่เราคาดหวัง คือ
ในตลาดระดับโลกมีซอฟต์แวร์ประเภท Data Preparation ให้เลือกหลายซอฟต์แวร์ทีเดียว ในบทความนี้ผู้เขียนขออธิบายเฉพาะซอฟต์แวร์ที่ชื่อ Tableau Prep การทำ Data Preparation ด้วย Tableau Prep บริษัท Tableau ได้ให้นิยาม Tableau Prep ว่าเป็น Self-service Data Preparation คือเป็นซอฟต์แวร์ที่ออกแบบมาเพื่อ ให้ Business User ทำการเตรียมข้อมูลด้วยตนเองโดยเฉพาะ ผู้เขียนมองว่าสิ่งที่ Tableau Prep มีจุดเด่นคือ ความง่ายในการใช้งานมาเป็นอันดับแรก เพราะถ้าหากซอฟต์แวร์ใช้งานไม่ง่ายเพียงพอแล้วจะให้ Business User เรียนรู้และใช้งานในเวลาอันสั้นได้อย่างไร? ลักษณะสำคัญของโปรแกรม Tableau Prep มีดังนี้
แนวคิดที่สำคัญของ Tableau Prep คือการทำ Data Preparation ผ่านการสร้าง Flow ดังตัวอย่างดังรูปด้านล่าง Flow จะประกอบด้วย Step ต่าง ๆ และมี Link เชื่อมระหว่าง Step เพื่อให้เห็นลำดับและที่มา การไหลของข้อมูล จะวิ่งจากซ้ายไปขวา ถ้าเรา Mapping Flow กับแนวคิดเรี่อง Process อันประกอบด้วย Input, Process, Output เราก็สามารถจำแนก Flow ออกได้เป็น 3 ส่วน คือ 1)Connect Data 2)Transform Data และ 3)Save Data ข้อดีของการสร้าง Flow คือเราเห็นภาพการไหลของข้อมูลได้อย่างชัดเจน เราสามารถดูได้เลยว่าเรามีการดำเนินงาน Step ใดบ้าง และในแต่ละ Step มีการทำอะไรบ้าง ซึ่งแตกต่างจาก Excel อย่างมากเพราะใน Excel นั้นเราไม่รู้เลยว่ามีการแก้ไขอะไรไปบ้าง
Tableau Prep รองรับการ Connect กับข้อมูลหลายรูปแบบ หลากหลายชนิดมาก รูปด้านล่างคือ รายชื่อของ Data ที่สามารถเชื่อมต่อด้วย Tableau Prep ได้ ข้อดีที่เหนือกว่า Excel คือ ความหลากหลายของข้อมูลที่มากกว่าเป็นอย่างมาก
Tableau Prep มี Object ในการสร้าง Flow เพื่อ Transform Data 8 รูปแบบ ดังรูป 3.1 Clean Step คือ Step สำหรับ Clean Data ให้สะอาด เราสามารถทำหลายอย่างได้ใน Clean Step เช่น การ View และ Explore Data การสร้าง Calculated Filed การ Split Data การ Group Data การ Filter Data และอื่น ๆ อีกมากมาย 3.2 New Rows สำหรับสร้างข้อมูลในกรณีที่ข้อมูลของเรามี Missing Row หรือข้อมูลที่ไม่ครบถ้วน แล้วให้ระบบเติมข้อมูลให้สมบูรณ์ยิ่งขึ้นโดยอัตโนมัติ โดยสามารถใช้กับข้อมูลได้ 2 ชนิดคือ ข้อมูลตัวเลข (Numeric) และข้อมูลวันที่ (Date) 3.3 Aggregate คือการ Group Data เพื่อทำให้ข้อมูลมีความละเอียดน้อยลง เราสามารถเลือกรูปแบบการ Aggregate ได้หลายรูปแบบเช่น Sum, Average, Min, Max เป็นต้น 3.4 Pivot คือการ Reshape Data ซึ่งมี 2 แบบคือ Column to Row และ Row to Column ส่วนใหญ่ใช้กับข้อมูลที่มาจาก Excel ซึ่งเป็นข้อมูลการวางแผน เช่น Budget หรือ Forecast ซึ่งมักจะมีโครงสร้างข้อมูลต้นทางแบบ Pivot 3.5 Join คือการ Combine ข้อมูลจาก 2 Table รวมเป็น Table เดียว วิธีการ Join จะเป็นการเพิ่ม Column ข้อมูล 3.6 Union คือการ Combine ข้อมูลจาก 2 Table ที่มี Field คล้าย ๆ กัน วิธีการ Union จะเป็นการเพิ่ม Row ข้อมูล 3.7 Script คือการเรียกใช้โปรแกรม Python หรือโปรแกรม R ส่วนใหญ่ใช้สำหรับเรียกใช้งาน Model ทางด้าน Data Science หรือ Machine Learning Model ต่าง ๆ Object เหล่านี้จะทำให้การเตรียม Data มีประสิทธิภาพมากกว่าเดิมอย่างแน่นอน รองรับการ Transform Data ที่หลากหลาย
Tableau Prep สามารถ Save Output ได้ 3 รูปแบบคือ 4.1 Save เป็นไฟล์เช่น ไฟล์ .csv หรือไฟล์ Excel 4.2 Published data source คือการ Save ข้อมูลเป็น Extract ไว้บน Tableau Server/Tableau Online 4.3 Database table คือการ Save ข้อมูลลง Table บน Database นอกจากนี้เรายังสามารถเลือก Write Option ได้หลายรูปแบบเช่น การสร้าง Table ใหม่ หรือการ Append Data
ใน “Clean Step” นั้นเราสามารถ View ข้อมูลได้แบบ Visualize ซึ่งโปรแกรมจะแสดงข้อมูลให้เห็นได้หลายรูปแบบ และแสดงความสัมพันธ์ระหว่างข้อมูลต่าง ๆ ได้อย่างมีประสิทธิภาพ
Tableau Prep Conductor ทำให้เราสามารถตั้งเวลาการ Run Flow เพื่อ update ข้อมูลโดยอัตโนมัติได้ และเรายังสามารถ Monitor ผลการรัน Flow ได้อย่างง่ายดายอีกด้วย ข้อดีของการเตรียมข้อมูลบน Tableau Prep เมื่อเทียบกับ Excel
Tableau Prep นำไปใช้ในงานด้านไหนบ้าง บทความนี้ผู้เขียนเน้นที่การเปรียบเทียบกับการเตรียมข้อมูลบน Excel กับการเตรียมข้อมูลบน Tableau Prep เพราะเป็นการเตรียมข้อมูลด้วย Business User แต่จริง ๆ แล้ว Tableau Prep สามารถนำไปใช้งานได้หลากหลายมากกว่านี้ เช่น
ใครเหมาะสมที่จะใช้ Tableau Prep
สรุป ความท้าทายในการทำ Data Preparation คือ ทำอย่างไรให้เราใช้เวลาน้อยลง ข้อมูลถูกต้องมากขึ้น และทำให้กระบวน update data เป็นไปอย่างอัตโนมัติ เพื่อที่นักวิเคราะห์จะได้มีเวลา Focus การทำ Analytics มากขึ้น เครื่องมือสำหรับทำ Data Preparation สำหรับ Business User อาจจะเป็น Excel แต่ก็มีข้อจำกัดหลายอย่างที่ทำให้เรามองหาวิธีการทำงานที่ดีกว่าเดิม การใช้ซอฟต์แวร์สำหรับ Data Preparation โดยเฉพาะ น่าจะเป็นทางเลือกหนึ่งที่ส่งผลให้การทำงานมีประสิทธิภาพมากขึ้น Tableau Prep เป็นตัวเลือกหนึ่งสำหรับการทำ Data Preparation โดยเป็นแบบ Self Service Data Preparation ด้วยเพราะออกแบบให้ง่ายเพียงพอสำหรับ Business User แน่นอนในระยะแรกอาจจำเป็นต้องเรียนรู้ แต่ก็ก็น่าจะใช้เวลาไม่นาน และเชื่อว่าถ้าหากเข้าใจแล้ว เราจะสามารถใช้ประโยชน์จาก Tableau Prep ได้อย่างมากมาย [1] ที่มา https://www.forbes.com/sites/gilpress/2016/03/23/data-preparation-most-time-consuming-least-enjoyable-data-science-task-survey-says/?sh=22fc72fa6f63 ในการเตรียมข้อมูล (Data Preparation) เราต้องคำนึงถึงอะไรบ้างจดบันทึกขั้นตอนการเตรียมข้อมูล
ระบบที่ใช้ ใช้ซอฟต์แวร์ตัวใด เวอร์ชันไหน ข้อมูลดิบ ได้มาจากไหน ดาวน์โหลดอย่างไร ใช้โปรแกรมอะไรดาวน์โหลด มีพารามิเตอร์อะไรบ้าง ขั้นตอนโดยละเอียด เช่น มีการเปลี่ยนชื่อไฟล์ มีการแปลงรูปแบบไฟล์ อย่างไรบ้าง รายละเอียดหากมีการเปลี่ยนแปลงข้อมูล เพิ่มหรือลบ ข้อมูลบางแถวหรือบางคอลัมน์
การเตรียมข้อมูลประกอบด้วยกี่ขั้นตอนที่หลากหลาย เป็นทั้งข้อมูลที่มีโครงสร้าง ข้อมูลที่ไม่มีโครงสร้าง และข้อมูลกึ่งโครงสร้าง ทำให้ยังไม่ สามารถนำข้อมูลไปประมวลผลได้ทันที ทำให้ต้องผ่านการเตรียมข้อมูลทั้ง 2 ขั้นตอน คือ การคัดเลือก ข้อมูล และ การทำความสะอาดข้อมูล
การเตรียมข้อมูลมีความสําคัญอย่างไรการเตรียมข้อมูล นับเป็นขั้นตอนที่สาคัญมากในกระบวนการของการท างานด้านวิทยาการข้อมูล ซึ่งถ้า การเตรียมข้อมูลทาได้ไม่ดีก็อาจจะส่งผลให้การท างานในขั้นตอนอื่นไม่มีประสิทธิภาพตามไปด้วย โดยผลกระทบ ที่เกิดขึ้นร้ายแรงน้อยที่สุดอาจท าให้เสียเวลา ต้องท าใหม่ หรือถ้าแย่กว่านั้นอาจส่งผลให้ผลการวิเคราะห์ หรือ การตีความจากการน า ...
การทําความสะอาดข้อมูลมีอะไรบ้างกระบวนการทำ Data Cleansing มีอะไรบ้าง?. 1. กำจัดข้อมูลที่ซ้ำซ้อนและข้อมูลที่ไม่เกี่ยวข้องออก ... . 2. แก้ไขข้อผิดพลาดในเชิงโครงสร้างหรือรูปแบบ ... . 3. กรองข้อมูลที่มีค่าผิดปกติออกจากชุดข้อมูล ... . 4. จัดการกับข้อมูลที่หายไปหรือไม่สมบูรณ์ ... . 5. ตรวจสอบความถูกต้อง (QA). |