วิธีการทดสอบ Homoscedasticity ใน R เป็นสิ่งสำคัญสำหรับการตรวจสอบความถูกต้องของข้อสมมติฐาน Linear Regression คู่มือนี้ครอบคลุม 2 วิธี: แนวทางการมองเห็นโดยใช้ Residual Plots และ Breusch-Pagan Test ใน R - การทดสอบทางสถิติสำหรับการตรวจจับ Heteroscedasticity
Homoscedasticity (Variance คงที่ของ Residuals) เป็นข้อสมมติฐานสำคัญใน Linear Regression เมื่อข้อสมมติฐานนี้ถูกละเมิด Standard Errors, Confidence Intervals และการทดสอบสมมติฐานของโมเดลของคุณจะไม่น่าเชื่อถือ
คุณจะได้เรียนรู้วิธีการตรวจสอบ Homoscedasticity ใน R โดยใช้ชุดข้อมูล mtcars แม้ว่าคุณสามารถปฏิบัติตามด้วยข้อมูลของคุณเองได้ ทั้งวิธีการมองเห็นและ Breusch-Pagan Test จะช่วยให้คุณพิจารณาว่าโมเดล Regression ของคุณตรงตามข้อสมมติฐาน Homoscedasticity หรือไม่
ทดสอบ Homoscedasticity ใน R ด้วยวิธีการมองเห็น (Visual Method)
ชุดข้อมูล mtcars มีอยู่แล้วใน R ประกอบด้วยข้อมูลของรถยนต์ 32 คันจากนิตยสาร Motor Trend ฉบับปี 1974 รวม 11 ตัวแปร เช่น ไมล์ต่อแกลลอน (mpg), จำนวนกระบอกสูบ (cyl) และแรงม้า (hp)
มาสร้างโมเดล Linear Regression แบบง่ายโดยใช้ mpg (ไมล์ต่อแกลลอน) เป็นตัวแปรตามและ hp (แรงม้า) เป็นตัวแปรพยากรณ์ ใช้ฟังก์ชัน lm():
# Use the mtcars dataset
data(mtcars)
# Create a linear model
model <- lm(mpg ~ hp, data = mtcars)
ใช้แพ็คเกจ ggplot2 เพื่อสร้าง Scatter Plot ของ Residuals เทียบกับ Fitted Values ติดตั้งและโหลดแพ็คเกจ:
# Install ggplot2 if not already installed
if (!requireNamespace("ggplot2", quietly = TRUE)) {
install.packages("ggplot2")
}
# Load ggplot2 package
library(ggplot2)
สร้าง Scatter Plot:
# Check for homoscedasticity using residuals vs fitted values plot
residuals_plot <- ggplot(data = mtcars, aes(x = fitted(model), y = resid(model))) +
geom_point() +
geom_smooth(method = "loess", se = FALSE, linetype = "dashed") +
labs(x = "Fitted Values", y = "Residuals") +
ggtitle("Residuals vs Fitted Values") +
theme_minimal()
print(residuals_plot)
กราฟ Residuals vs Fitted Values สำหรับการประเมิน Homoscedasticity แบบมองเห็นใน R
การแปลผล: ในสถานการณ์ที่เป็น Homoscedastic, Residuals ควรแสดงการกระจายที่ค่อนข้างคงที่ในทุกค่า Fitted Values รูปแบบหรือรูปทรงกรวย (Funnel Shape) บ่งชี้ Heteroscedasticity (Variance ไม่คงที่)
ทดสอบ Homoscedasticity ใน R ด้วย Breusch-Pagan Test
Breusch-Pagan Test เป็นวิธีการทางสถิติที่ตรวจสอบความสัมพันธ์ระหว่าง Squared Residuals และ Fitted Values โดยให้การทดสอบสมมติฐานอย่างเป็นทางการสำหรับ Homoscedasticity
ติดตั้งและโหลดแพ็คเกจ car เพื่อทำการทดสอบ:
# Install car package if not already installed
if (!requireNamespace("car", quietly = TRUE)) {
install.packages("car")
}
# Load car package
library(car)
ทำ Breusch-Pagan Test โดยใช้ฟังก์ชัน ncvTest():
# Perform Breusch-Pagan test to check for homoscedasticity
bp_test <- ncvTest(model)
print(bp_test)
การแปลผลลัพธ์ Breusch-Pagan Test
ผลลัพธ์ประกอบด้วยค่าสำคัญ 3 ค่า:
- Chisquare: สถิติทดสอบ (เช่น 0.0477)
- Df (Degrees of Freedom): จำนวน Parameters ที่ทดสอบ (โดยทั่วไป 1)
- p-value: ความน่าจะเป็นภายใต้สมมติฐานว่าง (Null Hypothesis) ของ Variance คงที่ (เช่น 0.827)
การแปลผล:
- p-value > 0.05: ไม่ปฏิเสธ Null Hypothesis → สรุปว่าข้อมูลเป็น Homoscedastic (Variance คงที่)
- p-value ≤ 0.05: ปฏิเสธ Null Hypothesis → สรุปว่าข้อมูลเป็น Heteroscedastic (Variance ไม่คงที่)
ตัวอย่างผลลัพธ์: Chisquare = 0.0477, Df = 1, p = 0.827
เนื่องจาก p-value (0.827) > 0.05 เราไม่ปฏิเสธ Null Hypothesis และสรุปว่า Homoscedasticity ปรากฏอยู่ใน Residuals ของโมเดล
การอ่านค่า / การแปลผล
เมื่อทดสอบ Homoscedasticity ใน R การแปลผลที่ครอบคลุมควรพิจารณาทั้งสองวิธี:
การแปลผลวิธีการมองเห็น (Visual Method):
- หาก Residual Plot แสดงการกระจายแบบสุ่ม (Random Scatter) โดยไม่มีรูปแบบ = Homoscedastic (ผ่านข้อสมมติฐาน)
- หากเห็นรูปทรงกรวย (Funnel/Cone Shape) หรือรูปแบบที่เห็นได้ชัด = Heteroscedastic (ไม่ผ่านข้อสมมติฐาน)
- การกระจายที่คงที่หมายถึง Variance ของ Residuals ไม่เปลี่ยนแปลงตามค่า Fitted Values
การแปลผล Breusch-Pagan Test:
- p-value > 0.05: ยอมรับข้อสมมติฐานว่าง = ข้อมูลเป็น Homoscedastic (ปลอดภัยที่จะใช้โมเดล)
- p-value ≤ 0.05: ปฏิเสธข้อสมมติฐานว่าง = ข้อมูลเป็น Heteroscedastic (ต้องแก้ไข)
- ค่า Chi-square ที่สูงและ p-value ที่ต่ำบ่งชี้ Heteroscedasticity ที่รุนแรงมากขึ้น
แนวทางปฏิบัติที่แนะนำ:
- ใช้ทั้งสองวิธีร่วมกันเพื่อความมั่นใจสูงสุด - Visual Method ให้ความเข้าใจเชิงคุณภาพ ในขณะที่ Breusch-Pagan ให้การยืนยันเชิงปริมาณ
- หากพบ Heteroscedasticity ไม่รุนแรง (p-value ใกล้ 0.05) อาจดำเนินการต่อโดยระมัดระวังในการแปลผล
- หากพบ Heteroscedasticity รุนแรง (p-value < 0.01) ควรพิจารณาการแปลงข้อมูล (Transformation), Weighted Regression หรือ Robust Standard Errors
- การละเมิดข้อสมมติฐาน Homoscedasticity อย่างรุนแรงนำไปสู่ Standard Errors ที่ไม่น่าเชื่อถือ ส่งผลต่อ Confidence Intervals และการทดสอบสมมติฐาน
คำถามที่พบบ่อย (FAQs)
สรุป
ตอนนี้คุณทราบแล้วว่าวิธีการทดสอบ Homoscedasticity ใน R โดยใช้สองวิธี: Visual Residual Plots และ Breusch-Pagan Test ทั้งสองแนวทางช่วยตรวจสอบข้อสมมติฐาน Homoscedasticity ใน Linear Regression เพื่อให้มั่นใจว่าค่าประมาณโมเดลและการทดสอบสมมติฐานน่าเชื่อถือ
ประเด็นสำคัญ:
- Visual Method: ตรวจสอบการกระจายที่คงที่ใน Residual Plots
- Breusch-Pagan Test: การทดสอบทางสถิติอย่างเป็นทางการ (p > 0.05 = Homoscedastic)
- การละเมิด Homoscedasticity นำไปสู่ Standard Errors และ Confidence Intervals ที่ไม่น่าเชื่อถือ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อสมมติฐาน Regression ดูคู่มือของเราเกี่ยวกับ Homoscedasticity คืออะไรในสถิติ หรือเรียนรู้เกี่ยวกับ Linearity ในสถิติ ซึ่งเป็นข้อสมมติฐานที่สำคัญอีกประการหนึ่งใน Regression Analysis