Konsep Distribusi Sampel (Sampling Distribution)

1. Apa itu Distribusi Sampel?

Distribusi sampel adalah distribusi probabilitas dari suatu statistik (seperti rata-rata, varians, atau proporsi) yang dihitung dari berbagai sampel yang diambil dari suatu populasi. Dalam kata lain, distribusi sampel menggambarkan bagaimana statistik yang kita hitung (misalnya, rata-rata sampel) bervariasi ketika kita mengambil banyak sampel dari populasi yang sama.

2. Mengapa Distribusi Sampel Penting?

Konsep distribusi sampel sangat penting karena sebagian besar inferensi statistik (seperti estimasi parameter populasi dan pengujian hipotesis) bergantung pada pemahaman distribusi statistik sampel. Dalam hal ini, kita bisa memprediksi bagaimana statistik sampel akan berperilaku jika kita mengambil sampel secara berulang kali dari populasi yang sama.

3. Langkah-Langkah Membentuk Distribusi Sampel

Untuk membentuk distribusi sampel, kita perlu mengikuti langkah-langkah berikut: 1. Ambil sampel acak dari populasi. 2. Hitung statistik tertentu (misalnya rata-rata) dari sampel yang diambil. 3. Ulangi langkah 1 dan 2 untuk jumlah sampel yang banyak (misalnya 1000 sampel). 4. Distribusi statistik yang dihasilkan dari langkah 2 akan membentuk distribusi sampel.


4. Contoh Sederhana untuk Memahami Distribusi Sampel

Mari kita mulai dengan sebuah contoh sederhana untuk membayangkan distribusi sampel.

Misalkan kita memiliki populasi kecil berikut:

Populasi = {1, 2, 3, 4, 5}

Kita ingin menghitung distribusi rata-rata sampel untuk ukuran sampel n=2.

Langkah 1: Ambil Sampel dari Populasi

Kita akan mengambil semua kemungkinan kombinasi sampel yang bisa diambil dari populasi dengan ukuran sampel n=2:

  • Sampel 1: (1, 2) -> Rata-rata = (1+2)/2 = 1.5
  • Sampel 2: (1, 3) -> Rata-rata = (1+3)/2 = 2
  • Sampel 3: (1, 4) -> Rata-rata = (1+4)/2 = 2.5
  • Sampel 4: (1, 5) -> Rata-rata = (1+5)/2 = 3
  • Sampel 5: (2, 3) -> Rata-rata = (2+3)/2 = 2.5
  • Sampel 6: (2, 4) -> Rata-rata = (2+4)/2 = 3
  • Sampel 7: (2, 5) -> Rata-rata = (2+5)/2 = 3.5
  • Sampel 8: (3, 4) -> Rata-rata = (3+4)/2 = 3.5
  • Sampel 9: (3, 5) -> Rata-rata = (3+5)/2 = 4
  • Sampel 10: (4, 5) -> Rata-rata = (4+5)/2 = 4.5

Langkah 2: Menyusun Distribusi Sampel

Setelah mengambil sampel dan menghitung rata-rata untuk setiap sampel, kita bisa membuat distribusi rata-rata sampel sebagai berikut:

  • Rata-rata sampel yang dihasilkan: {1.5, 2, 2.5, 2.5, 3, 3, 3.5, 3.5, 4, 4.5}

Ini adalah distribusi sampel rata-rata untuk ukuran sampel n=2.


5. Karakteristik Distribusi Sampel

Distribusi sampel memiliki beberapa karakteristik penting yang perlu dipahami:

  1. Rata-rata Distribusi Sampel (Sampling Distribution of the Mean):
    • Jika kita mengambil banyak sampel dari populasi dan menghitung rata-rata sampel untuk setiap sampel, rata-rata distribusi sampel akan sangat mendekati rata-rata populasi.
    • Notasi: Jika μ adalah rata-rata populasi, maka rata-rata distribusi sampel akan mendekati μ.
  2. Varians Distribusi Sampel (Sampling Variance):
    • Varians dari distribusi sampel akan lebih kecil daripada varians populasi. Hal ini karena rata-rata sampel cenderung lebih stabil daripada individu dalam populasi.
    • Notasi: Jika σ² adalah varians populasi, maka varians distribusi sampel adalah σ²/n, di mana n adalah ukuran sampel.
  3. Distribusi Sampel Akan Mendekati Normal:
    • Dalil Limit Pusat (CLT) menyatakan bahwa ketika ukuran sampel cukup besar, distribusi rata-rata sampel akan mendekati distribusi normal terlepas dari bentuk distribusi populasi.
    • Ini adalah alasan mengapa distribusi rata-rata sampel menjadi sangat penting dalam statistik: ketika kita mengumpulkan cukup banyak sampel dari populasi, distribusi rata-rata sampel akan mendekati distribusi normal.

6. Hubungan Distribusi Sampel dengan Dalil Limit Pusat

Dalil Limit Pusat (CLT) menyatakan bahwa seiring dengan bertambahnya ukuran sampel (n → ∞), distribusi rata-rata sampel akan mendekati distribusi normal, bahkan jika populasi asalnya tidak terdistribusi normal.

Dengan kata lain, meskipun populasi asal memiliki distribusi yang tidak normal (misalnya, eksponensial atau uniform), rata-rata sampel yang diambil dari populasi ini akan mendekati distribusi normal jika ukuran sampel cukup besar.


Dalil Limit Pusat

Dalil Limit Pusat menyatakan bahwa jika \(X_1, X_2, \dots, X_n\) adalah sampel acak populasi dari distribusi apapun dengan rata-rata \(\mu\) dan varians \(\sigma^2\), maka rata-rata sampel:

\([\bar{X} = \frac{X_1 + X_2 + \dots + X_n}{n}]\)

akan mengikuti distribusi normal dengan:

\([E(\bar{X}) = \mu, \quad \text{dan} \quad \text{Var}(\bar{X}) = \frac{\sigma^2}{n}]\)

untuk \(n\) yang cukup besar, terlepas dari distribusi awal populasi.

Algoritma Simulasi CLT

  1. Tentukan ukuran sampel \((n)\).
  2. Tentukan distribusi populasi.
  3. Ambil \((n)\) contoh data dari distribusi tersebut.
  4. Hitung rata-rata sampel \((\bar{X})\) dan simpan.
  5. Ulangi langkah 3 dan 4 sebanyak \((k)\) kali.
  6. Periksa distribusi dari \((k)\) rata-rata sampel.

Pembangkitan Populasi Tak Terhingga

Berikut adalah implementasi simulasi dalam R untuk membuktikan Dalil Limit Pusat pada beberapa distribusi awal yang berbeda.

set.seed(15)
k <- 1000 # jumlah ulangan

Penjelasan syntax:

  • set.seed(15): Menetapkan seed agar hasil simulasi dapat direproduksi.

  • k <- 1000: Menentukan jumlah ulangan simulasi (1000 kali).

Distribusi Normal

Sebaran awal: Normal \((\mu = 0, \sigma^2 = 1)\). Berdasarkan Dalil Limit Pusat, rata-rata sampel akan mengikuti distribusi normal dengan \(N(0, \frac{1}{n})\).

n <- 10
x11 <- matrix(rnorm(n * k), k)
x11 <- apply(x11, 1, mean)
hist(x11, main = "Sebaran Percontohan Normal 10 Sampel")

mean(x11); var(x11)
## [1] -0.002779655
## [1] 0.1049205

Penjelasan Syntax:

  • n <- 10: Menentukan ukuran sampel (10).

  • matrix(rnorm(n * k), k): Membuat matriks dengan 1000 baris dan 10 kolom, diisi dengan angka dari distribusi normal.

  • apply(x11, 1, mean): Menghitung rata-rata setiap baris.

  • hist(x11, main = "Sebaran Percontohan Normal 10 Sampel"): Menampilkan histogram hasil simulasi.

  • mean(x11); var(x11): Menghitung rata-rata dan varians dari hasil simulasi.

Ulangan dilakukan untuk n = 30 dan n = 100, dengan kode yang sama.

n <- 30
x12 <- matrix(rnorm(n * k), k)
x12 <- apply(x12, 1, mean)
hist(x12, main = "Sebaran Percontohan Normal 30 Sampel")

mean(x12); var(x12)
## [1] 0.004575083
## [1] 0.0337004
n <- 100
x13 <- matrix(rnorm(n * k), k)
x13 <- apply(x13, 1, mean)
hist(x13, main = "Sebaran Percontohan Normal 100 Sampel")

mean(x13); var(x13)
## [1] 0.005533164
## [1] 0.009808944

Distribusi Eksponensial

Sebaran awal: Eksponensial \((\lambda = 1)\). Berdasarkan Dalil Limit Pusat, rata-rata sampel akan mengikuti distribusi normal dengan \(N(1, \frac{1}{(1^2)n})\).

n <- 10
x21 <- matrix(rexp(n * k), k)
x21 <- apply(x21, 1, mean)
hist(x21, main = "Sebaran Percontohan Eksponensial 10 Sampel")

mean(x21); var(x21)
## [1] 0.9974163
## [1] 0.09341337

Penjelasan Syntax:

  • rexp(n * k): Menghasilkan sampel dari distribusi eksponensial dengan parameter λ=1= 1λ=1.

  • matrix(rexp(n * k), k): Membuat matriks dengan 1000 baris dan 10 kolom.

  • apply(x21, 1, mean): Menghitung rata-rata per baris.

  • hist(x21, main = "Sebaran Percontohan Eksponensial 10 Sampel"): Menampilkan histogram.

  • mean(x21); var(x21): Menghitung rata-rata dan varians dari hasil simulasi.

Ulangan dilakukan untuk n = 30 dan n = 100, dengan kode yang sama.

n <- 30
x22 <- matrix(rexp(n * k), k)
x22 <- apply(x22, 1, mean)
hist(x22, main = "Sebaran Percontohan Eksponensial 30 Sampel")

mean(x22); var(x22)
## [1] 1.007419
## [1] 0.03540545
n <- 100
x23 <- matrix(rexp(n * k), k)
x23 <- apply(x23, 1, mean)
hist(x23, main = "Sebaran Percontohan Eksponensial 100 Sampel")

mean(x23); var(x23)
## [1] 1.00021
## [1] 0.01018415

Distribusi Seragam

Sebaran awal: Seragam \(U(0,1)\). Berdasarkan Dalil Limit Pusat, rata-rata sampel akan mengikuti distribusi normal dengan \(N(0.5, \frac{1}{12n})\).

n <- 10
x31 <- matrix(runif(n * k), k)
x31 <- apply(x31, 1, mean)
hist(x31, main = "Sebaran Percontohan Seragam 10 Sampel")

mean(x31); var(x31)
## [1] 0.4989207
## [1] 0.008243281

Penjelasan Syntax:

  • runif(n * k): Menghasilkan sampel dari distribusi seragam U(0,1)U(0,1)U(0,1).

  • matrix(runif(n * k), k): Membuat matriks dengan 1000 baris dan 10 kolom.

  • apply(x31, 1, mean): Menghitung rata-rata setiap baris.

  • hist(x31, main = "Sebaran Percontohan Seragam 10 Sampel"): Menampilkan histogram hasil simulasi.

  • mean(x31); var(x31): Menghitung rata-rata dan varians dari hasil simulasi.

Ulangan dilakukan untuk n = 30 dan n = 100, dengan kode yang sama.

n <- 30
x32 <- matrix(runif(n * k), k)
x32 <- apply(x32, 1, mean)
hist(x32, main = "Sebaran Percontohan Seragam 30 Sampel")

mean(x32); var(x32)
## [1] 0.4980883
## [1] 0.002778006
n <- 100
x33 <- matrix(runif(n * k), k)
x33 <- apply(x33, 1, mean)
hist(x33, main = "Sebaran Percontohan Seragam 100 Sampel")

mean(x33); var(x33)
## [1] 0.4995731
## [1] 0.000843557

Kesimpulan

Dari simulasi di atas, terlihat bahwa meskipun data awal berasal dari berbagai distribusi (Normal, Eksponensial, dan Seragam), rataan sampel mendekati distribusi normal ketika ukuran sampel (\(n\)) bertambah besar. Hal ini sesuai dengan Dalil Limit Pusat.


Pembangkitan Populasi Terhingga

Penggunaan Sampel n=10

set.seed(123)

# Membangkitkan populasi normal, eksponensial, dan uniform
normal_population = rnorm(1000000)  # Populasi Normal (1 juta elemen)

exponential_population = rexp(1000000)  # Populasi Eksponensial (1 juta elemen)

uniform_population = runif(1000000)  # Populasi Uniform (1 juta elemen)
  • normal_population berisi bilangan acak yang terdistribusi normal.
  • exponential_population berisi bilangan acak yang terdistribusi eksponensial.
  • uniform_population berisi bilangan acak yang terdistribusi uniform.

Visualisasi Populasi (Histograms)

# Menampilkan histogram populasi untuk distribusi yang berbeda
hist(normal_population, main = "Populasi Normal")   # Histogram untuk populasi normal

hist(exponential_population, main = "Populasi Eksponensial")   # Histogram untuk populasi eksponensial

hist(uniform_population, main = "Populasi Uniform")   # Histogram untuk populasi uniform

  • Fungsi hist() digunakan untuk menggambarkan distribusi populasi yang telah dibangkitkan.

  • Populasi normal akan menunjukkan distribusi berbentuk lonceng simetris.

  • Populasi eksponensial akan lebih condong ke sisi kiri dengan ekor panjang ke kanan.

  • Populasi uniform akan tersebar merata di seluruh interval [0,1].

Ketiga distribusi ini memiliki bentuk yang berbeda dan akan menunjukkan seberapa beragam bentuk distribusi populasi yang bisa kita hadapi dalam dunia nyata.


Membuat Sampel dan Menghitung Rata-Rata Sampel

set.seed(123)

k = 1000  # Jumlah eksperimen (sampel)
n = 10    # Ukuran sampel

normal_samples_10 = matrix(sample(normal_population, n*k), k)  # Sampel dari populasi normal

exponential_samples_10 = matrix(sample(exponential_population, n*k), k)  # Sampel dari populasi eksponensial

uniform_samples_10 = matrix(sample(uniform_population, n*k), k)  # Sampel dari populasi uniform
  • k adalah jumlah eksperimen atau jumlah sampel yang kita ambil.
  • n adalah ukuran masing-masing sampel (jumlah elemen dalam satu sampel).
  • sample() digunakan untuk mengambil sampel secara acak dari populasi yang telah dibangkitkan (normal_population, exponential_population, uniform_population).
  • Setiap sampel terdiri dari n elemen yang diambil acak dari populasi, dan k eksperimen dilakukan.
  • normal_samples_10 berisi 10 sampel acak yang diambil dari populasi normal.
  • exponential_samples_10 berisi 10 sampel acak yang diambil dari populasi eksponensial.
  • uniform_samples_10 berisi 10 sampel acak yang diambil dari populasi uniform.

Menghitung Rata-Rata Sampel

# Menghitung rata-rata untuk setiap sampel
normal_mean_10 = apply(normal_samples_10, 1, mean)  # Rata-rata dari sampel normal

exponential_mean_10 = apply(exponential_samples_10, 1, mean)  # Rata-rata dari sampel eksponensial

uniform_mean_10 = apply(uniform_samples_10, 1, mean)  # Rata-rata dari sampel uniform
  • apply() digunakan untuk menghitung rata-rata setiap sampel yang diambil dari masing-masing populasi.
  • Untuk setiap eksperimen (baris dalam matriks normal_mean_10, exponential_mean_10, uniform_mean_10), kita menghitung rata-rata sampel.
  • normal_mean_10 berisi rata-rata dari setiap 10 sampel yang diambil dari populasi normal.
  • exponential_mean_10 berisi rata-rata dari setiap 10 sampel yang diambil dari populasi eksponensial.
  • uniform_mean_10 berisi rata-rata dari setiap 10 sampel yang diambil dari populasi uniform.

Visualisasi Hasil Rata-Rata Sampel (Histograms)

# Menampilkan histogram distribusi rata-rata sampel untuk setiap populasi
hist(normal_mean_10, main = "Distribusi Rata-Rata Sampel (Normal)")   # Histogram untuk distribusi rata-rata sampel normal

hist(exponential_mean_10, main = "Distribusi Rata-Rata Sampel (Eksponensial)")   # Histogram untuk distribusi rata-rata sampel eksponensial

hist(uniform_mean_10, main = "Distribusi Rata-Rata Sampel (Uniform)")   # Histogram untuk distribusi rata-rata sampel uniform

  • Setelah menghitung rata-rata sampel, kita membuat histogram untuk setiap distribusi rata-rata sampel.

  • Hasilnya akan menunjukkan distribusi rata-rata sampel untuk populasi normal, eksponensial, dan uniform.

  • Efek CLT: Meskipun distribusi asalnya berbeda, distribusi rata-rata sampel mulai menunjukkan bentuk distribusi normal seiring bertambahnya jumlah sampel.

  • Distribusi rata-rata sampel: Dengan semakin banyaknya sampel yang kita ambil, distribusi rata-rata sampel mulai mendekati distribusi normal terlepas dari distribusi asalnya (normal, eksponensial, uniform).


Perhitungan Rata-Rata dan Varians Sampel

# Menghitung rata-rata dan varians untuk setiap distribusi
mean_data_10 = c(mean(normal_mean_10), mean(exponential_mean_10), mean(uniform_mean_10))
var_data_10 = c(var(normal_mean_10), var(exponential_mean_10), var(uniform_mean_10))

# Membuat data frame untuk menyimpan hasil rata-rata dan varians
summary_stats_10 = data.frame("Mean" = mean_data_10, "Variance" = var_data_10, row.names = c("Normal", "Eksponensial", "Uniform"))
print(summary_stats_10)
##                     Mean    Variance
## Normal       0.005472042 0.105708582
## Eksponensial 0.990954878 0.096089363
## Uniform      0.497587343 0.007767368
  • Kita menghitung rata-rata dan varians dari distribusi rata-rata sampel untuk masing-masing populasi (normal, eksponensial, dan uniform).
  • Hasilnya menunjukkan bagaimana rata-rata dan varians sampel berubah untuk distribusi yang berbeda, dan ini memberikan gambaran tentang bagaimana CLT bekerja untuk berbagai jenis distribusi.
  • summary_stats_10 memberikan rata-rata dan varians untuk masing-masing distribusi sampel setelah dihitung.

Penggunaan Sampel n = 30

Selanjutnya, kita memperbesar ukuran sampel (n = 30 dan n = 100) untuk melihat bagaimana distribusi rata-rata sampel semakin mendekati distribusi normal.

set.seed(123)

n = 30    # Ukuran sampel lebih besar
normal_samples_30 = matrix(sample(normal_population, n*k), k)  # Sampel dari populasi normal

exponential_samples_30 = matrix(sample(exponential_population, n*k), k)  # Sampel dari populasi eksponensial

uniform_samples_30 = matrix(sample(uniform_population, n*k), k)  # Sampel dari populasi uniform
  • normal_samples_30, exponential_samples_30, uniform_samples_30 berisi sampel dengan ukuran 30 yang diambil dari masing-masing distribusi populasi.

Perhitungan Rata-Rata Sampel dengan Ukuran Sampel Lebih Besar

# Menghitung rata-rata sampel dengan n = 30
normal_mean_30 = apply(normal_samples_30, 1, mean)  # Rata-rata dari sampel normal dengan n=30

exponential_mean_30 = apply(exponential_samples_30, 1, mean)  # Rata-rata dari sampel eksponensial dengan n=30

uniform_mean_30 = apply(uniform_samples_30, 1, mean)  # Rata-rata dari sampel uniform dengan n=30

Histogram dan Perhitungan Rata-Rata Sampel dengan Ukuran Sampel Lebih Besar

# Menampilkan histogram dari rata-rata sampel dengan n = 30
hist(normal_mean_30, main = "Distribusi Rata-Rata Sampel (Normal, n=30)")

hist(exponential_mean_30, main = "Distribusi Rata-Rata Sampel (Eksponensial, n=30)")

hist(uniform_mean_30, main = "Distribusi Rata-Rata Sampel (Uniform, n=30)")

  • Dengan ukuran sampel yang lebih besar, distribusi rata-rata sampel semakin mendekati distribusi normal, sesuai dengan Dalil Limit Pusat (CLT).

Kesimpulan

# Membuat kesimpulan dari rata-rata dan varians sampel dengan ukuran lebih besar
mean_data_30 = c(mean(normal_mean_30), mean(exponential_mean_30), mean(uniform_mean_30))
var_data_30 = c(var(normal_mean_30), var(exponential_mean_30), var(uniform_mean_30))

summary_stats_30 = data.frame("Mean" = mean_data_30, "Variance" = var_data_30, row.names = c("Normal", "Eksponensial", "Uniform"))
print(summary_stats_30)
##                      Mean    Variance
## Normal       -0.005445146 0.037606446
## Eksponensial  0.997744247 0.032002352
## Uniform       0.500796193 0.002740172
  • summary_stats_30 akan menunjukkan bagaimana distribusi rata-rata sampel semakin mendekati distribusi normal meskipun populasi asalnya sangat berbeda (normal, eksponensial, uniform).

Ah, saya paham! Maaf, saya belum memasukkan bagian yang untuk n=100. Mari kita lengkapi dan sesuaikan penjelasannya agar sesuai dengan semua ukuran sampel yang disebutkan, yaitu n=10, n=30, dan n=100.

Berikut adalah perbaikan dan penyesuaian untuk n=100.


Penggunaan Sampel n = 100

# Menggunakan ukuran sampel yang lebih besar, yaitu n=100
n = 100    # Ukuran sampel yang lebih besar
normal_samples_100 = matrix(sample(normal_population, n*k), k)  # Sampel dari populasi normal
exponential_samples_100 = matrix(sample(exponential_population, n*k), k)  # Sampel dari populasi eksponensial
uniform_samples_100 = matrix(sample(uniform_population, n*k), k)  # Sampel dari populasi uniform
  • normal_samples_100, exponential_samples_100, dan uniform_samples_100 berisi sampel dengan ukuran 100 yang diambil dari populasi masing-masing (normal, eksponensial, dan uniform).

Menghitung Rata-Rata Sampel untuk n=100

# Menghitung rata-rata dari setiap sampel untuk n=100
normal_mean_100 = apply(normal_samples_100, 1, mean)  # Rata-rata dari sampel normal dengan n=100
exponential_mean_100 = apply(exponential_samples_100, 1, mean)  # Rata-rata dari sampel eksponensial dengan n=100
uniform_mean_100 = apply(uniform_samples_100, 1, mean)  # Rata-rata dari sampel uniform dengan n=100
  • normal_mean_100, exponential_mean_100, dan uniform_mean_100 berisi rata-rata dari setiap sampel yang diambil dari masing-masing populasi dengan ukuran sampel 100.

Visualisasi Hasil Rata-Rata Sampel (Histograms) untuk n=100

# Menampilkan histogram distribusi rata-rata sampel untuk n=100
hist(normal_mean_100, main = "Distribusi Rata-Rata Sampel (Normal, n=100)")   # Histogram untuk distribusi rata-rata sampel normal

hist(exponential_mean_100, main = "Distribusi Rata-Rata Sampel (Eksponensial, n=100)")   # Histogram untuk distribusi rata-rata sampel eksponensial

hist(uniform_mean_100, main = "Distribusi Rata-Rata Sampel (Uniform, n=100)")   # Histogram untuk distribusi rata-rata sampel uniform

  • Histogram ini menggambarkan distribusi rata-rata sampel untuk populasi normal, eksponensial, dan uniform dengan ukuran sampel n=100.
  • Efek CLT: Seperti yang kita lihat, distribusi rata-rata sampel mulai lebih mendekati distribusi normal meskipun populasi asalnya memiliki distribusi yang sangat berbeda (eksponensial atau uniform).

Perhitungan Rata-Rata dan Varians Sampel untuk n=100

# Menghitung rata-rata dan varians untuk distribusi rata-rata sampel dengan n=100
mean_data_100 = c(mean(normal_mean_100), mean(exponential_mean_100), mean(uniform_mean_100))
var_data_100 = c(var(normal_mean_100), var(exponential_mean_100), var(uniform_mean_100))

# Membuat data frame untuk menyimpan hasil rata-rata dan varians
summary_stats_100 = data.frame("Mean" = mean_data_100, "Variance" = var_data_100, row.names = c("Normal", "Eksponensial", "Uniform"))
print(summary_stats_100)
##                      Mean     Variance
## Normal       -0.002353551 0.0106844162
## Eksponensial  0.995431620 0.0098568859
## Uniform       0.499035811 0.0008397367
  • summary_stats_100 menunjukkan rata-rata dan varians untuk distribusi rata-rata sampel dengan ukuran n=100.
  • Ini memberi gambaran bagaimana CLT bekerja dengan ukuran sampel yang lebih besar, sehingga distribusi rata-rata sampel semakin mendekati distribusi normal meskipun distribusi asalnya berbeda.

Menyajikan Semua Sampel dalam Satu Gambar

Untuk membandingkan distribusi rata-rata sampel dari populasi normal, eksponensial, dan uniform untuk ukuran sampel n=10, n=30, dan n=100, kita bisa menggunakan tampilan grafis berikut:

# Menampilkan histogram distribusi rata-rata sampel untuk n=10, n=30, dan n=100 dalam satu tampilan
par(mfrow=c(3,3))  # Membagi tampilan menjadi 3x3 grid untuk visualisasi
hist(normal_mean_10, main = "Normal n=10", xlim = c(-2,2))
hist(normal_mean_30, main = "Normal n=30", xlim = c(-2,2))
hist(normal_mean_100, main = "Normal n=100", xlim = c(-2,2))

hist(exponential_mean_10, main = "Eksponensial n=10", xlim = c(0,2))
hist(exponential_mean_30, main = "Eksponensial n=30", xlim = c(0,2))
hist(exponential_mean_100, main = "Eksponensial n=100", xlim = c(0,2))

hist(uniform_mean_10, main = "Uniform n=10", xlim = c(0,1))
hist(uniform_mean_30, main = "Uniform n=30", xlim = c(0,1))
hist(uniform_mean_100, main = "Uniform n=100", xlim = c(0,1))

  • par(mfrow=c(3,3)): Mengatur tampilan grafik agar bisa menampilkan 9 histogram dalam satu grid 3x3.
  • Dengan ini, kita dapat melihat bagaimana distribusi rata-rata sampel dari populasi yang berbeda (normal, eksponensial, dan uniform) semakin mendekati distribusi normal seiring dengan peningkatan ukuran sampel (n = 10, 30, dan 100).

Kesimpulan Akhir

# Membuat kesimpulan akhir untuk rata-rata dan varians dengan ukuran sampel n=100
mean_data_final = c(mean(normal_mean_100), mean(exponential_mean_100), mean(uniform_mean_100))
var_data_final = c(var(normal_mean_100), var(exponential_mean_100), var(uniform_mean_100))

final_stats = data.frame("Mean" = mean_data_final, "Variance" = var_data_final, row.names = c("Normal", "Eksponensial", "Uniform"))
print(final_stats)
##                      Mean     Variance
## Normal       -0.002353551 0.0106844162
## Eksponensial  0.995431620 0.0098568859
## Uniform       0.499035811 0.0008397367
  • final_stats memberikan rata-rata dan varians dari distribusi rata-rata sampel untuk populasi normal, eksponensial, dan uniform dengan ukuran sampel n=100.
  • Kita dapat melihat lebih jelas bahwa semakin besar ukuran sampel, distribusi rata-rata sampel semakin mendekati distribusi normal.

Ringkasan

  • Dalam contoh ini, kita telah membuktikan Dalil Limit Pusat (CLT) dengan mengambil sampel dari populasi terhingga (normal, eksponensial, uniform). CLT menyatakan bahwa, meskipun distribusi populasi asalnya tidak normal, distribusi rata-rata sampel akan mendekati distribusi normal seiring dengan peningkatan ukuran sampel.
  • Kita melakukan percobaan dengan ukuran sampel n=10, n=30, dan n=100 dan melihat bagaimana distribusi rata-rata sampel semakin mendekati distribusi normal.

Soal Latihan

Instruksi:

  1. Tujuan:
    Dalam latihan ini, Anda akan mempelajari dan membandingkan distribusi rata-rata sampel dari beberapa distribusi yang berbeda, baik dengan populasi terhingga maupun tak terhingga. Distribusi yang akan Anda gunakan adalah distribusi Normal, Eksponensial, Uniform, dan Gamma(3,5).

  2. Langkah-langkah yang harus dilakukan:

    a. Persiapkan Populasi

    • Buat 4 populasi besar dengan ukuran 1.000.000 elemen masing-masing:

      • Populasi Normal (menggunakan rnorm(1000000))

      • Populasi Eksponensial (menggunakan rexp(1000000))

      • Populasi Uniform (menggunakan runif(1000000))

      • Populasi Gamma(3,5) (menggunakan rgamma(1000000, shape = 3, scale = 5))

    b. Ambil Sampel dari Populasi

    • Lakukan simulasi dengan mengambil 3 ukuran sampel yang berbeda: n = 5, n = 50, dan n = 500.

    • Ambil 1000 sampel untuk setiap ukuran sampel tersebut, dan hitung rata-rata dari setiap sampel.

    c. Distribusi Sampel

    • Untuk setiap populasi dan ukuran sampel (n = 5, n = 50, n = 500), buat histogram yang menunjukkan distribusi rata-rata sampel.

    • Setiap histogram harus diberi judul yang sesuai, seperti “Distribusi Rata-Rata Sampel Normal (n=5)”, “Distribusi Rata-Rata Sampel Eksponensial (n=50)”, dll.

    d. Perbandingan Hasil

    • Setelah Anda mendapatkan histogram untuk setiap distribusi (Normal, Eksponensial, Uniform, dan Gamma), bandingkan dan jelaskan perbedaannya.

    • Jelaskan bagaimana distribusi rata-rata sampel berubah dengan meningkatnya ukuran sampel (dari n=5, n=50, dan n=500).

    • Diskusikan apakah distribusi rata-rata sampel mulai mendekati distribusi normal seiring dengan bertambahnya ukuran sampel.

  3. Instruksi Pemrograman:

    • Gunakan set.seed(123) untuk memastikan hasil simulasi yang konsisten di setiap percobaan.

    • Gunakan fungsi sample() untuk mengambil sampel acak dari populasi.

    • Gunakan fungsi apply() untuk menghitung rata-rata sampel.

    • Gunakan histogram (hist()) untuk memvisualisasikan distribusi rata-rata sampel.