Hypothesis Testing หรือการทดสอบสมมติฐาน คือกระบวนการที่เราใช้ข้อมูลจาก Sample มาตัดสินเกี่ยวกับ Population โดยจะตัดสินเลือกสมมติฐาน (Hypothesis) ที่มีข้อมูลสนับสนุนว่าน่าจะถูกต้องมากกว่า โดยเราจะตั้งสมมติฐาน 2 อัน คือ…
สารบัญ
Null Hypothesis vs Alternative Hypothesis
- Null Hypothesis, H0 (H null หรือ H ตามด้วยศูนย์) : เป็นแนวความคิดเดิมที่เป็นที่ยอมรับในปัจจุบัน
- มักจะมีเครื่องหมาย = อยู่ อาจจะเป็น =,>=,<= เป็นต้น
- Alternative Hypothesis, Ha: แนวความคิดใหม่ ที่เราอยากจะนำเสนอ หรือบางทีก็เรียกว่า Research Hypothesis
- มีเครื่องหมาย ตรงข้ามกับ H0
ตัวอย่างเช่น บริษัทแห่งหนึ่งผลิตยาพิษซึ่งในขวดควรจะมีปริมาตรเฉลี่ย 250 cc ขึ้นไป ทางลูกค้าที่อยากซื้อยาพิษไปใช้เกิดความสงสัยว่ายาพิษในขวดอาจมีการใส่น้อยเกินไป (กลัวคนกินแล้วไม่ตาย) จึงมีสมมติฐานดังนี้
- H0 : µ >= 250 cc (ถ้ามันมากกว่าหรือเท่ากับ 250 แสดงว่ายาพิษเยอะดี ok)
- Ha: µ < 250 cc (ที่กำลังอยากจะทดสอบ ว่ามันน้อยกว่า 250 ป่าว ซึ่งจะต้องใส่ให้ตรงข้ามกับ H0)
ที่นี้เราจะรู้ได้ยังไงว่าสมมติฐานอันไหนที่เป็นความจริง?
หลักการคิดก็คือ
- ให้เรา Assume ว่า Null Hypothesis (H0) นั้นถูกต้องไว้ก่อน
- ดูหลักฐานจากการทดสอบของเรา เช่น จากข้อมูลที่สุ่มออกมา
- ถ้าสิ่งที่สุ่มออกมามีความน่าจะเป็นต่ำ แสดงว่า H0 ไม่จริง (Reject H0) ดังนั้นเราก็จะหันมาสนับสนุน Ha แทน
- ถ้าสิ่งที่สุ่มออกมามีความน่าจะเป็นไม่ต่ำ แสดงว่าเราไม่สามารถปฏิเสธ H0 ได้ (Fail to Reject H0)
แล้วเราจะดูยังไงว่าหลักฐานจากการทดสอบของเรามีความน่าจะเป็นต่ำ?
ค่า p-Value และคำว่า Significant
วิธีคิดคือ ถ้าสมมติว่า H0 เป็นจริง ความน่าจะเป็นที่จะพบข้อมูลที่สำรวจได้ในปัจจุบันหรือไปในทิศทางเดียวกับ Ha จะเป็นเท่าไหร่? ซึ่งเราจะเรียกความน่าจะเป็นนี้ว่า p-value
จะเห็นว่า P-Value ก็คือความน่าจะเป็นอย่างนึง ดังนั้นค่ามันจะต้องออกมาอย่ระหว่าง 0-1 แน่นอน ซึ่งมันวัดความน่าจะเป็นของสิ่งนี้
P-Value = มีความเป็นไปได้แค่ไหน ถ้าหากว่า H0 จริง แล้วจะเกิดเหตุการณ์แบบที่เรากำลังเจออยู่หรือไปสุดขั้วไปในทิศของ Ha
เช่น ในตัวอย่างยาพิษ
- H0 : µ >= 250 cc (ถ้ามันมากกว่าหรือเท่ากับ 250 แสดงว่ายาพิษเยอะดี ok)
- Ha: µ < 250 cc (ที่กำลังอยากจะทดสอบ ว่ามันน้อยกว่า 250 ป่าว ซึ่งจะต้องใส่ให้ตรงข้ามกับ H0)
สมมติว่าเราสุ่มแล้วได้ค่าเฉลี่ยยาพิษอยู่ที่ 230 cc
p-value จะแปลว่า ความน่าจะเป็น ที่เราสุ่มแล้วได้ค่าเฉลี่ย น้อยกว่าหรือเท่ากับ 230 เมื่อ assume ว่า Ho จริง นั่นเอง (ซึ่ง P-Value ออกมาเป็นความน่าจะเป็น “น้อยกว่า”หรือเท่ากับ 230 เพราะ Ha ทิศทางคือ”น้อยกว่า” ซึ่งเป็นทิศทางที่โต้แย้ง H0 นั่นเอง)
ดังนั้นการคำนวณ P-Value จะขึ้นอยู่กับตัว Hypothesis ด้วยว่าเรากำลังทดสอบด้วยเครื่องหมายเปรียบเทียบอะไร เช่น
ค่า p-value ที่น้อย แปลว่า โอกาสที่จะเกิดเหตุการณ์แบบที่กำลังพบอยู่นั้นน้อยมากๆ อย่างมีนัยสำคัญ ดังนั้นเราก็จะมีหลักฐานไปแย้ง Null Hypothesis ได้ เรียกว่า Reject H0
ซึ่งจริงๆ แล้วระดับนัยสำคัญนั้นมีอยู่หลายระดับ ซึ่งเรียกว่า significant level (α) เราจึงควรกำหนดเอาไว้ก่อนว่า เราจะคิด p-Value เทียบกับเกณ์ significant level (α) ที่ระดับเท่าไหร่ดี ซึ่ง ปกติแล้วเรามักจะใช้ significant level (α) ที่ 0.05 หรือ 5% ครับ
หาก p-value < α ที่เราตั้งไว้เราก็จะทำการปฏิเสธ H0 และยอมรับ Ha นั่นเอง
หรือจะมองมุมกลับก็ได้ว่า หากเราสุ่ม Sample มาแล้วหาค่า Test Statistic ของ Sample นั้นออกมาแล้วเปรียบเทียบกับค่่า Critical Value ที่จะทำให้ P-value < α ก็สามารถตอบได้เช่นกันว่าจะ Reject H0 หรือไม่ (ใครงงรอดูตัวอย่างท้ายตอนนะ)
เอาล่ะ ในชีวิตจริงส่วนใหญ่เราจะใช้ α ที่ 5% ดังนั้นก็เลยจะมีคนแนะนำกันแบบนี้ไปเลยว่า
ถ้า p value ≤ 0.05 หรือ 5% → ความแตกต่างที่พบนั้น Significant หรือ “มีนัยสำคัญ” นั่นเอง
โดยเราจะคำนวณค่า p-Value ได้จาก Test Statistic ต่างๆ เช่น ความรู้จาก Central Limit Theorem ที่เราได้เรียนมาในตอนที่แล้ว ได้อธิบายถึงการแจกแจงของ Sample Mean ที่เป็นไปได้ เราก็จะคำนวณความน่าจะเป็นได้แล้วล่ะ ซึ่งเดี๋ยวเรามาดูตัวอย่างกันครับจะได้เห็นภาพ
ตัวอย่าง
เรายังอยู่ที่ตัวอย่างเดิมนะนั่นคือ บริษัทแห่งหนึ่งผลิตยาพิษซึ่งในขวดควรจะมีปริมาตรเฉลี่ย 250 cc ขึ้นไป ทางลูกค้าที่อยากซื้อยาพิษไปใช้เกิดความสงสัยว่ายาพิษในขวดอาจมีการใส่น้อยเกินไป (กลัวคนกินแล้วไม่ตาย) ปรากฏว่าลูกค้าทำการสุ่มตัวอย่างยาพิษมา 100 ขวด และพบว่ามีปริมาณยาพิษเฉลี่ยอยู่ที่ 240 cc และมี sd ของ sample อยู่ที่ 30 cc
ลูกค้าไม่แน่ใจว่า 240 cc ที่ได้ ซึ่งน้อยกว่า 250 cc ที่เคยได้สำรวจไว้นั้น มันน้อยกว่าจริงๆ อย่างมีนัยสำคัญมั้ย หรือแค่บังเอิญกันแน่?? วิธีการทดสอบก็คือ เราต้องตั้งสมมติฐาน 2 อันคือ
- H0 : µ >= 250 cc (ถ้ามันมากกว่าหรือเท่ากับ 250 แสดงว่ายาพิษเยอะดี ok)
- Ha: µ < 250 cc (ที่กำลังอยากจะทดสอบ ว่ามันน้อยกว่า 250 ป่าว ซึ่งจะต้องใส่ให้ตรงข้ามกับ H0)
หากเราสมมติว่า H0 จริงไว้ก่อน
จาก Central Limit Theorem ที่เราเรียนในตอนที่แล้ว เราจะได้ว่า Sample Mean ที่สุ่มออกมา แต่ไม่รู้ค่า σ หรือ Standard deviation ของ population จะต้องใช้ t-distribution มาช่วย
จากบทที่แล้วเรารู้ว่า ค่า t สามารถคำนวณได้จาก
t (df=n-1) = (sample mean – µ) / (s / √ n)
- ในที่นี้เราไม่รู้ σ จึงใช้ t-distribution ที่ df=n-1 แทนครับ จึงจะใช้ s แทน σ ได้
- sample mean = 240
- µ = 250
- s= 30
- n=100
จะได้ว่าจากการทดลองของเรา ค่า t นั้นจะคำนวณได้ว่า
t = (240-250)/(30/SQRT(100))
= -3.333
วิธีสรุปด้วยการหาค่า P-Value
p-value = ความน่าจะเป็นที่จะพบข้อมูลเท่ากับที่สำรวจได้ในปัจจุบัน (240) หรือไปในทิศทางเดียวกับ Ha ( µ < 250)
ดังนั้น p-value = โอกาสที่จะเกิดค่า Sample Mean <= 240 เป็นเท่าไหร่ นั่นเอง ซึ่งสามารถใช้สูตรนี้
=T.DIST(x,deg_freedom,cumulative) ซึ่งจะให้ค่าความน่าจะเป็นที่น้อยกว่าหรือเท่ากับค่า x จาก t-distribution ที่มีค่า mean และ standard deviation ที่กำหนดครับ
=T.DIST(-3.333,100-1,TRUE)
= 0.000604652 หรือ 0.06%
ซึ่งเป็นพื้นที่ฝั่งซ้ายที่เราต้องการพอดี จึงใช้ได้เลย
แปลว่าโอกาสที่ sample mean <=240 นั้นมีค่า = 0.000604652 หรือ 0.06% ซึ่งน้อยมาก (p-value น้อยมาก) จึงสรุปได้ว่า
p-value 0.000604652 นั้น <0.05 แปลว่า เราจะปฏิเสธ H0 ที่บอกว่า µ >= 250 แล้วยอมรับ Ha ที่บอกว่า µ < 250 นั่นเอง
นั่นคือ เรายอมรับว่า µ < 250 จริงๆครับ ( อย่างไรก็ตาม โอกาสที่จะเกิดความผิดพลาดในการสรุป หรือ Type I Error อยู่ที่ 5% ครับ เนื่องจากเราใช้ค่า 0.05 เป็นตัวเทียบกับ p-value นั่นเอง)
วิธีสรุปด้วยการเทียบกับ Critical Value
ถ้าหากเราเปลี่ยนมุมมองไปว่า ค่า t เท่าไหร่ ที่จะได้ p-value 0.05 พอดี จะคำนวณได้ด้วยวิธีนี้
=T.INV(probability,deg_freedom)
=T.INV(0.05,100-1)
= -1.66039
แปลว่าถ้าเราคำนวณค่า t ได้ไปไกลกว่า -1.66039 (ในที่นี้คือ ถ้าได้น้อยกว่า -1.66039) ก็จะแปลว่า p-Value 0ะน้อยกว่า 0.05 ไปด้วย แบบนี้จะ Reject H0 ได้เช่นกัน
ซึ่งในเคสนี้เราคำนวณได้ t ของ sample เท่ากับ -3.333 ซึ่งมันน้อยกว่า -1.66039 จริง แสดงว่า Reject H0 นั่นเอง
Error ในการสรุปผล Hypothesis Testing
อย่างไรก็ตามที่ เรายังมีโอกาสสรุปผิดได้อยู่ดี เช่น ที่ระดับ significant level (α) ที่ 0.05 หรือ 5% แปลว่า
เรามีโอกาส 5% ที่ดันไป Reject H0 ทั้งๆ ที่จริงแล้ว H0 มันถูกต้องอยู่แล้ว ซึ่งความคิดพลาดนี้เราจะเรียกว่า Type I error หรือ False Positive/False Alarm (ซึ่งเกิดจากความซวยจากความน่าจะเป็น α นั้นๆ)
แต่ในทางกลับกัน หากเราดันไม่ Reject H0 ทั้งๆ ที่ Ha มันเป็นจริง แบบนี้จะเรียกว่า Type II Error หรือ False Negative ครับ (ก็แปลว่าเราก็จะยังมีความเชื่อผิดๆ ตาม H0 ต่อไปนั่นเอง อดได้โอกาสเลือกสิ่งที่ถูกต้องมากกว่าอย่าง Ha)
ตอนต่อไป
ในตอนนี้เราก็ได้ทำความเข้าใจ Concept ของ Hypothesis Test ในภาพรวมกันไปแล้ว ในตอนต่อไปเราจะมาเจาะลึก Hypothesis Test ในหลายๆ กรณีกันครับ เช่น One Sample t-test, Two Sample t-test, ANOVA (F-test), Large sample z-test : One proportion, Large sample z-test : Two proportions
สารบัญซีรีส์ Statistics
- Statistics with Excel ตอนที่ 1 : ค่าสถิติที่สำคัญ
- Statistics with Excel ตอนที่ 2 : ความน่าจะเป็น
- Statistics with Excel ตอนที่ 3 : Discrete Probability Distribution
- Statistics with Excel ตอนที่ 4 : Normal Distribution
- Statistics with Excel ตอนที่ 5 : Central Limit Theorem
- Statistics with Excel ตอนที่ 6 : Hypothesis Testing
- การพยากรณ์ยอดขายใน Excel ด้วย Forecast และผองเพื่อน
- ลองทำ Machine Learning ใน Excel เทคนิค K-Means Clustering แบบไม่ง้อ VBA
- การทำ Simulation ด้วย Excel
- การคำนวณความน่าจะเป็นใน Baldur’s Gate 3