library(probs)
## Warning: package 'probs' was built under R version 4.4.3
##
## Attaching package: 'probs'
## The following objects are masked from 'package:base':
##
## intersect, setdiff, union
set.seed(876)
par(mfrow=c(3,1))
#1. TEOREMA LIMIT PUSAT
# Menentukan Jumlah Populasi
populasi = runif(20)
hist(populasi)
# Simulasi dengan n berbeda
# n = 2
contoh_unif1 = urnsamples(populasi, size = 2, replace = F, ordered = F)
mean_unif1 = matrix(apply(contoh_unif1, 1, mean))
# n = 10
contoh_unif3 = urnsamples(populasi, size = 10, replace = F, ordered = F)
mean_unif3 = matrix(apply(contoh_unif3, 1, mean))
# Visualisasi dengan Histogram
hist(mean_unif1, main = "Hampiran Normal (n = 2)", xlab = "xbar")
hist(mean_unif3, main = "Hampiran Normal (n = 10)", xlab = "xbar")
# Berdasarkan hasil simulasi dapat disimpulkan bahwa semakin besar
ukuran contoh sampel maka sebaran rata-rata dari contoh acak tersebut
semakin mendekati sebaran normal. Hal ini dibuktikan melalui histogram
di mana pada n yang kecil (n=2), bentuk distribusinya masih mengikuti
sebaran asalnya (seperti condong ke satu sisi). Namun, ketika n
meningkat (n=10), histogram cenderung membentuk kurva normal yang
simetris
# MEAN
# Populasi
set.seed(81)
populasi1 = rnorm(20)
mean_pop1 = mean(populasi1) # Parameter populasi
# Mengambil semua kemungkinan kombinasi contoh
sampel_normal1 = urnsamples(populasi1, size = 10, replace = F, ordered = F)
mean_normal1 = matrix(apply(sampel_normal1, 1, mean))
# Menghitung Nilai Harapan (E[Xbar])
harapan_mean_norm1 = mean(mean_normal1)
harapan_mean_norm1
## [1] -0.1048131
mean_pop1
## [1] -0.1048131
#Rataan (Mean): Nilai harapan rataan contoh terbukti sama persis dengan nilai parameter rataan populasi (μ) pada populasi terhingga. Ini berarti x bar adalah penduga tak bias bagi μ
# RAGAM
# Menghitung ragam populasi (sigma^2)
sigma2 = var(populasi1) * (19/20)
# Penduga dengan pembagi (n-1)
s2.n1 = matrix(apply(sampel_normal1, 1, var))
E.s2.n1 = mean(s2.n1)
s2.n = s2.n1 * (9/10)
E.s2.n = mean(s2.n)
# Membuat tabel perbandingan untuk melihat hasilnya
hasil_ragam = data.frame(
"Statistik" = c("Ragam Populasi (sigma^2)",
"Nilai Harapan Ragam (n-1)",
"Nilai Harapan Ragam (n)"),
"Nilai" = c(sigma2, E.s2.n1, E.s2.n)
)
print(hasil_ragam)
## Statistik Nilai
## 1 Ragam Populasi (sigma^2) 0.6132359
## 2 Nilai Harapan Ragam (n-1) 0.6455115
## 3 Nilai Harapan Ragam (n) 0.5809603