Podría ayudarlo a darse cuenta de que el eje vertical se mide como una densidad de probabilidad . Entonces, si el eje horizontal se mide en km, entonces el eje vertical se mide como una densidad de probabilidad "por km". Supongamos que dibujamos un elemento rectangular en dicha cuadrícula, que tiene 5 "km" de ancho y 0.1 "por km" de alto (que tal vez prefiera escribir como "km "). El área de este rectángulo es de 5 km x 0.1 km = 0.5. Las unidades se cancelan y nos queda solo una probabilidad de la mitad.- 1- 1- 1
Si cambia las unidades horizontales a "metros", tendría que cambiar las unidades verticales a "por metro". El rectángulo ahora tendría 5000 metros de ancho y tendría una densidad (altura) de 0,0001 por metro. Aún te queda una probabilidad de la mitad. Es posible que se preocupe por lo extraño que se verán estos dos gráficos en la página en comparación entre sí (¿no tiene que ser mucho más ancho y más corto que el otro?), Pero cuando está dibujando físicamente las tramas, puede usar lo que sea escala que te gusta. Mire a continuación para ver qué poca rareza necesita estar involucrada.
Puede resultarle útil considerar los histogramas antes de pasar a las curvas de densidad de probabilidad. En muchos sentidos son análogos. El eje vertical de un histograma es la densidad de frecuencia [por unidad ]X y las áreas representan frecuencias, nuevamente porque las unidades horizontales y verticales se cancelan al multiplicarse. La curva PDF es una especie de versión continua de un histograma, con una frecuencia total igual a uno.
Una analogía aún más cercana es un histograma de frecuencia relativa : decimos que dicho histograma se ha "normalizado", de modo que los elementos de área ahora representan proporciones de su conjunto de datos original en lugar de frecuencias sin procesar, y el área total de todas las barras es una. Las alturas son ahora densidades de frecuencia relativas [por unidad ]X . Si un histograma de frecuencia relativa tiene una barra que corre a lo largo deXvalores de 20 km a 25 km (por lo que el ancho de la barra es de 5 km) y tiene una densidad de frecuencia relativa de 0.1 por km, entonces esa barra contiene una proporción de 0.5 de los datos. Esto corresponde exactamente a la idea de que un elemento elegido al azar de su conjunto de datos tiene un 50% de probabilidad de estar en esa barra. El argumento anterior sobre el efecto de los cambios en las unidades todavía se aplica: compare las proporciones de datos que se encuentran en la barra de 20 km a 25 km con la de la barra de 20,000 metros a 25,000 metros para estas dos parcelas. También puede confirmar aritméticamente que las áreas de todas las barras suman uno en ambos casos.
¿Qué podría haber querido decir con mi afirmación de que el PDF es una "especie de versión continua de un histograma"? Tomemos una pequeña franja bajo una curva de densidad de probabilidad, a lo largo de los valores de en el intervalo , de modo que la franja sea ancho, y la altura de la curva sea aproximadamente . Podemos dibujar una barra de esa altura, cuya área representa la probabilidad aproximada de estar en esa tira.[ x , x + δ x ] δ x f ( x ) f ( x )X[ x , x + δx ]δXF( x )F( x )δX
¿Cómo podríamos encontrar el área bajo la curva entre y ? Podríamos subdividir ese intervalo en pequeñas tiras y tomar la suma de las áreas de las barras, , que correspondería a la probabilidad aproximada de estar en el intervalo . Vemos que la curva y las barras no se alinean con precisión, por lo que hay un error en nuestra aproximación. Al hacer cada vez más pequeño para cada barra, llenamos el intervalo con barras más y más estrechas, cuya proporciona una mejor estimación del área.x = b ∑ f ( x )x = ax = b[ a , b ] δ x ∑ f ( x )∑ f( x )δX[ a , b ]δX∑ f( x )δX
Para calcular el área con precisión, en lugar de suponer que era constante en cada tira, evaluamos la integral , y esto corresponde a la verdadera probabilidad de estar en el intervalo . La integración sobre toda la curva da un área total (es decir, probabilidad total), por la misma razón que sumar las áreas de todas las barras de un histograma de frecuencia relativa da un área total (es decir, la proporción total) de uno. La integración es en sí misma una especie de versión continua de tomar una suma.∫ b a f ( x ) d x [ a , b ]F( x )∫siunF( x ) dX[ a , b ]
Código R para parcelas
require(ggplot2)
require(scales)
require(gridExtra)
# Code for the PDF plots with bars underneath could be easily readapted
# Relative frequency histograms
x.df <- data.frame(km=c(rep(12.5, 1), rep(17.5, 2), rep(22.5, 5), rep(27.5, 2)))
x.df$metres <- x.df$km * 1000
km.plot <- ggplot(x.df, aes(x=km, y=..density..)) +
stat_bin(origin=10, binwidth=5, fill="steelblue", colour="black") +
xlab("Distance in km") + ylab("Relative frequency density per km") +
scale_y_continuous(minor_breaks = seq(0, 0.1, by=0.005))
metres.plot <- ggplot(x.df, aes(x=metres, y=..density..)) +
stat_bin(origin=10000, binwidth=5000, fill="steelblue", colour="black") +
xlab("Distance in metres") + ylab("Relative frequency density per metre") +
scale_x_continuous(labels = comma) +
scale_y_continuous(minor_breaks = seq(0, 0.0001, by=0.000005), labels=comma)
grid.arrange(km.plot, metres.plot, ncol=2)
x11()
# Probability density functions
x.df <- data.frame(x=seq(0, 1, by=0.001))
cutoffs <- seq(0.2, 0.5, by=0.1) # for bars
barHeights <- c(0, dbeta(cutoffs[1:(length(cutoffs)-1)], 2, 2), 0) # uses left of bar
x.df$pdf <- dbeta(x.df$x, 2, 2)
x.df$bar <- findInterval(x.df$x, cutoffs) + 1 # start at 1, first plotted bar is 2
x.df$barHeight <- barHeights[x.df$bar]
x.df$lastBar <- ifelse(x.df$bar == max(x.df$bar)-1, 1, 0) # last plotted bar only
x.df$lastBarHeight <- ifelse(x.df$lastBar == 1, x.df$barHeight, 0)
x.df$integral <- ifelse(x.df$bar %in% 2:(max(x.df$bar)-1), 1, 0) # all plotted bars
x.df$integralHeight <- ifelse(x.df$integral == 1, x.df$pdf, 0)
cutoffsNarrow <- seq(0.2, 0.5, by=0.025) # for the narrow bars
barHeightsNarrow <- c(0, dbeta(cutoffsNarrow[1:(length(cutoffsNarrow)-1)], 2, 2), 0) # uses left of bar
x.df$barNarrow <- findInterval(x.df$x, cutoffsNarrow) + 1 # start at 1, first plotted bar is 2
x.df$barHeightNarrow <- barHeightsNarrow[x.df$barNarrow]
pdf.plot <- ggplot(x.df, aes(x=x, y=pdf)) +
geom_area(fill="lightsteelblue", colour="black", size=.8) +
ylab("probability density") +
theme(panel.grid = element_blank(),
axis.text.x = element_text(colour="black", size=16))
pdf.lastBar.plot <- pdf.plot +
scale_x_continuous(breaks=tail(cutoffs, 2), labels=expression(x, x+delta*x)) +
geom_area(aes(x=x, y=lastBarHeight, group=lastBar), fill="steelblue", colour="black", size=.8) +
annotate("text", x=0.73, y=0.22, size=6, label=paste("P(paste(x<=X)<=x+delta*x)%~~%f(x)*delta*x"), parse=TRUE)
pdf.bars.plot <- pdf.plot +
scale_x_continuous(breaks=cutoffs[c(1, length(cutoffs))], labels=c("a", "b")) +
geom_area(aes(x=x, y=barHeight, group=bar), fill="steelblue", colour="black", size=.8) +
annotate("text", x=0.73, y=0.22, size=6, label=paste("P(paste(a<=X)<=b)%~~%sum(f(x)*delta*x)"), parse=TRUE)
pdf.barsNarrow.plot <- pdf.plot +
scale_x_continuous(breaks=cutoffsNarrow[c(1, length(cutoffsNarrow))], labels=c("a", "b")) +
geom_area(aes(x=x, y=barHeightNarrow, group=barNarrow), fill="steelblue", colour="black", size=.8) +
annotate("text", x=0.73, y=0.22, size=6, label=paste("P(paste(a<=X)<=b)%~~%sum(f(x)*delta*x)"), parse=TRUE)
pdf.integral.plot <- pdf.plot +
scale_x_continuous(breaks=cutoffs[c(1, length(cutoffs))], labels=c("a", "b")) +
geom_area(aes(x=x, y=integralHeight, group=integral), fill="steelblue", colour="black", size=.8) +
annotate("text", x=0.73, y=0.22, size=6, label=paste("P(paste(a<=X)<=b)==integral(f(x)*dx,a,b)"), parse=TRUE)
grid.arrange(pdf.lastBar.plot, pdf.bars.plot, pdf.barsNarrow.plot, pdf.integral.plot, ncol=2)