¿Cómo calcular la probabilidad de la gráfica de densidad?

Aug 17 2020

Tengo la siguiente pregunta: ¿Es posible calcular la probabilidad de una gráfica de densidad?

Entonces, por ejemplo, tengo el siguiente marco de datos

 test<- data.frame(
  Gruppe = rep(c("Aktien","Aktien"), 
               times=c(136, 37)),
  Zufriedenheit = c(f_keineErf, f_Erf))

y trazo una gráfica de densidad, con la función ggplot:

 ggplot(test, aes(x=Zufriedenheit)) +geom_density()

¿Cómo puedo calcular la probabilidad, por ejemplo, de obtener un valor superior a 70?

¡Gracias!

Respuestas

2 AllanCameron Aug 17 2020 at 22:54

Sus datos no están incluidos en la pregunta, así que hagamos una pequeña muestra aleatoria:

library(ggplot2)

set.seed(69)

df <- data.frame(x = rnorm(10))

Ahora podemos crear una gráfica de densidad según su ejemplo:

p <- ggplot(df, aes(x)) + 
  geom_density() +
  xlim(c(-5, 5))

p

Ahora, podemos encontrar las coordenadas xey de esta línea usando la función base R densityy extrayendo sus componentes xey en un marco de datos:

dens <- density(df$x) d <- data.frame(x = dens$x, y = dens$y)

head(d)
#>           x            y
#> 1 -3.157056 0.0009453767
#> 2 -3.144949 0.0010145927
#> 3 -3.132841 0.0010870523
#> 4 -3.120733 0.0011665920
#> 5 -3.108625 0.0012488375
#> 6 -3.096517 0.0013382316

Podemos ver que trazar esto como un trazo rojo geom_linees lo mismo que geom_density:

p + geom_line(data = d, aes(x, y), col = "red", linetype = 2, size = 2) 

Ahora suponga que queremos conocer la probabilidad de tener un valor de más de uno. Podemos mostrar el área que nos interesa así:

p + geom_area(data = d[d$x >= 1,], aes(x, y), fill = "red")

Dado que los valores de x están todos igualmente espaciados en nuestro marco de datos d, entonces la proporción del área roja del área debajo de la línea es una razón simple de la suma de todos los valores de y en los valores de x mayores que uno a la gran suma de y:

sum(d$y[d$x > 1])/sum(d$y)
#> [1] 0.1599931

Entonces, la probabilidad de obtener un valor x de> 1 es 0.15999, o 16%

Creado el 17-08-2020 por el paquete reprex (v0.3.0)