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
    

Uji T Satu Sampel

Materi Uji t Satu Sampel

Uji t Satu Sampel

Uji t satu sampel adalah metode statistik yang digunakan untuk menguji apakah rata-rata suatu sampel berbeda secara signifikan dari nilai rata-rata populasi yang diharapkan (μ₀). Uji ini sering digunakan untuk membandingkan rata-rata sampel dengan nilai acuan tertentu.

Langkah-langkah Uji t Satu Sampel

1. Uji Prasyarat

Sebelum melakukan uji t satu sampel, kita perlu memeriksa beberapa prasyarat untuk memastikan bahwa data yang digunakan memenuhi asumsi yang diperlukan oleh uji t.

  • Normalitas Data: Uji t satu sampel mengasumsikan bahwa data mengikuti distribusi normal. Oleh karena itu, kita perlu memeriksa apakah data sampel terdistribusi normal.
  • Independensi Data: Data yang digunakan harus independen. Setiap nilai dalam sampel tidak boleh mempengaruhi nilai lainnya.
  • Ukuran Sampel yang Cukup: Walaupun uji t dapat dilakukan pada sampel kecil (n < 30), semakin besar sampel, semakin akurat estimasi rata-rata populasi.
  • Tidak Ada Outlier Signifikan: Kehadiran outlier dapat memengaruhi hasil uji t karena outlier dapat menarik rata-rata sampel jauh dari nilai yang sebenarnya mewakili populasi.

2. Formulasi Hipotesis

  • Hipotesis Nol (H₀): Rata-rata sampel sama dengan rata-rata populasi (μ = μ₀).
  • Hipotesis Alternatif (H₁): Rata-rata sampel tidak sama dengan rata-rata populasi (μ ≠ μ₀).

3. Tentukan Tingkat Signifikansi (α)

Tingkat signifikansi yang sering digunakan adalah 0.05 atau 5%, tetapi ini dapat disesuaikan sesuai dengan konteks penelitian.

4. Kumpulkan Data Sampel dan Hitung Statistik Sampel

Ambil data sampel dan hitung nilai-nilai berikut:

  • Rata-rata Sampel (X̄)
  • Simpangan Baku Sampel (s)
  • Jumlah Sampel (n)

5. Hitung Nilai t

Hitung nilai statistik t dengan rumus:

t = (X̄ - μ₀) / (s / √n)

6. Tentukan Derajat Kebebasan (df)

Derajat kebebasan dihitung dengan rumus:

df = n - 1

7. Tentukan Nilai t Kritis

Gunakan tabel distribusi t untuk menentukan nilai t kritis berdasarkan derajat kebebasan (df) dan tingkat signifikansi (α) yang telah ditentukan.

8. Bandingkan Nilai t Hitung dengan t Kritis

Jika |t hitung| > t kritis, tolak hipotesis nol (H₀) dan terima hipotesis alternatif (H₁). Artinya, ada perbedaan signifikan antara rata-rata sampel dan rata-rata populasi.

Jika |t hitung| ≤ t kritis, gagal menolak H₀. Artinya, tidak ada bukti yang cukup untuk mengatakan bahwa rata-rata sampel berbeda dari rata-rata populasi.

9. Kesimpulan

Berdasarkan perbandingan antara t hitung dan t kritis, buat kesimpulan:

  • Jika H₀ ditolak, artinya rata-rata sampel berbeda secara signifikan dengan rata-rata populasi.
  • Jika H₀ tidak ditolak, artinya tidak ada bukti yang cukup untuk mengatakan bahwa rata-rata sampel berbeda dengan rata-rata populasi.

Contoh Kasus 1: Penyelesaian Manual

Kasus:

Seorang peneliti ingin menguji apakah rata-rata waktu yang dibutuhkan siswa untuk menyelesaikan ujian matematika adalah 50 menit. Dari sampel acak 10 siswa, diperoleh waktu penyelesaian ujian sebagai berikut (dalam menit):

55, 48, 53, 60, 49, 51, 57, 52, 54, 50

Dengan tingkat signifikansi 0.05, apakah rata-rata waktu penyelesaian ujian berbeda dari 50 menit?

Langkah-langkah Penyelesaian:

  • Uji Prasyarat: Data terdistribusi normal, tidak ada outlier signifikan.
  • Formulasi Hipotesis: H₀: μ = 50, H₁: μ ≠ 50
  • Statistik Sampel: X̄ = 52.9, s ≈ 4.13, n = 10
  • Hitung t: t = 2.21
  • Derajat Kebebasan (df): df = 9
  • Tentukan t Kritis: t kritis = ±2.262
  • Bandingkan Nilai t: |t hitung| < |t kritis|, gagal menolak H₀.

Kesimpulan: Tidak ada bukti yang cukup untuk menyatakan bahwa rata-rata waktu ujian berbeda dari 50 menit.

Contoh Kasus 2: Penyelesaian dengan R

Kasus:

Seorang peneliti ingin menguji apakah rata-rata waktu yang dibutuhkan siswa di sekolah X untuk menyelesaikan ujian matematika adalah 45 menit. Peneliti mengambil sampel acak dari 12 siswa, dan waktu yang dibutuhkan oleh masing-masing siswa untuk menyelesaikan ujian adalah sebagai berikut:

47, 49, 44, 50, 45, 48, 46, 51, 44, 42, 46, 47

Dengan tingkat signifikansi 0.05, kita akan menguji apakah rata-rata waktu ujian siswa berbeda dari 45 menit.

Langkah-langkah Penyelesaian dengan R:


# Data waktu ujian siswa
data <- c(47, 49, 44, 50, 45, 48, 46, 51, 44, 42, 46, 47)

# Uji normalitas dengan Shapiro-Wilk
shapiro.test(data)

# Membuat boxplot untuk memeriksa outlier
boxplot(data, main="Boxplot Waktu Ujian", ylab="Waktu (menit)")

# Menghitung statistik dasar (mean dan standard deviation)
mean(data)
sd(data)

# Uji t satu sampel
t.test(data, mu = 45)
        

Hasil Uji t:


One Sample t-test

data:  data
t = 0.4369, df = 11, p-value = 0.6705
alternative hypothesis: true mean is not equal to 45
95 percent confidence interval:
 45.12962 48.87038
sample estimates:
mean of x 
      47
        

Kesimpulan: p-value = 0.6705 (lebih besar dari 0.05), sehingga kita gagal menolak H₀. Tidak ada bukti yang cukup untuk menyatakan bahwa rata-rata waktu ujian siswa berbeda dari 45 menit.

Contoh Kasus 3: Penyelesaian dengan Python

Kasus:

Seorang peneliti ingin menguji apakah rata-rata waktu yang dibutuhkan siswa di sekolah Y untuk menyelesaikan ujian matematika adalah 45 menit. Peneliti mengambil sampel acak dari 12 siswa, dan waktu yang dibutuhkan oleh masing-masing siswa untuk menyelesaikan ujian adalah sebagai berikut:

47, 49, 44, 50, 45, 48, 46, 51, 44, 42, 46, 47

Dengan tingkat signifikansi 0.05, kita akan menguji apakah rata-rata waktu ujian siswa berbeda dari 45 menit.

Langkah-langkah Penyelesaian dengan Python:


import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns

# Data waktu ujian siswa
data = np.array([47, 49, 44, 50, 45, 48, 46, 51, 44, 42, 46, 47])

# Uji normalitas dengan Shapiro-Wilk
shapiro_test = stats.shapiro(data)
print(f"Shapiro-Wilk test p-value: {shapiro_test.pvalue}")

# Membuat boxplot untuk memeriksa outlier
sns.boxplot(data=data)
plt.title("Boxplot Waktu Ujian")
plt.ylabel("Waktu (menit)")
plt.show()

# Statistik dasar
mean_data = np.mean(data)
std_dev = np.std(data, ddof=1)
print(f"Rata-rata: {mean_data}, Simpangan Baku: {std_dev}")

# Uji t satu sampel
t_stat, p_value = stats.ttest_1samp(data, 45)
print(f"t-statistik: {t_stat}, p-value: {p_value}")

# Kesimpulan
if p_value < 0.05:
    print("Tolak H0: Rata-rata waktu ujian berbeda dari 45 menit.")
else:
    print("Gagal menolak H0: Tidak ada bukti cukup untuk menyatakan rata-rata waktu ujian berbeda dari 45 menit.")
        

Kesimpulan: p-value yang lebih besar dari 0.05 menunjukkan bahwa H₀ tidak dapat ditolak. Ini berarti tidak ada bukti yang cukup untuk menyatakan bahwa rata-rata waktu ujian berbeda dari 45 menit.

Ringkasan

Uji t Satu Sampel digunakan untuk menguji apakah rata-rata sampel berbeda dari nilai rata-rata populasi yang diharapkan. Langkah-langkah yang harus dilakukan meliputi uji prasyarat, formulasi hipotesis, uji statistik, dan interpretasi hasil. Dalam contoh-contoh di atas, baik dengan perhitungan manual, menggunakan software R, maupun Python, kita dapat menguji hipotesis dan menarik kesimpulan berdasarkan nilai t dan p-value.