Data Sci Boot Camp Batch#11: Essential Statistics #3 (Hypothesis Testing / Regression)

Inferential Statistics

Inferential Statistics - ภาษาไทย สถิติเชิงอนุมาน เป็นเอาข้อมูลที่เก็บมาเข้า Framework เพื่อทดสอบสมมติฐาน โดยขั้นตอนหลักดังนี้

  • กำหนด Hypothesis ตั้งสมมติฐาน
  • Collect Data
  • Calculate Stat
  • Conclusion
🎯กำหนด Hypothesis ตั้งสมมติฐาน

มาถึงตัวแรกก่อน กำหนด Hypothesis ตั้งสมมติฐาน โดยมีกำหนด 2 ตัว

  • Null Hypothesis (H0) - อะไรที่เราคาดหวัง เช่น หลอดไฟ ทำงานได้ตามที่ผู้ผลิดบอก = 25,000 ชม
  • Alternative Hypothesis (H1) - อะไรที่ขัดกับ H0 เช่น หลอดไฟ ทำงานไม่ได้ตามที่ผู้ผลิดบอก ≠ 25,000 ชม >> แบบนี้เป็น Two Tails < และ >
🫙Collect Data

เก็บข้อมูล อาจจะตามที่ได้วางแผนว่า ว่าจะมี Sample เท่าไหร่ กลุ่มตัวอย่างแบบไหน ตามบทก่อนๆหน้าได้เลย

🧮 Calculate Stat

เอาข้อมูลมาคำนวณ Decriptive statistics พวก mean mediam mode

และเอาข้อมูลมา plot และมาตอบ Hypothesis ที่ตั้งไว้ ปัญหาตอนแรก

  • H0 หลอดไฟ ทำงานได้ตามที่ผู้ผลิดบอก = 25,000 ชม
  • H1 หลอดไฟ ทำงานไม่ได้ตามที่ผู้ผลิดบอก ≠ 25,000 ชม

ถ้าตัวเลขมันตกไป 24999 หรือ 30000 เราจะตัดสินใจยังไงว่ามันเข้าข่ายว่าผ่าน H0 หรือ ไม่ผ่าน มีหลายแบบ

- 🎲ตัดสินใจยังไงว่า H0 ผ่าน หรือ H0 ไม่ผ่าน 🎲
🚩- วิธีแรก Critical Region

อันนี้นักสถิติเค้าแก้ปัญหา โดยกำหนด Critical Region (่ช่วงวิกฤติ) เหมือนพวกเลยไปจาก 2 sd ถ้าตกไป reject H0 เลย โดยตรวจทั้งฝั่งซ้าย และขวา 2 tail Test

Ref: https://sixsigmastudyguide.com/tailed-hypothesis-tests/
🚩- วิธีที่สอง เอา p value เทียบกับ alpha
Ref:  https://en.wikipedia.org/wiki/P-value
  • นิยาม p value ความน่าจะเป็นของข้อมูลที่เรา observe data ไปจนสุดท้าย ฝั่งซ้าย และขวา | h0 is true
  • ที่มาของค่า p value มาจากสูตรสถิติต่างๆ เช่น ANOVA / T-Test / chi-square อะไรพวกนี้
Alpha = พื้นที่่สีขาว / P-Value ส่วนสีส้ม
  • Alpha, หรือ signficance level ปกติเรากำหนดไว้ที่ 0.05 (95%) นอกจากนี้มีค่าอื่นๆ เช่น 0.01 / 0.1
  • โดยการตีผล จะได้ประมาณนี้ครับ
    - ถ้า p value > alpha แสดงว่า fail to reject h0
    - ถ้า p value ≤ alpha แสดงว่า reject h0

https://www.spcforexcel.com/knowledge/basic-statistics/interpretation-alpha-and-p-value

🚩- วิธีที่สาม ใช้ตัว Confident Interval
  • Confident Interval > ลองดูเต็มๆจาก Blog นี้ได้เลย

เสริม Excel CONFIDENCE.T กับ CONFIDENCE.NORM ถ้า n เยอะๆ ผลลัพธ์ที่ได้ไม่ต่างกัน

  • แนวคิด ตั้งค่า Alpha ก่อน เช่น 0.05 ทำการทดสอบ 20 ครั้ง แสดงว่ามันจะมีค่าที่พลาดที่ได้ 1 รอบ ถ้ามีรอบที่ 2 ขึ้นมาจะ reject H0 เลย

Note: จำไว้เสมอว่าเราทำสำรวจซ้ำได้รอบเดียวนะ

  • โดยการตีผล จะได้ประมาณนี้ครับ
    - ถ้า Data Point ที่ได้อยู่ในช่วง Confident Interval แสดงว่า fail to reject h0
    - ถ้า Data Point ที่ได้นอกช่วง Confident Interval แสดงว่า reject h0
- 🎲 Conclusion

สรุปมี 3 วิธี

  1. ใช้ Critical Region - เน้น Visualization ข้อมูล ถ้า Data Point ตก Critical Region ก็ Reject H0
  2. ใช้ p value ถ้า p value > alpha - fail to reject h0
  3. ✅✅ ใช้ Confident Interval ถ้า Data Point ที่ได้อยู่ในช่วง Confident Interval แสดงว่า fail to reject h0 //แนะนำ

สมัยเรียน ม ปลาย ตอนป ตรี จะไปเน้น p value เทียบกับ alpha แต่ตอนทำงานจริงแอดทอย แนะนำวิธีที่่ 3 ใช้ Confident Interval

AB Testing

การทำ AB Testing เอา n user มาแบ่งกลุ่มให่เท่าๆ กัน จากนั้นมให้ทดสอบเห็นของ 2 อย่างที่แตกต่างกัน ตัวอย่าง เช่น

  1. การเห็น Ads Version 1 / Ads Version 2
  2. การให้ลองใช้มือถือ CPU A / มือถือ CPU B
  3. การใช้ Feature A V1 / Feature A V2 ของ Application

💡 แล้วมาวัดผลการตอบรับ โดยการตั้งสมมติฐาน ขออิงจากตัวอย่างที่ 3 เช่น

  • H0 : Click A Version 1 = Click A Version 2
  • HA : Click A Version 1 != Click A Version 2 อันนี้เป็น Two Tail Version 1 < 2 หรือ Version 1 > 2

💡 จากนั้นเก็บข้อมูล และมาวัดผลตาม Inferential Statistics แล้วมาสรุปผลว่าจะใช้ Critical Region / p value หรือ Confident Interval

❗ถ้าเราสำรวจไปแล้ว มีคนตอบกลับมาไม่ครบทำยังไง ? ❗

ยกตัวอย่าง เช่น ส่ง Email AB Test ฝั่งละ 100 คน แล้วกลุ่ม A กลุ่ม B ตอบกลับมาแค่ 70 / 80 เท่านั้น เราจะคำนวณผลยังไง อิงจาก 100 หรือ เท่าที่มี

                       คนตอบกลับ    คนชอบ        ตีความแบบ1 | ตีความแบบ2
Example -> A 100 คน  --> 70 คน --> 50 (ชอบแบบ1)   50%      | 50/70
        -> B 100 คน  --> 80 คน --> 20 (ชอบแบบ2)   20%      | 20/80

สำหรับอันนี้แอดทอย แนะนำว่าให้อิงจาก 100 เลย เพราะ Base การคำนวณ์มากจะง่ายกว่า แต่ถ้าแบบตอบแบบน้อยมากๆ อาจจะต้องมาพิจารณากันอีกที อาจจะปรับการประชาสัมพันธ์ ให้หัวข้อเมล์สื่อขึ้น หรือ เพิ่มจำนวน n โดยการส่งสำรวจเพิ่มเติม

แต่ในหลายๆ Platform เค้ามีวิธีการนับที่ช่วยให้ง่ายขึ้น อย่าง เช่น Facebook นับ ถ้าเราไถลผ่าน จะนับเป็น 1 View ที่เห็น และชาร์จค่ายิง Ads

Statistical Significant vs Practical Significant

📊 Statistical Significant - ทางสถิติ AB Test พบว่าแบบ A B ต่างกัน 5% แล้ว Reject H0 เพราะ Data Point มันอยู่ในช่วง Critical Region พอดี

💰 Practical Significant - ทางธุรกิจ เช่น เราวัดผล AB Test พบว่าแบบ A B ต่างกัน 5% แล้วที่นี้เราจะวัดผลมันเป็นตัวเงินยังไง อาทิ เช่น ถ้าวัดมาแล้ว 5% ถอยกลับไป จะเป็น User ที่ใช้เพิ่มขึ้น 5,000 คน แล้ว Service นั้นๆ ได้คนละ 4,999 เราจะได้เงินมา ตีกลมๆ รายได้ เพิ่มเข้ามา 24 ล้าน

Linear Regression

📌 Linear Regression เป็นตัวที่มาเสริมเรื่อง correction เวลาที่เรา plot จะเห็นความสัมพันธ์เป็น 3 แบบ + - หรือ 0 แต่ตัว Linear Regression จะเพิ่มเส้น Model ขึ้นมา เพื่อบอก Diff แต่ละ Data Point กับ Model

📌 Diff แต่ละ Data Point กับ Model เราสามารถหา intercept / slope เพื่อเอาทำนายอนาคต

y = mx+c

📌 จุดแข็งของ Linear Regression Simple โดยเอามาช่วย Prediction / Data Under Standing ได้

📌 การวัดผลมี Metric หลายตัว

  • MAE
  • MSE
  • RMSE = sqrt(MSE)

📌 ถ้า x มากว่า 1 ตัว Multiple linear Regression สูตรเปลี่ยนนิดหน่อย

Ref https://medium.com/swlh/understanding-multiple-linear-regression-e0a93327e960

แต่เราใช้ Code / Tools ช่วยคืดนะ >> https://medium.com/swlh/understanding-multiple-linear-regression-e0a93327e960

📌 การบอก Error เราใช้การ Plot Graph ช่วยได้ แต่มันจะมี 3 แกนนะ อาจจะใส่ตัวแปรไม่ได้ทั้งหมด


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.