Come si calcola la probabilità del grafico di densità?

Aug 17 2020

Ho la seguente domanda: è possibile calcolare una probabilità di un grafico di densità?

Quindi, ad esempio, ho il seguente frame di dati

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

e traccia un grafico di densità, con la funzione de ggplot:

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

Come posso calcolare la probabilità, ad esempio, di ottenere un valore superiore a 70?

Grazie!

Risposte

2 AllanCameron Aug 17 2020 at 22:54

I tuoi dati non sono inclusi nella domanda, quindi creiamo un piccolo campione casuale:

library(ggplot2)

set.seed(69)

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

Ora possiamo creare un grafico di densità come nel tuo esempio:

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

p

Ora, possiamo effettivamente trovare le coordinate xey di questa linea usando la funzione di base R densityed estraendo i suoi componenti xey in un data frame:

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

Possiamo vedere che tracciare questo come un tratteggio rosso geom_lineè lo stesso di geom_density:

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

Supponiamo ora di voler conoscere la probabilità di avere un valore maggiore di uno. Possiamo mostrare l'area che ci interessa in questo modo:

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

Poiché i valori x sono tutti equidistanti nel nostro frame di dati d, la proporzione dell'area rossa dell'area sotto la linea è un semplice rapporto tra la somma di tutti i valori y in valori x maggiori di uno rispetto alla somma complessiva di y:

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

Quindi la probabilità di ottenere un valore x di> 1 è 0,15999, o 16%

Creato il 17-08-2020 dal pacchetto reprex (v0.3.0)