Statistics

ถ้าเราทรมานข้อมูลนานพอ มันจะสารภาพความจริง?

Ronald H. Coase นักเศรษฐศาสตร์ชาวอังกฤษ เจ้าของรางวัลโนเบลปี 1991 เคยพูดประโยคคลาสสิค “If you torture the data long enough, it will confess (to anything).”

Well said !! ความหมายที่แท้จริงของ quote นี้เกี่ยวข้องโดยตรงกับการทำงานด้านสถิติและ data analysis น่าเศร้าที่หลายคนตีความข้อความนี้แบบผิดๆ วันนี้แอดจะมาชี้แจงให้เข้าใจเอง อย่างแรกทุกคนต้องเข้าใจความแตกต่างระหว่าง Exploratory และ Confirmatory Analysis ก่อน

  • Exploratory คือการวิเคราะห์ข้อมูลเพื่อสร้าง hypothesis ใหม่ๆ
  • Confirmatory คือการวิเคราะห์ข้อมูลเพื่อยืนยัน hypothesis ที่เราตั้งไว้แล้ว
Importantสถิติสามารถนำมาใช้ในทางที่ผิด i.e. manipulate เพื่อสนับสนุนทุก hypothesis ของเรา และความแตกต่างที่สำคัญมากของ exploratory และ confirmatory อีกอย่างหนึ่งคือเราสามารถใช้ข้อมูลเพื่อ confirm hypothesis ได้แค่ครั้งเดียว ถ้าเราใช้ข้อมูลนั้นซ้ำมากกว่าหนึ่งครั้งจะกลายเป็นการทำ data exploration

อ้างอิงจาก Hadley Wickham, Hypothesis Confirmation ทำได้ยากมากในทางปฏิบัติ ด้วยเหตุผลสองข้อนี้

  • การจะ confirm ความเชื่อหนึ่งๆต้องใช้โมเดลทางคณิตศาสตร์และความรู้ทางสถิติที่โหดมาก
  • เราต้องใช้ข้อมูลแค่ครั้งเดียวเพื่อยืนยันความเชื่อนั้นๆ ถ้าเราใช้ข้อมูลมากกว่าหนึ่งครั้ง นั่นคือการทำ exploration ไม่ใช่การทำ confirmation

หลายคนคิดว่าการทำโมเดลคือการทำ confirmation และการทำ data visualization เป็นเครื่องมือสำหรับทำ exploration แต่นี่ก็เป็นความเชื่อที่ผิดอีกเช่นกัน อ้าวว !!

ขอบคุณรูปภาพจาก Inglourious Basterds (2009)

Modeling ส่วนใหญ่เป็นเครื่องมือที่ใช้วิเคราะห์ความสัมพันธ์ของตัวแปร (hence, data exploration) แต่ในทางตรงกันข้ามเราสามารถใช้ data visualization เพื่อยืนยันความเชื่อของเราได้ถ้าใช้อย่างระมัดระวัง และเป็นการใช้ข้อมูลแสดงผลแค่ครั้งเดียว i.e. หนึ่งครั้งคือ confirmation มากกว่าหนึ่งครั้งคือ exploration

How data is used is just as important as deciding to use or not use it.
- Pallavi Chari -

Data ไม่ใช่คำตอบ แต่เป็นหนทางไปสู่คำตอบของปัญหาที่เรากำลังแก้ จะนำข้อมูลมาใช้ยังไง (how) สำคัญพอๆกับการตัดสินใจว่าจะใช้หรือไม่ใช้ข้อมูลนั้นตั้งแต่แรก เพราะว่า “Garbage in, garbage out!”

ลองนึกภาพ เราไปเค้นความจริงกับ garbage dataset i.e. ข้อมูลขยะ? ไม่ค่อยดีเท่าไหร่ จริงมั้ย 55+

train test split ง่ายๆสำหรับสร้างและทดสอบโมเดล ML (hypotheses)

How we use dataset? มาลองดูตัวอย่างของ Machine Learning การเทรนโมเดล ML เราต้องแบ่งข้อมูลเป็น train set/ test set เสมอ โดยเราสามารถ explore hypotheses หลายๆอันได้ i.e. จูนโมเดลของเรายังไงก็ได้ด้วย train set แต่เราจะทดสอบหรือ confirm performance ของโมเดลเราแค่ครั้งเดียวด้วย test set

ถ้าโมเดลของเราไม่สามารถทำนาย test set ได้ดี เราก็จะปฏิเสธโมเดลนี้ (อีกชื่อหนึ่งของโมเดล ML คือ hypotheses) แล้วต้องกลับไป explore new hypotheses ด้วย train set มีเหตุผล! แอดเขียนสรุปสั้นๆ 2 ข้อ

  • การทรมานข้อมูล (รัน analysis ซ้ำๆ) เป็นการทำ exploration ไม่ใช่ confirmation
  • ถ้าจะทรมานข้อมูลจริงๆ ต้องมั่นใจว่าข้อมูลนั้นถูกต้อง i.e. right data แต่ในชีวิตจริง โอกาสจะเจอ right + high quality dataset เป็นไปได้ยากมาก e.g. ข้อมูลส่วนใหญ่มี bias ไม่ทางใดก็ทางหนึ่ง

Data Dredging

Data Dredging

ปัญหาการวิเคราะห์ข้อมูลเพื่อหาผลลัพธ์ที่สนับสนุนความเชื่อตัวเองมีชื่อเรียกทางสถิติว่า “Data Dredging” หรือในทางจิตวิทยาเรียกว่า “Confirmation Bias” i.e. มนุษย์มีแนวโน้มที่จะมองหาแต่หลักฐานที่สนับสนุนความเชื่อของตัวเอง และปฏิเสธหลักฐานอื่นๆที่ขัดกับสิ่งที่เราเชื่อ

แอดแนะนำบทความด้านล่างของ Geckoboard เค้าเขียนอธิบาย 15 ข้อผิดพลาดของการทำ data analysis ไว้ดีมาก อ่านจบรู้เรื่อง หยุดทำร้ายข้อมูลให้บอบช้ำ – the longer you torture the data, the less chance you will find the truths / แอดทอย 😛

Final Note – ถ้าอยากจะ confirm อะไรซักอย่างจริงๆ ต้อง test test test test ซ้ำไปเรื่อยๆ ถ้าเกิด hypothesis นั้นเป็นเรื่องจริง มันต้องเกิดขึ้นซ้ำๆ make sense? งานวิทยาศาสตร์เรียกว่า “stands the test of time”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.