การวิเคราะห์ข้อมูลเชิงการตรวจสอบ (Exploratory Data Analysis) เครื่องมือใหม่ของ นักวิทยาศาสตร์ข้อมูล
การวิเคราะห์ข้อมูลเชิงการตรวจสอบ หรือ Exploratory Data Analysis (EDA) คือ การทำความเข้าใจชุดข้อมูล ซึ่ง เป็นขั้นตอนหนึ่งในกระบวนการวิเคราะห์ข้อมูลที่มีการใช้เทคนิคต่างๆ เพื่อทำความเข้าใจชุดข้อมูลที่ใช้งานได้ดีขึ้น จุดประสงค์ของการการวิเคราะห์ข้อมูลเชิงการตรวจสอบ คือ
1. เข้าใจตัวแปรและความสัมพันธ์ระหว่างตัวแปรได้ดีขึ้น เช่น ในแต่ละ Feaure เช่น ข้อมูลเป็นชนิดอะไร, ข้อมูลเป็นแบบต่อเนื่องหรือไม่ต่อเนื่อง,ช่วงของข้อมูลกว้างแค่ไหน, การกระจายของข้อมูลเป็นอย่างไร ตลอดจน การทำความเข้าใจความสัมพันธ์ และ แต่ละ Feature เชื่อมโยงกันอย่างไร, การเพิ่มข้อมูลเชิงลึกเกี่ยวกับชุดข้อมูลของคุณให้สูงสุดและลดข้อผิดพลาดที่อาจเกิดขึ้นในภายหลังในกระบวนการ
2. สำรวจและ ทำความสะอาดชุดข้อมูล เช่น การระบุค่าผิดปกติค่าที่ขาดหายไป, มีข้อมูลขาดหายไปเยอะแค่ไหน และ แยกตัวแปรที่สำคัญและทิ้งตัวแปรที่อาจจะทำให้การวิเคราะห์ผิดเพี้ยนไป
ในบทความนี้ขอยก กรณีง่าย ๆ เพื่อให้ไม่ยาวจนเกินไป จากแหล่งข้อมูลมาตรฐานของ https://archive.ics.uci.edu/ml/datasets/wine+quality
ขั้นตอนการทำ EDA
ขั้นตอนหลักของ EDA มี 3 ขั้นตอน คือ ขั้นตอนที่ 1: ทำความเข้าใจกับตัวแปร ขั้นตอนที่ 2: การทำความสะอาดชุดข้อมูลของคุณ ขั้นตอนที่ 3: การวิเคราะห์ความสัมพันธ์ระหว่างตัวแปร
ขั้นตอนที่ 1: ทำความเข้าใจกับตัวแปร
ปกติเราจะใช้ Pandas DataFrame และฟังก์ชัน Pandas DataFrame.describe() ที่เราจะใช้ดูภาพรวมของตารางข้อมูล ก็คือ datarame.describe() แต่ข้อเสียของ describe คือ output ออกมาเป็นตารางเดียวง่าย ๆ ที่มีข้อมูลน้อยเกินไป ทำให้เราต้องเขียนโปรแกรมเพิ่ม เพื่อเปรียบเทียบ
1.1. เรียกดูภาพร่วม
1.2. จะเห็นได้ว่า เป็นตัวอย่างที่ง่าย เพราะ จำนวนเต็ม 4898 เท่ากันหมด นั้นหมายถึง ไม่มีค่าว่าง (null) แต่สังเหตุ ค่า Means จะมากกว่า ค่า Medium แสดงว่า เบ้ทางซ้าย สักเล็กน้อย ไม่ใช่โค้งปกติ
1.3. หาจำนวนค่าว่าง
กรณีของ Titanic จากรูปจะเห็นว่ามีค่าว่าง เยอะจนเห็นชัด
1.1. หาจำนวนค่าว่าง
ในกรณีของ เรา คือ wine จะเห็นได้ว่า ไม่มี ค่าว่าง เลยซึ่งถือว่าดีมาก
1.4. หาจำนวนความถี่ การกระจายตัว และ ค่าผิดปกติ (Outliers)
การกระจายตัว ก็ถือว่า เป็นโค้งปกติ ไม่น่าเป็นห่วงอะไร ถือว่า นำไปวิเคราะห์ต่อได้
ค่าผิดปกติ (Outliers) เป็นข้อมูลที่มีค่าแยกออกจากกลุ่มหรือผิดแผกแตกต่างไปจากข้อมูลค่าอื่น ๆ ตัวอย่างของค่าผิดปกติก็เช่น IQ ของเด็กได้ 195 น้ำหนักของคน 220 กิโลกรัม ความสูงของคน 210 ซ.ม. ซึ่งค่าผิดปกติมีโอกาสเกิดขึ้นได้บนพื้นฐานของเหตุผล 2 ประการคือ 1) การจดบันทึกหรือเก็บข้อมูลมีความคลาดเคลื่อน หรือ 2) กลุ่มตัวอย่างที่เก็บรวบรวมข้อมูลมา มีความแตกต่างไปจากกลุ่มจริง ซึ่งการเกิดค่าผิดปกติประการแรกนั้น สามารถเกิดขึ้นได้เสมอ จึงควรมีการตรวจสอบข้อมูลให้ถูกต้องก่อนวิเคราะห์สถิติใด ๆ เสียก่อน
กรณีของ Wine จะเห็นได้ว่า มีค่าดังกล่าว ในเกือบทุก ตัวแปร ยกเว้น Alcohol
กรณีของ Wine จะเห็นได้ว่า มีค่าดังกล่าว ในเกือบทุก ตัวแปร ยกเว้น Alcohol
ขั้นตอนที่ 3: การวิเคราะห์ความสัมพันธ์ระหว่างตัวแปร
ในขั้นตอน การวิเคราะห์ความสัมพันธ์ จะเห็นได้ว่า
1. ตัวแปร “density” มีความสัมพันธ์เชิงบวก (positive correlation) กับตัวแปร “residual sugar” (0.84) ในขณะเดียวกัน ก็มีความสัมพันธ์เชิงลบกับ ตัวแปร “alcohol” (-0.78) นันคือ ไม่เป็นผลดีกับ linear regression เพราะอาจจะเป็น collinearity
“free sulphur dioxide” และ “citric acid” ไม่มีความสัมพันธ์ใด ๆ กับตัวแปรที่ต้องการทำนายคือ “quality” นั่นคือ สามารถใช้ใน Linear Regression model ได้
สรุปได้ว่า
การวิเคราะห์ข้อมูลเชิงการตรวจสอบ เป็นกระบวนการทำความเข้าใจชุดข้อมูลที่มีการใช้เทคนิคต่าง ๆ เพื่อทำความเข้าใจชุดข้อมูลที่ใช้งานได้ดีขึ้น ในตัวอย่างนี้ หากต้องการใช้ Linear regression ก็ควรจะ drop บาง ตัวแปร ได้แก่ “density”, “residual sugar” (0.84) และ ตัวแปร “alcohol” (-0.78) ออกไป เพื่อป้องกันปัญหา collinearity