Pearson correlation

A/B Testing ใน R

Lauryn Burleigh

Data Scientist

ข้อสมมติของ Pearson correlation

  • การเลือกการทดสอบค่าสหสัมพันธ์: คุณสมบัติของข้อมูล
  • Pearson correlation
    • เชิงเส้น
    • การแจกแจงแบบปกติ

กราฟแสดงเส้นตรงที่เพิ่มขึ้นจากซ้ายล่างไปขวาบน

กราฟการแจกแจงแบบปกติมาตรฐาน

A/B Testing ใน R

Pearson correlation กับการทดสอบ A/B

  • กลุ่ม A: พิซซ่าชีส
  • กลุ่ม B: พิซซ่าเปปเปอโรนี

 

  • ความสัมพันธ์ระหว่างเวลาที่ใช้กินพิซซ่ากับความพึงพอใจ

ไม่แยกกลุ่ม

  • สมมติฐานหลัก — ไม่มีความสัมพันธ์ระหว่างเวลาที่ใช้กินกับความพึงพอใจในพิซซ่า

แยกตามกลุ่ม

  • สมมติฐานหลัก — ไม่มีความสัมพันธ์ระหว่างเวลาที่ใช้กินกับความพึงพอใจในพิซซ่าชีส
  • สมมติฐานหลัก — ไม่มีความสัมพันธ์ระหว่างเวลาที่ใช้กินกับความพึงพอใจในพิซซ่าเปปเปอโรนี
A/B Testing ใน R

การกำหนดขนาดตัวอย่าง

  • r ขนาดผลที่คาดหวัง (หาได้จาก cor())
  • sig.level ระดับนัยสำคัญที่ใช้ปฏิเสธสมมติฐานหลัก
library(pwr)
pwr.r.test(r = 0.3, power = 0.80, 
           sig.level = 0.05)
    approximate correlation power 
 calculation (arctangh transformation) 

              n = 84.07364
              r = 0.3
      sig.level = 0.05
          power = 0.8
    alternative = two.sided
A/B Testing ใน R

การประเมินความเป็นเชิงเส้น

ggplot(pizza, aes(x = enjoyment, 
                  y = time)) + 
    geom_point()

Scatter plot แสดงความสัมพันธ์เชิงเส้นเชิงบวกระหว่าง enjoyment บนแกน x และ time บนแกน y

ggplot(pizza, aes(x = enjoyment, 
                  y = time)) + 
    geom_point()

Scatter plot แสดงความสัมพันธ์เชิงเส้นเชิงบวกระหว่าง enjoyment บนแกน x และ time บนแกน y โดยมีกลุ่มข้อมูลหนึ่งที่ด้านล่างซ้ายและอีกกลุ่มที่แตกต่างชัดเจนที่ด้านบนขวา

A/B Testing ใน R

การประเมินความเป็นปกติ

shapiro.test(pizza$time)
    Shapiro-Wilk normality test
data:  pizza$time
W = 0.98686, p-value = 0.4282
  • ข้อมูลมีการแจกแจงแบบปกติ
shapiro.test(pizza$enjoyment)
    Shapiro-Wilk normality test
data:  pizza$enjoyment
W = 0.98916, p-value = 0.5971
  • ข้อมูลมีการแจกแจงแบบปกติ
A/B Testing ใน R

Pearson แบบไม่แยกกลุ่ม

cor.test(~ time + enjoyment, 
         data = pizza, 
         method = "pearson")

 

สัดส่วนความแปรปรวน: cor^2

0.30^2
[1] 0.09
Pearson's product-moment correlation

data:  time and enjoyment
t = 22.304, df = 88, p-value = 0.0218
alternative hypothesis: true correlation
is not equal to 0
95 percent confidence interval:
 0.8833166 0.9479256
sample estimates:
      cor 
0.3021878
A/B Testing ใน R

Pearson แบบแยกตามกลุ่ม

cor.test(~ time + enjoyment, 
         data = pizza, 
         subset = 
             (Topping == "Cheese"),
         method = "pearson")
Pearson's product-moment correlation

data:  Time and Enjoy
t = 11.121, df = 98, p-value < 2.2e-16
alternative hypothesis: true correlation 
is not equal to 0
95 percent confidence interval:
 0.6451710 0.8226595
sample estimates:
     cor 
0.746935 
A/B Testing ใน R

การวิเคราะห์กำลังทางสถิติ

Pearson แบบไม่แยกกลุ่ม:

Pearson's product-moment correlation

data:  time and enjoyment
t = 22.304, df = 88, p-value = 0.0218
alternative hypothesis: true 
correlation is not equal to 0
95 percent confidence interval:
 0.8833166 0.9479256
sample estimates:
      cor 
0.3021878
library(pwr)
pwr.r.test(r = 0.302, n = 100, 
           sig.level = 0.022)
     approximate correlation power 
  calculation (arctangh transformation) 

              n = 100
              r = 0.302
      sig.level = 0.022
          power = 0.7853514
    alternative = two.sided
A/B Testing ใน R

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

A/B Testing ใน R

Preparing Video For Download...