R'de artıkların histogramı nasıl oluşturulur
Doğrusal regresyonun temel varsayımlarından biri artıkların normal dağıldığıdır.
Bu varsayımı görsel olarak doğrulamanın bir yolu, artıkların histogramını oluşturmak ve dağılımın normal dağılımı anımsatan bir “çan şeklini” takip edip etmediğini gözlemlemektir.
Bu eğitimde, R’deki bir regresyon modeli için artıkların histogramının nasıl oluşturulacağına ilişkin adım adım bir örnek sunulmaktadır.
1. Adım: Verileri oluşturun
Öncelikle üzerinde çalışacağımız bazı sahte veriler oluşturalım:
#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
Adım 2: Regresyon modelini yerleştirin
Daha sonra verilere çoklu doğrusal regresyon modeli yerleştireceğiz:
#fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=data)
Adım 3: Artıkların Histogramını Oluşturun
Son olarak, model artıklarının histogramını oluşturmak için ggplot görselleştirme paketini kullanacağız:
#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 ')
Ayrıca bin argümanını kullanarak kalıntıların yerleştirileceği kutu sayısını da belirtebileceğimizi unutmayın.
Histogramda ne kadar az kutu varsa çubuklar o kadar geniş olur. Örneğin 20 kutu belirtebiliriz:
#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 ')
Veya 10 kutu belirtebiliriz:
#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 ')
Ne kadar kutu belirtirsek belirtelim artıkların yaklaşık olarak normal dağıldığını görebiliriz.
Normalliği test etmek için Shapiro-Wilk, Kolmogorov-Smirnov veya Jarque-Bera gibi resmi bir istatistiksel test de yapabiliriz.
Bununla birlikte, bu testlerin büyük örneklem boyutlarına duyarlı olduğunu unutmayın; yani, örneklem büyüklüğü büyük olduğunda genellikle artıkların normal olmadığı sonucuna varırlar.
Bu nedenle artıkların histogramını oluşturarak normalliği değerlendirmek genellikle daha kolaydır.