Skenario

Anda bekerja untuk agensi pemasaran yang memiliki spesialisasi dalam periklanan digital. Klien Anda, suatu perusahaan e-commerce populer, ingin menilai efektivitas kampanye iklan mereka baru-baru ini. Klien Anda telah mengumpulkan data tentang interaksi pengguna (rasio klik-impresi) untuk dua desain iklan yang berbeda: “Iklan A” dan “Iklan B”. Tujuannya adalah untuk menduga desain iklan mana yang memiliki performa lebih baik dalam hal interaksi pengguna.

Data

Pertanyaan

  1. Pengujian Hipotesis: Nyatakan hipotesis nol dan hipotesis alternatif untuk membandingkan rasio klikimpresi Iklan A dan Iklan B.
  2. Distribusi Sampling: Jelaskan mengapa kita menggunakan distribusi sampling dalam pengujian hipotesis.
  3. Simulasi Monte Carlo: Jelaskan bagaimana Anda akan menggunakan simulasi Monte Carlo untuk memperkirakan p-value untuk membandingkan rasio klik-impresi Iklan A dan Iklan B. Lakukan simulasi dan intrepretasikan hasilnya berdasarkan yang anda jelaskan!
  4. Resampling Bootstrap Jelaskan bagaimana resampling bootstrap dapat membantu kita menduga selang kepercayaan untuk perbedaan rasio klik-impresi antara Iklan A dan Iklan B. Lakukan simulasi dan intrepretasikan hasilnya berdasarkan yang anda jelaskan!

Jawaban

Hipotesis nol (\(H_0\)) : Tidak ada perbedaan yang signifikan dalam rasio klik-impresi antara Iklan A dan Iklan B. Secara matematis, dapat dinyatakan sebagai: \[ H_0 : pA = pB \]

Hipotesis alternatif (\(H_1\)) : Terdapat perbedaan yang signifikan dalam rasio klik-impresi antara Iklan A dan Iklan B. Secara matematis, dapat dinyatakan sebagai: \[ H_1 : pA ≠ pB \]

Keterangan: \(pA\) adalah rasio klik-impresi Iklan A \(pB\) adalah rasio klik-impresi Iklan B

# Data
x1 <- 100000  # jumlah impresi Iklan A
x2 <- 80000   # jumlah impresi Iklan B
y1 <- 2500    # jumlah klik Iklan A
y2 <- 2000    # jumlah klik Iklan B

# Menghitung rasio klik-impresi data
pA_hat <- y1 / x1
pB_hat <- y2 / x2

# Proporsi gabungan
p_hat <- (y1 + y2) / (x1 + x2)

# Standar error
se <- sqrt((pA_hat*(1-pA_hat)/x1)+(pB_hat*(1-pB_hat)/x2))

# Statistik uji
z_h <- (pA_hat - pB_hat) / se

# Nilai kritis untuk uji dua sisi pada tingkat signifikansi 0.05
alpha <- 0.05
z_alpha_2 <- qnorm(1 - alpha/2)

# Wilayah penolakan
reject_H0 <- abs(z_h) > z_alpha_2

# Hitung p-value (two-tailed test)
p_value <- 2 * (1 - pnorm(abs(z_h)))

# Tampilkan hasil
cat("Nilai z-h:", z_h, "\n")
## Nilai z-h: 0
cat("ujistat:", z_alpha_2, "\n")
## ujistat: 1.959964
cat("Reject H0:", reject_H0, "\n")
## Reject H0: FALSE
cat("Nilai p-value:", p_value, "\n")
## Nilai p-value: 1
# Statistik Uji
if (abs(z_h) > z_alpha_2) {
  cat("Kesimpulan Uji Statistik : Maka tolak H0.\n")
} else {
  cat("Kesimpulan Uji Statistik : Maka tak tolak H.\n")
}
## Kesimpulan Uji Statistik : Maka tak tolak H.
# Uji signifikansi dengan alpha = 0.05
alpha <- 0.05
if (p_value < alpha) {
  cat("Kesimpulan Uji Signifikansi : Maka tolak H0.\n")
} else {
  cat("Kesimpulan Uji Signifikansi : Maka tak tolak H0.\n")
}
## Kesimpulan Uji Signifikansi : Maka tak tolak H0.

Berdasarkan nilai statistik uji diketahui nilai p-value > 0.05, maka Tak Tolak H0. Artinya cukup bukti untuk menyatakan bahwa tidak ada perbedaan yang signifikan dalam rasio klik-impresi antara Iklan A dan Iklan B pada taraf nyata 5%.

Dalam pengujian hipotesis, distribusi sampling digunakan untuk memahami bagaimana statistik sampel (seperti rasio klik-impresi) berperilaku di bawah hipotesis nol. Penggunaan distribusi sampling dapat menentukan seberapa besar variasi yang dapat diharapkan dalam statistik sampel secara kebetulan. Ini membantu dalam menentukan apakah perbedaan yang diamati antara dua sampel (Iklan A dan Iklan B) cukup besar untuk menolak hipotesis nol, atau apakah perbedaan tersebut dapat disebabkan oleh variabilitas alami dalam data.

Simulasi Monte Carlo merupakan metode yang sering digunakan untuk memodelkan fenomena secara statistik dengan menggunakan teknik pengambilan sampel berulang. Dalam konteks ini, simulasi Monte Carlo digunakan untuk memperkirakan p-value dalam pengujian hipotesis mengenai rasio klik-impresi antara Iklan A dan Iklan B. Dengan melakukan replikasi berulang, kita dapat mengevaluasi kinerja estimasi dalam pengujian hipotesis. Simulasi Monte Carlo dapat digunakan dengan langkah-langkah berikut: a. Menghitung rasio klik-impresi untuk Iklan A dan Iklan B. b. Menghitung perbedaan rasio klik-impresi yang diamati c. Menjalankan simulasi Monte Carlo 1) Lakukan simulasi sebanyak 10000 kali 2) Membangkitkan sampel acak untuk Iklan A dan B dengan menggunakan distribusi Binomial 3) Menghitung rasio klik-impresi simulasi untuk Iklan A dan Iklan B 4) Menghitung perbedaan rasio sampel 5) Memeriksa apakah perbedaan sampel lebih ekstrem dari data d. Menghitung nilai p-value

# Mengatur jumlah simulasi
simulasi_mc <- 10000

# Data
x1 <- 100000  # jumlah impresi Iklan A
x2 <- 80000   # jumlah impresi Iklan B
y1 <- 2500    # jumlah klik Iklan A
y2 <- 2000    # jumlah klik Iklan B

# Menghitung rasio klik-impresi data
pA_hat <- y1 / x1
pB_hat <- y2 / x2

# Menghitung perbedaan rasio klik-impresi observasi
obs_diff <- pA_hat - pB_hat

# Inisialisasi counter untuk p-value
extreme_values <- 0

# Melakukan simulasi Monte Carlo
set.seed(023)
for (i in 1:simulasi_mc) {
  # Menghasilkan sampel acak untuk Iklan A dan B
  sample_A <- rbinom(1, x1, pA_hat)
  sample_B <- rbinom(1, x2, pB_hat)
  
  # Menghitung rasio klik-impresi sampel
  sample_ctr_A <- sample_A / x1
  sample_ctr_B <- sample_B / x2
  
  # Menghitung perbedaan rasio sampel
  sample_diff <- sample_ctr_A - sample_ctr_B
  
  # Memeriksa apakah perbedaan sampel lebih ekstrem dari observasi
  if (abs(sample_diff) >= abs(obs_diff)) {
    extreme_values <- extreme_values + 1
  }
}

# Menghitung p-value
p_value <- extreme_values / simulasi_mc

# Menampilkan p-value
cat("P-value:",p_value,"\n")
## P-value: 1

Berdasarkan simulasi Monte Carlo yang sudah dilakuakn, didapatkan nilai p-value sebesar 1. Dari hasil tersebut dapat disimpulkan tak tolak H0, artinya cukup bukti untuk menyatakan bahwa tidak ada perbedaan yang signifikan dalam rasio klik-impresi antara Iklan A dan Iklan B.

Resampling Bootstrap adalah metode berbasis resampling data sampel dengan syarat pengembalian pada datanya dalam menyelesaikan statistik ukuran suatu sampel dengan harapan sampel tersebut mewakili data populai sebenarnya, biasanya ukuran resampling diambil secara ribuan kali agar dapat mewakili data populasinya. Metode ini berbasis komputer untuk menetapkan ukuran akurasi untuk perkiraan statistik. Resampling Bootstrap dapat digunakan dengan langkah-langkah berikut: a. Menghitung rasio klik-impresi untuk Iklan A dan Iklan B. b. Menentukan parameter Bootstrap c. Menggunakan seed memastikan hasil yang sama setiap kali kode dijalankan. d. Membuat fungsi untuk menghitung rasio klik-impresi e. Menjalankan Resampling Bootstrap 1) Lakukan simulasi sebanyak 10000 kali 2) Mengambil sampel ulang dari data asli dengan penggantian 3) Menghitung rasio klik-impresi untuk masing-masing sampel bootstrap 4) Menghitung perbedaan rasio klik-impresi antara dua sampel bootstrap f. Menghitung selang kepercayaan 95% menggunakan distribusi dari perbedaan rasio klik-impresi bootstrap

# Mengatur jumlah bootstrap resamples
simulasi_boot <- 10000

# Data
x1 <- 100000  # jumlah impresi Iklan A
x2 <- 80000   # jumlah impresi Iklan B
y1 <- 2500    # jumlah klik Iklan A
y2 <- 2000    # jumlah klik Iklan B

# Bootstrap Parameters
delta_bootstrap <- numeric(simulasi_boot)

set.seed(023)

# Fungsi untuk menghitung rasio klik-impresi 
calc_ctr <- function(klik, impresi) {
  return(klik / impresi)
}

# Simulasi Bootstrap
for (i in 1:simulasi_boot) {
  # Resample dengan penggantian
  resample_A <- sample(c(rep(1, y1), rep(0, x1 - y1)), x1, replace = TRUE)
  resample_B <- sample(c(rep(1, y2), rep(0, x2 - y2)), x2, replace = TRUE)
  
  # Hitung rasio klik-impresi dari sampel bootstrap
  ctr_A_bootstrap <- calc_ctr(sum(resample_A), x1)
  ctr_B_bootstrap <- calc_ctr(sum(resample_B), x2)
  
  # Hitung selisih rasio klik-impresi
  delta_bootstrap[i] <- ctr_A_bootstrap - ctr_B_bootstrap
}
# Hitung selang kepercayaan 95%
ci_lower <- quantile(delta_bootstrap, 0.025)
ci_upper <- quantile(delta_bootstrap, 0.975)

cat("Selang kepercayaan 95% untuk perbedaan CTR: [", ci_lower, ", ", ci_upper,"]\n")
## Selang kepercayaan 95% untuk perbedaan CTR: [ -0.001460063 ,  0.0014125 ]

Selang kepercayaan 95% yang dihasilkan dari resampling bootstrap akan memberikan estimasi interval di mana perbedaan sebenarnya antara rasio klik-impresi Iklan A dan Iklan B kemungkinan besar berada. Jika selang kepercayaan mencakup nol, ini menunjukkan bahwa ada perbedaan yang signifikan antara dua iklan. Karena dari interval didapatkan [-0.001460063 , 0.0014125] dimana termuat angka nol, maka dapat diputuskan bahwa tak tolak H0, artinya cukup bukti untuk menyatakan bahwa ada perbedaan yang signifikan secara statistik antara dua rasio tersebut dengan tingkat kepercayaan 95%.