Es kann hilfreich sein, zu erkennen, dass die vertikale Achse als Wahrscheinlichkeitsdichte gemessen wird . Wenn also die horizontale Achse in km gemessen wird, wird die vertikale Achse als Wahrscheinlichkeitsdichte "pro km" gemessen. Nehmen wir an, wir zeichnen ein rechteckiges Element in ein solches Raster, das 5 km breit und 0,1 pro km hoch ist (was Sie vielleicht vorziehen, als "km - 1 " zu schreiben ). Die Fläche dieses Rechtecks beträgt 5 km x 0,1 km - 1 = 0,5. Die Einheiten fallen aus und wir haben nur noch eine halbe Wahrscheinlichkeit.- 1- 1
Wenn Sie die horizontalen Einheiten in "Meter" ändern, müssen Sie die vertikalen Einheiten in "pro Meter" ändern. Das Rechteck wäre jetzt 5000 Meter breit und hätte eine Dichte (Höhe) von 0,0001 pro Meter. Du hast immer noch eine halbe Wahrscheinlichkeit. Es könnte Sie stören, wie seltsam diese beiden Diagramme auf der Seite im Vergleich zueinander aussehen (muss eines nicht viel breiter und kürzer sein als das andere?), Aber wenn Sie die Diagramme physisch zeichnen, können Sie alles verwenden Skalieren Sie wie. Schauen Sie unten, um zu sehen, wie wenig Verrücktheit involviert sein muss.
Es kann hilfreich sein, Histogramme zu betrachten, bevor Sie mit Wahrscheinlichkeitsdichtekurven fortfahren. In vielerlei Hinsicht sind sie analog. Die vertikale Achse eines Histogramms ist die Frequenzdichte [pro Einheit],x und Flächen stellen Frequenzen dar, da sich horizontale und vertikale Einheiten bei der Multiplikation aufheben. Die PDF-Kurve ist eine Art kontinuierliche Version eines Histogramms mit einer Gesamtfrequenz von eins.
Eine noch engere Analogie ist ein relatives Frequenzhistogramm - wir sagen, ein solches Histogramm wurde "normalisiert", so dass Flächenelemente jetzt Proportionen Ihres ursprünglichen Datensatzes und keine Rohfrequenzen mehr darstellen und die Gesamtfläche aller Balken eins ist. Die Höhen sind nun relative Frequenzdichten [pro Einheit]x . Wenn ein relatives Frequenzhistogramm einen Balken hat, der entlang x verläuftxWerte von 20 km bis 25 km (die Breite des Balkens beträgt also 5 km) und eine relative Frequenzdichte von 0,1 pro km, dann enthält dieser Balken einen Anteil von 0,5 der Daten. Dies entspricht genau der Vorstellung, dass ein zufällig ausgewählter Artikel aus Ihrem Datensatz mit einer Wahrscheinlichkeit von 50% in dieser Leiste liegt. Das bisherige Argument zur Auswirkung von Einheitenänderungen gilt weiterhin: Vergleichen Sie für diese beiden Diagramme die Anteile der Daten im Bereich von 20 km bis 25 km mit denen im Bereich von 20.000 m bis 25.000 m. Sie können auch rechnerisch bestätigen, dass die Flächen aller Balken in beiden Fällen eins ergeben.
Was könnte ich mit meiner Behauptung gemeint haben, dass das PDF eine "Art fortlaufende Version eines Histogramms" ist? Nehmen wir einen kleinen Streifen unter einer Wahrscheinlichkeitsdichtekurve entlang Werten im Intervall [ x , x + δ x ] , damit der Streifen δ x breit ist und die Höhe der Kurve eine annähernd konstante f ( x ) ist . Wir können einen Balken dieser Höhe zeichnen, dessen Fläche f ( x )x[x,x+δx]δxf(x) repräsentiert die ungefähre Wahrscheinlichkeit, in diesem Streifen zu liegen.f(x)δx
Wie können wir die Fläche unter der Kurve zwischen und x = b finden ? Wir könnten dieses Intervall in kleine Streifen unterteilen und die Summe der Flächen der Balken nehmen, ∑ f ( x )x=ax=b , was der ungefähren Wahrscheinlichkeit entsprechen würde, in dem Intervall [ a , b ] zu liegen . Wir sehen, dass die Kurve und die Balken nicht genau ausgerichtet sind, so dass es einen Fehler in unserer Annäherung gibt. Indem wir δ x für jeden Balken kleiner und kleiner machen, füllen wir das Intervall mit mehr und schmaleren Balken, deren ∑ f ( x )∑f(x)δx[a,b]δx liefert eine bessere Schätzung der Fläche.∑f(x)δx
Um die Fläche genau zu berechnen, anstatt anzunehmen, dass über jeden Streifen konstant ist, wird das Integral ∫ b a f ( x ) d x ausgewertet , und dies entspricht der tatsächlichen Wahrscheinlichkeit, in dem Intervall [ a , b ] zu liegen. . Das Integrieren über die gesamte Kurve ergibt eine Gesamtfläche (dh eine Gesamtwahrscheinlichkeit) von eins, aus dem gleichen Grund, dass das Summieren der Flächen aller Balken eines relativen Frequenzhistogramms eine Gesamtfläche (dh einen Gesamtanteil) von eins ergibt. Integration ist selbst eine Art kontinuierliche Version der Summe.f(x)∫baf(x)dx[a,b]
R-Code für Grundstücke
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)