Skip to main content Link Search Menu Expand Document (external link)

Sum of Square

SS- คืออะไร

Sum of Square คือค่ารวมของความแปรปรวน (variance: see Confident Interval) ซึ่งเป็นการคำนวณในการหาค่ารวมของโมเดลทำนาย โดยเฉพาะใน regression โดยมีสูตรทางคณิตศาสตร์ คือ

Sum of Square = ∑n(i=1)(Xi - X-)^2

ใน Sum of Square สามารถบอกเราได้ว่า ในโมเดลดังกล่าวมีค่าที่เบี่ยงเบนจากค่ากลาง (Mean) มากน้อยเพียงใด โดยปกติแล้ว ผู้อ่านสายจิตวิทยาจะพบ SS บ่อยในผลวิเคราะห์ของตระกูล Analysis of Variances (แต่ SS ใช้ในโมเดล regression อีกด้วยนะ ซึ่งจะใช้ในรูปแบบข้อ RSS)

เราลองมาสร้างชุดข้อมูลเพื่อใช้ในการอธิบาย Sum of Square กันค่ะ

#mode_improvement
set.seed(1990)
counseling_b <- abs(rnorm(45, 7.7, sd = 3.1))
drugs_x <- abs(rnorm(45, 6.1, sd = 3))

counseling_a <- abs(rnorm(45, 8.1, sd = 2.1))
drugs_y <- abs(rnorm(45, 8.6, sd = 1.7))

data_w <- data.frame(counseling_a, counseling_b, drugs_x, drugs_y)
data <- reshape2::melt(data_w, measure.vars = c("counseling_a", "counseling_b", "drugs_x", "drugs_y"))

colnames(data) <- c("methods", "mood.imp")

psych::describe(data_w)
##              vars  n mean   sd median trimmed  mad  min   max range  skew
## counseling_a    1 45 7.80 2.22   7.58    7.84 2.03 1.22 12.12 10.90 -0.33
## counseling_b    2 45 6.79 2.84   6.49    6.79 2.39 0.44 13.17 12.72  0.05
## drugs_x         3 45 5.16 2.67   5.13    5.04 2.51 0.40 13.30 12.89  0.52
## drugs_y         4 45 8.61 1.76   8.36    8.61 1.76 3.68 12.25  8.57 -0.07
##              kurtosis   se
## counseling_a     0.30 0.33
## counseling_b    -0.07 0.42
## drugs_x          0.38 0.40
## drugs_y          0.28 0.26
    psych::describe(data)
##          vars   n mean   sd median trimmed  mad min  max range  skew kurtosis
## methods*    1 180 2.50 1.12   2.50    2.50 1.48 1.0  4.0  3.00  0.00    -1.38
## mood.imp    2 180 7.09 2.72   7.17    7.17 2.55 0.4 13.3 12.89 -0.25    -0.15
##            se
## methods* 0.08
## mood.imp 0.20
    table(data$methods)
## 
## counseling_a counseling_b      drugs_x      drugs_y 
##           45           45           45           45

สมมติว่าเป็นชุดข้อมูลที่เป็นคะแนน Mood Improvement ในผู้ป่วยที่มีอาการซึมเศร้า เงื่อนไขคือ ได้รับการปรึกษา (counseling) ชนิด a,b หรือ ได้รับยา (drugs) ชนิด x,y

สร้าง boxplot และ density

    library(ggplot2)
    library(tidyr)
    ggplot(data) +
      geom_boxplot(aes(x = methods, y = mood.imp))

# separate each group fot the sake of t = 1

เราจะเห็นว่าเมื่อเปรียบเทียบ 4 กลุ่มใน boxplot จะเห็นความแตกต่างไม่มากนัก

เราลองมาลองเคราะห์ t-test อย่างง่ายโดยเปรียบเทียบกลุ่ม at t = 1

    t.test(counseling_a, counseling_b, var.equal = TRUE)
## 
##  Two Sample t-test
## 
## data:  counseling_a and counseling_b
## t = 1.8794, df = 88, p-value = 0.06349
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.05802026  2.08030420
## sample estimates:
## mean of x mean of y 
##  7.797758  6.786616
    #or
    t.test(counseling_a, counseling_b) #Whelch
## 
##  Welch Two Sample t-test
## 
## data:  counseling_a and counseling_b
## t = 1.8794, df = 83.169, p-value = 0.06369
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.05888658  2.08117053
## sample estimates:
## mean of x mean of y 
##  7.797758  6.786616
# separate each group fot the sake of t = 1
library(ggplot2)
ggplot(data_w) +
      geom_density(aes(x = counseling_a), fill = "violet", alpha = 0.5) +
      geom_density(aes(x = counseling_b), fill = "gray", alpha = 0.5) +
      xlab("counseling_t1 vs. drug_t1") +
      geom_vline(xintercept =  mean(data_w$counseling_a), color = "violet") +
      geom_vline(xintercept = mean(data_w$counseling_b), color = "gray") +
      theme_classic()

จะเห็นได้ว่า เมื่อใช้ t-test และ Welch t-test จะมีผลไม่แตกต่างกันมากนัก แต่ว่าถ้าเราทำ t-test แบบนี้ให้ครบทุกคู่ ค่า alpha จะเฟ้อมากทำให้เกิด Type I error หรือ False positive สูงขึ้น (see Type I & Type II error)

Sum of Square in two-way ANOVA

(see One-way ANOVA)

เราจะสมมติว่าข้อมูลในแต่ละกลุ่มมาจากกลุ่มอิสระจากกันก่อนนะคะ เพื่อความเข้าใจในการวิเคราะห์แบบ two-way ANOVA นี้ แต่เมื่อนำไปวิเคราะห์แบบ two-way ANOVA แล้วจะพบผลที่ชัดเจนมากขึ้น แต่ว่าทีนี้ Sum of Square ที่นำมาวิเคราะห์จะมี 3 ประเภทค่ะ

  • Type I: จะเป็นการใส่ตัวแปรที่ 1 เช่น (counseling) ในโมเดลเข้าไป แล้วใส่ค่าที่เหลือสูงสุดของตัวแปรที่ 2 (drugs) เข้าไปในโมเดล แล้วจึงนำค่าเหลือ (residual) เข้าตามไป

    SS(A) สำหรับตัวแปร Counseling SS(B | A) สำหรับตัวแปร Drugs * | อ่านว่า given (ก็ต่อเมื่อ) SS(AB | B, A) ถ้าต้องการหา interaction effect ซึ่ง type I จะไม่เหมาะกับการหา effect ที่มาผสมกันเพราะเป็นการนำตัวแปรเข้าทีละตัวค่ะ

  • Type II: คือการที่ใส่ตัวแปร A และ B เข้าพร้อมกันโดยใช้ความแปรปรวนของทั้งคู่ แต่จะไม่คำนวณส่วนที่เป็น interaction effect ให้เรา

    SS(A B) สำหรับตัวแปร Counseling –> Drugs
    SS(B A) สำหรับตัวแปร Drugs –> Counseling
  • Type III: จะเป็นการผสมวิธีกันระหว่าง Type I & II คือการที่ตัวแปรที่ใส่เข้าสมการ 1.) จะไม่เรียงลำดับ และ 2.) สามารถคำนวณ interaction effect ได้

    SS(A B, AB) สำหรับตัวแปร Counseling —> Counseling*Drugs
    SS(B A, AB) สำหรับตัวแปร Drugs —> Counseling*Drugs

เราลองมาคำนวณ type I และ Type III จาก R code กันค่า

    model_typeI <- aov(mood.imp ~ methods, data = data)
    summary(model_typeI)
##              Df Sum Sq Mean Sq F value   Pr(>F)    
## methods       3  298.7   99.56   17.11 8.55e-10 ***
## Residuals   176 1024.3    5.82                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    model_typeIII <- lm(mood.imp ~ methods, data = data)
    car::Anova(model_typeIII, type = 3) #Type III
## Anova Table (Type III tests)
## 
## Response: mood.imp
##              Sum Sq  Df F value    Pr(>F)    
## (Intercept) 2736.23   1 470.156 < 2.2e-16 ***
## methods      298.69   3  17.108  8.55e-10 ***
## Residuals   1024.29 176                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

ทีนี้ผลจะออกมาไม่แตกต่างนักกันระหว่าง Sum of Square ของ type I และ Type III เพราะว่ามี equal variances โดยปกติแล้ว Sum of Square ในการทดสอบที่แตกต่างกัน จะมีความเสมือนกัน แต่อธิบายแตกต่างกัน เช่น ANOVA vs. Linear Regression

เราไปต่อที่การทดสอบข้อตกลงเบื้องต้นที่สุดกันคราวหน้าน้า


กลับไปที่ Datastist.com