การทดสอบ t แบบสองกลุ่ม

การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

EbunOluwa Andrew

Data Scientist

เปรียบเทียบความเป็นมิตร

คนสองคนกำลังจับมือกัน

group_a.agreeableness.mean()
4.011701199563795
group_b.agreeableness.mean()
4.03669574700109
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

นิยามการทดสอบ t แบบสองกลุ่ม

  • ตรวจสอบว่าค่าเฉลี่ยของสองกลุ่มอิสระแตกต่างกันอย่างมีนัยสำคัญหรือไม่
  • ระบุว่าความแตกต่างเกิดจากความบังเอิญหรือไม่

ขวดที่มีป้ายกำกับ A และ B

การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

ข้อสมมติของการทดสอบ t แบบสองกลุ่ม

  • อิสระต่อกัน
  • การแจกแจงแบบปกติ
    • Shapiro-Wilk test
    • stats.shapiro()
    • p-value > 0.05 -> มีการแจกแจงแบบปกติ
  • ความแปรปรวนเท่ากัน
    • Levene test
    • stats.levene()
    • p-value > 0.05 -> ความแปรปรวนเท่ากัน

บล็อกไม้รูปตัวเลข

การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

ผลลัพธ์การสำรวจ

group_a

| userid | agreeableness |
|--------|---------------|
|    895 |          4.78 |
|    a06 |          3.40 |
|    e94 |          3.66 |
|    ee6 |          5.41 |
|    521 |          4.58 |
|    f4c |          3.24 |
...

1 = ไม่เป็นมิตร

group_b

| userid | agreeableness |
|--------|---------------|
|    b7e | 4.43          |
|    030 | 2.92          |
|    f91 | 4.01          |
|    36f | 2.20          |
|    875 | 3.83          |
|    750 | 4.95          |
...

7 = เป็นมิตร

การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

กลุ่มที่เป็นอิสระต่อกัน

สองกลุ่ม

การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

กลุ่มที่มีการแจกแจงแบบปกติ

from scipy.stats import shapiro
import scipy.stats as stats

norm_A = stats.shapiro(
  group_a.agreeableness)

ShapiroResult(
statistic=0.997467577457428,
pvalue=0.16834689676761627)
from scipy.stats import shapiro
import scipy.stats as stats

norm_B = stats.shapiro(
  group_b.agreeableness)

ShapiroResult(
statistic=0.9987381100654602,
pvalue=0.7757995128631592)
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

ความแปรปรวนเท่ากัน

import scipy.stats as stats

var_test = stats.levene(group_a.agreeableness, group_b.agreeableness)
LeveneResult(statistic=0.40492634057696597, pvalue=0.5246354858484796)
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

ตรวจสอบข้อสมมติครบแล้ว

  • กลุ่มที่เป็นอิสระต่อกัน
    • ไม่มีการทับซ้อนกันของบุคคล
  • กลุ่มที่มีการแจกแจงแบบปกติ
  • ความแปรปรวนเท่ากัน
    • ไม่มีความแตกต่างอย่างมีนัยสำคัญระหว่างความแปรปรวนทั้งสอง

Apple Pencil-Photo by Dose Media on Unsplash

การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

การทดสอบ t แบบสองกลุ่มด้วย statsmodels

from scipy import stats

stats.ttest_ind(group_a.agreeableness, group_b.agreeableness)
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

การทดสอบ t แบบสองกลุ่มด้วย statsmodels

Ttest_indResult(statistic=0.7746406648066304, pvalue=0.4386519848366188)
การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

การวิเคราะห์เพิ่มเติม

group_a_mean = 4.011701199563795
group_b_mean = 4.03669574700109

ที่อยู่อาศัยในแคลิฟอร์เนีย

การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

มาฝึกกันเถอะ!

การวิเคราะห์ข้อมูลแบบสำรวจด้วย Python

Preparing Video For Download...