Uji Normalitas Kolmogorov-Smirnov dengan R

Uji normalitas KS dengan R

Setelah kita memahami dan mempraktikan bagaimana menerapkan uji normalitas residual model dengan uji Jarque-Bera (bagi teman-teman yang belum menyimak bisa klik di sini), kita akan melanjutkan belajar bareng bagaimana sih melakukan uji normalitas residual model dengan uji Kolmogorov-Smirnov (KS-test).

Uji Kolmogorov-Smirnov merupakan uji asumsi distribusi pada data statistik yang mentitikberatkan pada selisih antara frekuensi distribusi teoritis dan distribusi dari data atau sebaran data sebenarnya. prinsip uji ini adalah untuk melihat apakah sebaran data sebenarnya telah mengikuti sebaran teoritis tertentu termasuk di dalamnya distribusi normal atau tidak. Langkah-langkah sederhana pengujian normalitas KS dapat dikonfigurasikan dengan tabel berikut:

Konfigurasi uji Kolmogorov-Smirnov

 

Keterangan tabel konfigurasi uji Kolmogorov-Smirnov

Setelah seluruh nilai D dalam tabel telah diperoleh, langkah berikutnya adalah dengan memilih nilai D terbesar kemudian membandingkannya dengan D tabel Kolmogorov-Smirnov. Bila nilai D terbesar data kurang dari D tabel KS, maka disimpulkan bahwa sebaran data kita telah mengikuti distribusi normal.

Uji KS untuk normalitas residual model sendiri pada dasarnya dibangun untuk pengujian data nonparametrik. Namun, seiring dengan perkembangan ilmu pengetahuan, diformulasikan pula uji KS untuk pengujian data parametrik dengan modifikasi Liliefors. Algoritma yang dikembangkan Liliefors sendiri secara mendasar sama dengan KS, hanya saja perbedaannya terletak pada kriteria pengujiannya. Dalam uji KS modifikasi Liliefors, sebaran data dikatakan memenuhi kenormalan bila nilai L terbesar data kurang dari L tabel Liliefors.

Lantas, bagaimana sih penerapannya dalam bahasa R? Cukup mudah teman-teman. Kita dapat menggunakan uji KS ini tanpa bantuan package, artinya kita hanya langsung mengetikkan ujinya secara langsung setelah model terbentuk. Codenya adalah sebagai berikut:

Code:

#Mengenerate Dataset
x1 <- c(8, 7, 9, 3, 6, 8, 9, 2, 9, 8, 4, 4, 6, 10)
y <- c(5, 4, 7, 2, 5, 6, 8, 3, 5, 7, 2, 2, 3, 9)
df <- data.frame(x1, y)

#Melihat sekilas dataset
head(df)

Hasil:

  x1 y
1  8 5
2  7 4
3  9 7
4  3 2
5  6 5
6  8 6

Code:

#Pemodelan Regresi Linier Sederhana
model <- lm(y~x1, data = df)

#Melihat ringkasan pemodelan regresi linier berganda
summary(model)

Hasil:

Call:
lm(formula = y ~ x1, data = df)
Residuals:
     Min       1Q   Median       3Q      Max
-1.73476 -0.89163  0.05322  0.96009  1.84120
Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -0.4343     0.9209  -0.472    0.646    
x1            0.7966     0.1301   6.121 5.17e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.187 on 12 degrees of freedom
Multiple R-squared:  0.7574,    Adjusted R-squared:  0.7372
F-statistic: 37.46 on 1 and 12 DF,  p-value: 5.171e-05

Code:

#uji Normalitas residual model
ks.test(model$residuals, ecdf(model$residuals))

Hasil:

    One-sample Kolmogorov-Smirnov test
data:  model$residuals
D = 0.14286, p-value = 0.9375
alternative hypothesis: two-sided

Interprtasi: terlihat bahwa nilai p-value uji KS sebesar 0,9375 atau lebih dari alpha 0,05 (misalkan yang dipakai alpha 0,05), sehingga disimpulkan bahwa residual model telah memenuhi asumsi normalitas.

Oke, demikian sedikit ulasan bagaimana kita menerapkan uji normalitas KS dengan R. Jangan lupa untuk share, tanya-tanya di kolom komentar, dan menyimak unggahan berikutnya. Semoga bermanfaat.

Add Comments


EmoticonEmoticon