Pendekatan @cram pasti akan berhasil. Dalam hal sifat ketergantungan itu agak membatasi sekalipun.
Metode lain adalah dengan menggunakan kopula untuk memperoleh distribusi bersama. Anda dapat menentukan distribusi marjinal untuk kesuksesan dan usia (jika Anda memiliki data yang ada ini sangat sederhana) dan keluarga kopula. Memvariasikan parameter kopula akan menghasilkan tingkat ketergantungan yang berbeda, dan berbagai keluarga kopula akan memberi Anda berbagai hubungan ketergantungan (mis. Ketergantungan ekor yang kuat).
Tinjauan umum melakukan ini di R melalui paket kopula tersedia di sini . Lihat juga diskusi dalam makalah itu untuk paket tambahan.
Namun Anda tidak perlu seluruh paket; inilah contoh sederhana menggunakan Gaussian copula, probabilitas keberhasilan marjinal 0,6, dan usia yang didistribusikan gamma. Bervariasi untuk mengontrol ketergantungan.
r = 0.8 # correlation coefficient
sigma = matrix(c(1,r,r,1), ncol=2)
s = chol(sigma)
n = 10000
z = s%*%matrix(rnorm(n*2), nrow=2)
u = pnorm(z)
age = qgamma(u[1,], 15, 0.5)
age_bracket = cut(age, breaks = seq(0,max(age), by=5))
success = u[2,]>0.4
round(prop.table(table(age_bracket, success)),2)
plot(density(age[!success]), main="Age by Success", xlab="age")
lines(density(age[success]), lty=2)
legend('topright', c("Failure", "Success"), lty=c(1,2))
Keluaran:
Meja:
success
age_bracket FALSE TRUE
(0,5] 0.00 0.00
(5,10] 0.00 0.00
(10,15] 0.03 0.00
(15,20] 0.07 0.03
(20,25] 0.10 0.09
(25,30] 0.07 0.13
(30,35] 0.04 0.14
(35,40] 0.02 0.11
(40,45] 0.01 0.07
(45,50] 0.00 0.04
(50,55] 0.00 0.02
(55,60] 0.00 0.01
(60,65] 0.00 0.00
(65,70] 0.00 0.00
(70,75] 0.00 0.00
(75,80] 0.00 0.00