Effect size

พื้นฐานการอนุมานทางสถิติด้วย Python

Paul Savala

Assistant Professor of Mathematics

Effect size คืออะไร?

แพทย์ถือบุหรี่หัก

  • Effect size: วัดความแข็งแกร่งของความสัมพันธ์ระหว่างตัวแปรสองตัว

อาหารขยะหลากชนิด

พื้นฐานการอนุมานทางสถิติด้วย Python

ทำไมต้องวัด Effect size

  • วัดความแข็งแกร่งของความสัมพันธ์
  • การสูบบุหรี่: Effect size ขนาดใหญ่
  • อาหารไม่ดี: Effect size ขนาดเล็ก
พื้นฐานการอนุมานทางสถิติด้วย Python

P-Values

 

  • มีความสัมพันธ์อยู่หรือไม่?
  • ได้จากการทดสอบสมมติฐาน

Effect size

 

  • ความสัมพันธ์แข็งแกร่งแค่ไหน?
  • แยกจากการทดสอบสมมติฐาน
พื้นฐานการอนุมานทางสถิติด้วย Python

Effect size สำหรับค่าเฉลี่ย - Cohen's d

$n_1 = \text{ขนาดกลุ่มตัวอย่างที่หนึ่ง}$

$n_2 = \text{ขนาดกลุ่มตัวอย่างที่สอง}$

$s_1 = \text{ส่วนเบี่ยงเบนมาตรฐานของกลุ่มที่หนึ่ง}$

$s_2 = \text{ส่วนเบี่ยงเบนมาตรฐานของกลุ่มที่สอง}$

$\overline{x}_1 = \text{ค่าเฉลี่ยของกลุ่มที่หนึ่ง}$

$\overline{x}_2 = \text{ค่าเฉลี่ยของกลุ่มที่สอง}$

$s = \displaystyle\sqrt{\frac{(n_1-1)s_1^2 + (n_2-1)s_2^2}{n_1 + n_2 - 2}}$

Cohen's $d = \displaystyle\frac{\overline{x}_1 - \overline{x}_2}{s}$

พื้นฐานการอนุมานทางสถิติด้วย Python

การตีความ Cohen's d

  • 0.01 - เล็กมาก
  • 0.20 - เล็ก
  • 0.50 - ปานกลาง
  • 0.80 - ใหญ่
  • 1.20 - ใหญ่มาก

Cohen's $d = 0.6$

Effect size ระดับปานกลางถึงใหญ่

1 https://books.google.com/books?id=2v9zDAsLvA0C&pg=PP1 https://doi.org/10.22237%2Fjmasm%2F1257035100
พื้นฐานการอนุมานทางสถิติด้วย Python

Effect size สำหรับสหสัมพันธ์

r, p_value = stats.pearsonr(
    btc_sp_df['Close_BTC'], 
    btc_sp_df['Close_SP500']
    )

print(r**2)
0.82

$R^2:$ เปอร์เซ็นต์ของความแปรปรวนในตัวแปรหนึ่งที่อธิบายได้จากอีกตัวแปร

กราฟกระจายแสดงราคาปิด S&P 500 บนแกน x และราคาปิด Bitcoin บนแกน y ข้อมูลมีแนวโน้มเชิงเส้นที่มีความชันเป็นบวก

พื้นฐานการอนุมานทางสถิติด้วย Python

Effect size สำหรับตัวแปรเชิงกลุ่ม

  • $\chi^2$ = สถิติ Chi-squared จากตาราง contingency
  • $n$ = จำนวนข้อมูลทั้งหมด
  • $d$ = degrees of freedom = $min(\text{rows}-1, \text{cols}-1)$

Cramer's $V = \displaystyle\sqrt{\frac{\chi^2/n}{d}}$

พื้นฐานการอนุมานทางสถิติด้วย Python

การคำนวณ Cramer's V

chi2, p, d, e = stats.chi2_contingency(
    contingency_table)

dof = min(6-1, 2-1) = 1 n = 3394
v = np.sqrt((chi2 / n) / dof)
v = 0.52

ตารางแสดงจำนวนชายและหญิงในแต่ละตำแหน่งงาน

1 https://en.wikipedia.org/wiki/Degrees_of_freedom_(statistics)
พื้นฐานการอนุมานทางสถิติด้วย Python

การตีความ Cramer's V

Cramer's V = 0.52, Degrees of Freedom = 1

ตารางแสดง degrees of freedom ตั้งแต่ 1 ถึง 5 และค่า Cramer's V ที่ใช้กำหนด effect size ระดับเล็ก ปานกลาง และใหญ่ ระดับเล็กคือ 0.1, 0.07, 0.06, 0.05, 0.04 ระดับปานกลางคือ 0.3, 0.21, 0.17, 0.15, 0.13 และระดับใหญ่คือ 0.5, 0.35, 0.29, 0.25, 0.22

1 https://www.statology.org/interpret-cramers-v
พื้นฐานการอนุมานทางสถิติด้วย Python

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

พื้นฐานการอนุมานทางสถิติด้วย Python

Preparing Video For Download...