Wie berechnet man das ?
Verfasst: Fr Aug 05, 2022 3:00 pm
Hallo,
ein internetberühmter Psychologe sagt über Männer und Frauen: "Männer weisen höhere Aggressionswerte auf als Frauen. Wenn man einen Mann und eine Frau zieht, und Sie würden vorhersagen, dass der Mann der aggressivere ist, dann hätten Sie in 60% der Fälle Recht."
Dazu wollte ich gerne Simulationen rechnen und dabei ist mir aufgefallen, dass ich mich sehr schwer tue, die Verteilungsparameter zu der obenstehenden Aussage zu finden. Durch Ausprobieren weiß ich jetzt, dass ich zwei Normalverteilungen nehme, wobei eine ihren Mittelpunkt etwa 0,358 Standardabweichungen über der anderen liegt hat (tl:dr: Beispielcode ist für die eigentliche Frage irrelevant):
Frage: Hätte ich den Wert effektiver oder eleganter als durch Ausprobieren bestimmen können? Hätten mir pnorm und qnorm irgendwie geholfen? Ein Paket, von dem ich wissen sollte? Könnte man das o. g. Verhältnis so ausdrücken, dass ein Optimizer den Punkt besser findet?
Viele Grüße,
Bernhard
ein internetberühmter Psychologe sagt über Männer und Frauen: "Männer weisen höhere Aggressionswerte auf als Frauen. Wenn man einen Mann und eine Frau zieht, und Sie würden vorhersagen, dass der Mann der aggressivere ist, dann hätten Sie in 60% der Fälle Recht."
Dazu wollte ich gerne Simulationen rechnen und dabei ist mir aufgefallen, dass ich mich sehr schwer tue, die Verteilungsparameter zu der obenstehenden Aussage zu finden. Durch Ausprobieren weiß ich jetzt, dass ich zwei Normalverteilungen nehme, wobei eine ihren Mittelpunkt etwa 0,358 Standardabweichungen über der anderen liegt hat (tl:dr: Beispielcode ist für die eigentliche Frage irrelevant):
Code: Alles auswählen
library(ggplot2)
share <- function(delta, n = 5e6)
sum(rnorm(n, mean = 0, sd = 1) > rnorm(n, mean = delta, sd = 1))/n
delta <- c(seq(.356, .360, .0002))
Anteil <- sapply(delta, share)
ggplot(data.frame(delta, Anteil), aes(x=delta, y = Anteil)) +
geom_line() +
geom_smooth(method = "lm") +
geom_hline(aes(yintercept = .4), alpha = 1, lty = 2)
# test
n <- 1e6
frauen <- data.frame(sex = "w", aggression = rnorm(n, mean = 0, 1))
maenner <- data.frame(sex = "m", aggression = rnorm(n, mean = .358, 1))
gesellschaft <- rbind(frauen, maenner)
ggplot(gesellschaft) +
geom_density(aes(fill = sex, x = aggression), alpha = .2) +
geom_density(aes(color = sex, x = aggression))
replicate(10000, (sample(frauen$aggression, 100) < sample(maenner$aggression, 100)) |> sum()) |>
hist(25)
Viele Grüße,
Bernhard