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 ')

R'deki artıkların histogramı

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 ') 

R'de artık histogram

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.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir