@ocram Ansatz wird sicherlich funktionieren. In Bezug auf die Abhängigkeitseigenschaften ist es jedoch etwas restriktiv.
Eine andere Methode besteht darin, eine Kopula zu verwenden, um eine gemeinsame Verteilung abzuleiten. Sie können Randverteilungen für den Erfolg und das Alter (wenn Sie über Daten verfügen, ist dies besonders einfach) und eine Copula-Familie angeben. Wenn Sie die Parameter der Copula variieren, ergeben sich unterschiedliche Abhängigkeiten, und verschiedene Copulafamilien ergeben verschiedene Abhängigkeitsbeziehungen (z. B. starke Abhängigkeit vom oberen Schwanz).
Eine aktuelle Übersicht dazu in R über das Copula-Paket finden Sie hier . Weitere Informationen zu Paketen finden Sie auch in der Diskussion in diesem Dokument.
Sie brauchen jedoch nicht unbedingt ein ganzes Paket. Hier ist ein einfaches Beispiel mit einer Gaußschen Kopula, einer Grenzerfolgswahrscheinlichkeit von 0,6 und einem gammaverteilten Alter. Variiere r, um die Abhängigkeit zu kontrollieren.
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))
Ausgabe:
Tabelle:
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
Sie können das logistische Regressionsmodell simulieren .
Genauer gesagt, Sie können zunächst Werte für die Altersvariable generieren (z. B. mit einer Gleichverteilung) und dann mit Erfolgswahrscheinlichkeiten berechnen
Illustratives Beispiel in R:
quelle
Sie können zuerst die Erfolgs- / Fehlervariable generieren (X ) und generieren dann das Alter (Y. ) mit einer unterschiedlichen Verteilung in Abhängigkeit vom Wert von X . Das gibt Ihnen Korrelation.
Um die Korrelation zu quantifizieren, ist es am einfachsten, sie zu verschiebenY. nach dem Wert von X . Der Betrag, um den Sie verschieben, ist ein Maß für die Korrelation.
quelle