Cara membuat histogram residu di r
Salah satu asumsi utama regresi linier adalah residunya terdistribusi normal.
Salah satu cara untuk memverifikasi asumsi ini secara visual adalah dengan membuat histogram residu dan mengamati apakah distribusi mengikuti “bentuk lonceng” yang mengingatkan pada distribusi normal .
Tutorial ini memberikan contoh langkah demi langkah tentang cara membuat histogram residu untuk model regresi di R.
Langkah 1: Buat datanya
Pertama, mari buat beberapa data palsu untuk digunakan:
#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
Langkah 2: Sesuaikan model regresi
Selanjutnya, kita akan menyesuaikan model regresi linier berganda ke data:
#fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=data)
Langkah 3: Buat Histogram Residu
Terakhir, kita akan menggunakan paket visualisasi ggplot untuk membuat histogram residu model:
#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 ')
Perhatikan bahwa kita juga dapat menentukan jumlah bin untuk menempatkan residu menggunakan argumen bin .
Semakin sedikit kotak yang ada, semakin lebar batang histogramnya. Misalnya, kita dapat menentukan 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 ')
Atau kita dapat menentukan 10 bin :
#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 ')
Tidak peduli berapa banyak kotak yang kita tentukan, kita dapat melihat bahwa residunya kira-kira terdistribusi normal.
Kita juga dapat melakukan uji statistik formal seperti Shapiro-Wilk, Kolmogorov-Smirnov, atau Jarque-Bera untuk menguji normalitas.
Namun, perlu diingat bahwa pengujian ini sensitif terhadap ukuran sampel yang besar – artinya, pengujian ini sering kali menyimpulkan bahwa residu tidak normal jika ukuran sampelnya besar.
Karena alasan ini, seringkali lebih mudah untuk menilai normalitas dengan membuat histogram dari residu.