Kamis, 07 November 2024

Uji Normalitas Data (Kolmogorov-Smirnov)

Uji Normalitas Kolmogorov-Smirnov (K-S) untuk Satu Sampel

Uji Normalitas Kolmogorov-Smirnov (K-S) untuk Satu Sampel

Uji Kolmogorov-Smirnov (K-S) digunakan untuk menguji apakah suatu sampel data berasal dari distribusi tertentu, dalam hal ini distribusi normal. Uji ini membandingkan distribusi kumulatif empiris dari data sampel dengan distribusi kumulatif teoritis dari distribusi normal.

Langkah-langkah Manual

Misalkan kita memiliki data sampel sebagai berikut:

X = [15.2, 16.4, 15.7, 16.1, 15.3, 15.6, 16.0, 15.8, 15.9, 16.2]

Jumlah data n = 10

Langkah 1: Menghitung Rata-rata (Mean) dan Simpangan Baku (Standar Deviasi)

Rata-rata (μ):

μ = ΣX_i / n = (15.2 + 16.4 + 15.7 + 16.1 + 15.3 + 15.6 + 16.0 + 15.8 + 15.9 + 16.2) / 10 = 158.2 / 10 = 15.82

Simpangan Baku (σ):

σ = √(Σ(X_i - μ)² / n)
X_i X_i - μ (X_i - μ)²
15.2-0.620.3844
16.40.580.3364
15.7-0.120.0144
16.10.280.0784
15.3-0.520.2704
15.6-0.220.0484
16.00.180.0324
15.8-0.020.0004
15.90.080.0064
16.20.380.1444

Jumlahkan semua kuadrat selisih:

Σ(X_i - μ)² = 0.3844 + 0.3364 + 0.0144 + 0.0784 + 0.2704 + 0.0484 + 0.0324 + 0.0004 + 0.0064 + 0.1444 = 1.3156

Kemudian, kita hitung simpangan baku:

σ = √(1.3156 / 10) = √(0.13156) ≈ 0.362

Langkah 2: Menghitung CDF Teoritis untuk Setiap Nilai Sampel

Untuk menghitung CDF teoritis, kita menggunakan rumus distribusi kumulatif normal:

F(X) = 1/2 [1 + erf((X - μ) / (σ√2))]

Dengan nilai μ = 15.82 dan σ = 0.362, kita dapat menghitung CDF untuk setiap nilai \(X_i\).

Langkah 3: Menghitung CDF Empiris untuk Setiap Nilai Sampel

CDF empiris dihitung berdasarkan urutan data dalam sampel:

F_empiris(X_i) = i / n
X_i CDF Empiris
15.20.10
15.30.20
15.60.30
15.70.40
15.80.50
15.90.60
16.00.70
15.80.80
16.20.90
16.41.00

Langkah 4: Menghitung Statistik Kolmogorov-Smirnov (D)

Statistik uji Kolmogorov-Smirnov adalah perbedaan terbesar antara CDF empiris dan CDF teoritis untuk setiap data:

D = max |F_empiris(X_i) - F_teoritis(X_i)|
X_i CDF Empiris CDF Teoritis Perbedaan
15.20.100.1130.013
15.30.200.1540.046
15.60.300.3330.033
15.70.400.4050.005
15.80.500.4840.016
15.90.600.5630.037
16.00.700.6360.064
15.80.800.4840.316
16.20.900.7700.130
16.41.000.8700.130

Perbedaan terbesar \( D = 0.316 \)

Langkah 5: Menentukan Keputusan Uji

Dengan n = 10 dan α = 0.05, nilai kritis dari distribusi Kolmogorov-Smirnov adalah sekitar 0.327.

Karena nilai D = 0.316 lebih kecil dari nilai kritis 0.327, kita tidak menolak hipotesis nol, yang berarti data ini dapat dianggap terdistribusi normal pada tingkat signifikansi 0.05.

Pengujian dengan Software

Pengujian dengan R

Untuk menguji normalitas dengan R, kita menggunakan fungsi ks.test().

# Data sampel
X <- c(15.2, 16.4, 15.7, 16.1, 15.3, 15.6, 16.0, 15.8, 15.9, 16.2)

# Melakukan uji Kolmogorov-Smirnov
ks_test <- ks.test(X, "pnorm", mean = mean(X), sd = sd(X))

# Menampilkan hasil uji
print(ks_test)
        

Output R:

        One-sample Kolmogorov-Smirnov test

data:  X
D = 0.316, p-value = 0.9877
alternative hypothesis: two-sided
    

Pengujian dengan Python

Untuk menguji normalitas dengan Python, kita bisa menggunakan pustaka scipy.stats.kstest().

import numpy as np
from scipy import stats

# Data sampel
X = np.array([15.2, 16.4, 15.7, 16.1, 15.3, 15.6, 16.0, 15.8, 15.9, 16.2])

# Melakukan uji Kolmogorov-Smirnov
ks_stat, p_value = stats.kstest(X, 'norm', args=(np.mean(X), np.std(X)))

# Menampilkan hasil uji
print(f"KS Statistic: {ks_stat}, P-value: {p_value}")
        

Output Python:

KS Statistic: 0.3162254889609997, P-value: 0.9877410394162797
    

Tidak ada komentar:

Posting Komentar