การทดสอบสมมติฐาน
สมมติฐานว่าง ค่า p การทดสอบ t และการทดสอบไคสแควร์ด้วย scipy.stats
การทดสอบสมมติฐาน เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
การทดสอบสมมติฐานคืออะไร
การทดสอบสมมติฐานใช้ข้อมูลเพื่อตัดสินว่าผลกระทบที่สังเกตได้เกิดขึ้นจริงหรือเป็นเพียงความบังเอิญจากการสุ่ม วิธีนี้ช่วยให้นักวิทยาศาสตร์ข้อมูลรองรับข้อกล่าวอ้าง เช่น "การออกแบบใหม่เพิ่มจำนวนการคลิก"
สมมติฐานว่างเทียบกับสมมติฐานทางเลือก
สมมติฐานว่าง H0 ระบุว่าไม่มีผลกระทบ (เป็นจุดยืนเริ่มต้นที่ตั้งข้อสงสัย) ส่วน สมมติฐานทางเลือก H1 ระบุว่ามีผลกระทบ เราพยายามรวบรวมหลักฐานโต้แย้ง H0
ค่า p
ค่า p คือความน่าจะเป็นที่จะเห็นข้อมูลที่สุดโต่งในระดับนี้ หาก IF H0 เป็นจริง ค่า p ที่น้อยหมายความว่าข้อมูลสร้างความประหลาดใจภายใต้ H0 เราจึงเริ่มสงสัย H0
ระดับนัยสำคัญ
เราเปรียบเทียบ p กับค่าขีดจำกัด alpha (โดยทั่วไปคือ 0.05) หาก p < alpha เราจะปฏิเสธ H0 มิฉะนั้นจะยังไม่ปฏิเสธ alpha คืออัตราผลบวกลวงที่ยอมรับได้
สิ่งที่ค่า p ไม่ได้หมายถึง
ค่า p ไม่ได้หมายถึงความน่าจะเป็นที่ H0 เป็นจริง และไม่ได้หมายถึงขนาดของผลกระทบ ค่า p ที่เล็กมากจากตัวอย่างขนาดใหญ่สามารถสะท้อนความแตกต่างที่เล็กจนไม่มีนัยสำคัญในทางปฏิบัติได้ ควรรายงานขนาดของผลกระทบด้วยเสมอ
การทดสอบ t แบบตัวอย่างเดียว
ttest_1samp ตรวจสอบว่าค่าเฉลี่ยของตัวอย่างแตกต่างจากค่าที่ทราบหรือไม่ เช่น ตรวจสอบว่าเวลาตอบสนองเฉลี่ยแตกต่างจากเป้าหมาย 200 มิลลิวินาทีหรือไม่
from scipy import stats
import numpy as np
times = np.array([198, 205, 210, 195, 220, 208])
t, p = stats.ttest_1samp(times, popmean=200)
print(t, p)การทดสอบ t แบบสองตัวอย่าง
ttest_ind เปรียบเทียบค่าเฉลี่ยของกลุ่มที่เป็น INDEPENDENT สองกลุ่ม ซึ่งเป็นการวิเคราะห์การทดสอบ A/B มาตรฐาน
control = np.array([20, 22, 19, 24, 21])
treat = np.array([25, 27, 24, 29, 26])
t, p = stats.ttest_ind(control, treat)
print(t, p) # small p -> groups differการตีความผลลัพธ์
อ่านค่า p โดยเปรียบเทียบกับ alpha แล้วสรุปผลด้วยภาษาที่เข้าใจง่าย นัยสำคัญเป็นการตัดสินใจ ไม่ใช่หลักฐานยืนยันอย่างแน่นอน
alpha = 0.05
if p < alpha:
print("Reject H0: the groups differ significantly")
else:
print("Fail to reject H0: no significant difference")การทดสอบไคกำลังสองของความเป็นอิสระ
chi2_contingency ทดสอบว่าตัวแปร CATEGORICAL สองตัวมีความสัมพันธ์กันหรือไม่ โดยใช้ตารางไขว้ของจำนวนข้อมูล
table = np.array([[30, 10], [20, 40]]) # rows: group, cols: outcome
chi2, p, dof, expected = stats.chi2_contingency(table)
print(chi2, p)ข้อผิดพลาดประเภทที่ I และประเภทที่ II
ข้อผิดพลาดประเภทที่ I (ผลบวกลวง) คือการปฏิเสธ H0 ที่เป็นจริง โดยมีอัตราเท่ากับ alpha ส่วน ข้อผิดพลาดประเภทที่ II (ผลลบลวง) คือการไม่ปฏิเสธ H0 ที่เป็นเท็จ โดยมีอัตราเท่ากับ beta กำลังการทดสอบ = 1 - beta คือโอกาสที่จะตรวจพบผลกระทบที่มีอยู่จริง
ข้อแลกเปลี่ยน
การลด alpha ช่วยลดผลบวกลวง แต่เพิ่มอัตราผลลบลวง (ทำให้กำลังการทดสอบลดลง) ตัวอย่างที่มีขนาดใหญ่ขึ้นช่วยลดข้อผิดพลาดทั้งสองประเภท นี่เป็นเหตุผลว่าทำไมการวางแผนขนาดตัวอย่างจึงสำคัญก่อนการทดลอง
ตรวจสอบอย่างรวดเร็ว
ทดสอบความรู้เกี่ยวกับการทดสอบสมมติฐาน
สรุปทบทวน
สาระสำคัญของการทดสอบสมมติฐาน:
- H0 (ไม่มีผลกระทบ) เทียบกับ H1 (มีผลกระทบ) รวบรวมหลักฐานโต้แย้ง H0
- ค่า p = P(ข้อมูลที่สุดโต่งในระดับนี้ | H0) ปฏิเสธ H0 หาก p < alpha
- p ไม่ใช่ P(H0 เป็นจริง) และไม่ใช่ขนาดของผลกระทบ
ttest_1samp,ttest_ind,chi2_contingency- ประเภทที่ I (ผลบวกลวง อัตรา alpha) เทียบกับประเภทที่ II (ผลลบลวง อัตรา beta) กำลังการทดสอบ = 1-beta
คำถามที่พบบ่อย
บทเรียน “การทดสอบสมมติฐาน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การทดสอบสมมติฐาน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การทดสอบสมมติฐาน”
สมมติฐานว่าง ค่า p การทดสอบ t และการทดสอบไคสแควร์ด้วย scipy.stats คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การทดสอบสมมติฐาน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม
ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สถิติเชิงพรรณนาและการแจกแจง
- ความน่าจะเป็นและทฤษฎีบทของเบย์
- การทดสอบสมมติฐาน
- สหสัมพันธ์และความแปรปรวนร่วม