วิธีสร้างฮิสโตแกรมของสารตกค้างใน r


ข้อสันนิษฐานหลักประการหนึ่งของการถดถอยเชิงเส้น คือ ส่วนที่เหลือ มีการกระจายตามปกติ

วิธีหนึ่งในการตรวจสอบสมมติฐานนี้ด้วยสายตาคือการสร้างฮิสโตแกรมของส่วนที่เหลือและสังเกตว่าการกระจายเป็นไปตาม “รูปทรงระฆัง” ที่ชวนให้นึกถึง การกระจายตัวแบบปกติ หรือไม่

บทช่วยสอนนี้ให้ตัวอย่างทีละขั้นตอนของวิธีสร้างฮิสโตแกรมของส่วนที่เหลือสำหรับแบบจำลองการถดถอยใน R

ขั้นตอนที่ 1: สร้างข้อมูล

ขั้นแรก เรามาสร้างข้อมูลปลอมเพื่อใช้งานกับ:

 #make this example reproducible
set.seed(0)

#createdata
x1 <- rnorm(n=100, 2, 1)
x2 <- rnorm(100, 4, 3)
y <- rnorm(100, 2, 3)
data <- data.frame(x1, x2, y)

#view first six rows of data
head(data)

        x1 x2 y
1 3.262954 6.3455776 -1.1371530
2 1.673767 1.6696701 -0.6886338
3 3.329799 2.1520303 5.8081615
4 3.272429 4.1397409 3.7815228
5 2.414641 0.6088427 4.3269030
6 0.460050 5.7301563 6.6721111

ขั้นตอนที่ 2: ติดตั้งโมเดลการถดถอย

ต่อไป เราจะใส่ โมเดลการถดถอยเชิงเส้นหลายตัว เข้ากับข้อมูล:

 #fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=data)

ขั้นตอนที่ 3: สร้างฮิสโตแกรมของสารตกค้าง

สุดท้ายนี้ เราจะใช้แพ็คเกจการแสดงภาพ ggplot เพื่อสร้างฮิสโตแกรมของโมเดลที่เหลือ:

 #load ggplot2
library (ggplot2)

#create histogram of residuals
ggplot(data = data, aes (x = model$residuals)) +
    geom_histogram(fill = ' steelblue ', color = ' black ') +
    labs(title = ' Histogram of Residuals ', x = ' Residuals ', y = ' Frequency ')

ฮิสโตแกรมของสารตกค้างใน R

โปรดทราบว่าเรายังสามารถระบุจำนวนถังขยะเพื่อวางสิ่งตกค้างในการใช้อาร์กิวเมนต์ bin

ยิ่งมีกล่องน้อยลง แถบก็จะยิ่งกว้างขึ้นในฮิสโตแกรม ตัวอย่างเช่น เราสามารถระบุ 20 bins :

 #create histogram of residuals
ggplot(data = data, aes (x = model$residuals)) +
    geom_histogram(bins = 20 , fill = ' steelblue ', color = ' black ') +
    labs(title = ' Histogram of Residuals ', x = ' Residuals ', y = ' Frequency ') 

ฮิสโตแกรมที่เหลือใน R

หรือระบุ 10 bins :

 #create histogram of residuals
ggplot(data = data, aes (x = model$residuals)) +
    geom_histogram(bins = 10 , fill = ' steelblue ', color = ' black ') +
    labs(title = ' Histogram of Residuals ', x = ' Residuals ', y = ' Frequency ') 

ไม่ว่าจะระบุกี่กล่องก็เห็นว่าเหลือกระจายประมาณปกติ

นอกจากนี้เรายังสามารถทำการทดสอบทางสถิติอย่างเป็นทางการ เช่น Shapiro-Wilk, Kolmogorov-Smirnov หรือ Jarque-Bera เพื่อทดสอบความเป็นปกติ

อย่างไรก็ตาม โปรดทราบว่าการทดสอบเหล่านี้ไวต่อตัวอย่างขนาดใหญ่ กล่าวคือ มักจะสรุปว่าสารตกค้างไม่ปกติเมื่อตัวอย่างมีขนาดใหญ่

ด้วยเหตุนี้ จึงมักจะง่ายกว่าที่จะประเมินภาวะปกติด้วยการสร้างฮิสโตแกรมของสิ่งตกค้าง

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *