Dieser Abschnitt beschreibt die Erstellung von Wahrscheinlichkeitsdiagrammen in R sowohl für didaktische Zwecke als auch für die Datenanalyse.
Wahrscheinlichkeitsdarstellungen für Unterricht und Demonstration
Als ich als College-Professor Statistik unterrichtete, musste ich früher Normalverteilungen von Hand zeichnen. Sie sahen immer wie Kaninchen aus. Was soll ich sagen?
R macht es einfach, Wahrscheinlichkeitsverteilungen zu zeichnen und statistische Konzepte zu demonstrieren. Im Folgenden findest du einige der gängigsten Wahrscheinlichkeitsverteilungen, die in R verfügbar sind.
Vertrieb
R-Name
Vertrieb
R-Name
Beta
beta
Lognormal
lnorm
Binomisch
binom
Negatives Binomial
nbinom
Cauchy
cauchy
Normal
norm
Chisquare
chisq
Poisson
pois
Exponential
exp
Schüler t
t
F
f
Uniform
unif
Gamma
gamma
Tukey
tukey
Geometrisch
geom
Weibull
weib
Hypergeometrisch
hyper
Wilcoxon
wilcox
Logistik
logis
Eine umfassende Liste findest du unter Statistische Verteilungen im R-Wiki. Die für jede Verteilung verfügbaren Funktionen folgen diesem Format:
Name
Beschreibung
dname( )
Dichte oder Wahrscheinlichkeitsfunktion
pName( )
kumulative Dichtefunktion
qName( )
Quantilsfunktion
R_name_( )
Zufallsabweichungen
Zum Beispiel: pnorm(0) =0,5 (die Fläche unter der Standardnormalkurve links von Null). qnorm(0,9) = 1,28 (1,28 ist das 90. Perzentil der Standardnormalverteilung). rnorm(100) erzeugt 100 zufällige Abweichungen von einer Standardnormalverteilung.
Jede Funktion hat spezifische Parameter für diese Verteilung. Zum Beispiel erzeugt rnorm(100, m=50, sd=10) 100 Zufallsabweichungen von einer Normalverteilung mit Mittelwert 50 und Standardabweichung 10.
Du kannst diese Funktionen nutzen, um verschiedene Aspekte von Wahrscheinlichkeitsverteilungen zu demonstrieren. Im Folgenden werden zwei gängige Beispiele genannt.
# Display the Student's t distributions with various# degrees of freedom and compare to the normal distribution
x <- seq(-4,4, length=100)
hx <- dnorm(x)
degf <- c(1,3,8,30)
colors <- c("red","blue","darkgreen","gold","black")
labels <- c("df=1","df=3","df=8","df=30","normal")
plot(x, hx, type="l", lty=2, xlab="x value",
ylab="Density", main="Comparison of t Distributions")for(i in1:4){
lines(x, dt(x,degf[i]), lwd=2, col=colors[i])}
legend("topright", inset=.05, title="Distributions",
labels, lwd=2, lty=c(1,1,1,1,2), col=colors)Bereitgestellt von
# Children's IQ scores are normally distributed with a# mean of 100 and a standard deviation of 15. What# proportion of children are expected to have an IQ between# 80 and 120?
mean=100; sd=15
lb=80; ub=120
x <- seq(-4,4,length=100)*sd + mean
hx <- dnorm(x,mean,sd)
plot(x, hx, type="n", xlab="IQ Values", ylab="",
main="Normal Distribution", axes=FALSE)
i <- x >= lb & x <= ub
lines(x, hx)
polygon(c(lb,x[i],ub), c(0,hx[i],0), col="red")
area <- pnorm(ub, mean, sd)- pnorm(lb, mean, sd)
result <- paste("P(",lb,"< IQ <",ub,") =",
signif(area, digits=3))
mtext(result,3)
axis(1, at=seq(40,160,20), pos=0)Bereitgestellt von
Einen umfassenden Überblick über die Erstellung von Wahrscheinlichkeitsgrafiken in R findest du in Vincent Zonekynds Probability Distributions.
Anpassen von Verteilungen
Es gibt verschiedene Methoden zur Anpassung von Verteilungen in R. Hier sind einige Optionen.
Mit der Funktion qqnorm( ) kannst du eine Quantil-Quantil-Darstellung erstellen, die die Anpassung der Stichprobendaten an die Normalverteilung bewertet. Allgemeiner ausgedrückt: Die Funktion qqplot( ) erstellt ein Quantil-Quantil-Diagramm für jede theoretische Verteilung.
# Q-Q plots
par(mfrow=c(1,2))# create sample data
x <- rt(100, df=3)# normal fit
qqnorm(x);
qqline(x)# t(3Df) fit
qqplot(rt(1000,df=3), x, main="t(3) Q-Q Plot",
ylab="Sample Quantiles")
abline(0,1)Bereitgestellt von
Die Funktion fitdistr() im MASS-Paket ermöglicht die Anpassung von univariaten Verteilungen mit maximaler Wahrscheinlichkeit. Das Format ist fitdistr(x, Dichtefunktion), wobei x die Stichprobendaten sind und die Dichtefunktion eine der folgenden ist: "beta", "cauchy", "chi-squared", "exponentiell", "f", "gamma", "geometrisch", "log-normal""lognormal", "logistisch", "negativ binomial", "normal", "Poisson", "t" oder "weibull".
# Estimate parameters assuming log-Normal distribution# create some sample data
x <- rlnorm(100)# estimate paramters
library(MASS)
fitdistr(x,"lognormal")Bereitgestellt von
Schließlich verfügt R über eine breite Palette von Anpassungsfähigkeitstests, mit denen du prüfen kannst, ob es sinnvoll ist, anzunehmen, dass eine Stichprobe aus einer bestimmten theoretischen Verteilung stammt. Dazu gehören Chi-Quadrat, Kolmogorov-Smirnov und Anderson-Darling.
Dieser Abschnitt beschreibt die Erstellung von Wahrscheinlichkeitsdiagrammen in R sowohl für didaktische Zwecke als auch für die Datenanalyse.
Wahrscheinlichkeitsdarstellungen für Unterricht und Demonstration
Als ich als College-Professor Statistik unterrichtete, musste ich früher Normalverteilungen von Hand zeichnen. Sie sahen immer wie Kaninchen aus. Was soll ich sagen?
R macht es einfach, Wahrscheinlichkeitsverteilungen zu zeichnen und statistische Konzepte zu demonstrieren. Im Folgenden findest du einige der gängigsten Wahrscheinlichkeitsverteilungen, die in R verfügbar sind.
Eine umfassende Liste findest du unter Statistische Verteilungen im R-Wiki. Die für jede Verteilung verfügbaren Funktionen folgen diesem Format:
Zum Beispiel: pnorm(0) =0,5 (die Fläche unter der Standardnormalkurve links von Null). qnorm(0,9) = 1,28 (1,28 ist das 90. Perzentil der Standardnormalverteilung). rnorm(100) erzeugt 100 zufällige Abweichungen von einer Standardnormalverteilung.
Jede Funktion hat spezifische Parameter für diese Verteilung. Zum Beispiel erzeugt rnorm(100, m=50, sd=10) 100 Zufallsabweichungen von einer Normalverteilung mit Mittelwert 50 und Standardabweichung 10.
Du kannst diese Funktionen nutzen, um verschiedene Aspekte von Wahrscheinlichkeitsverteilungen zu demonstrieren. Im Folgenden werden zwei gängige Beispiele genannt.
Einen umfassenden Überblick über die Erstellung von Wahrscheinlichkeitsgrafiken in R findest du in Vincent Zonekynds Probability Distributions.
Anpassen von Verteilungen
Es gibt verschiedene Methoden zur Anpassung von Verteilungen in R. Hier sind einige Optionen.
Mit der Funktion qqnorm( ) kannst du eine Quantil-Quantil-Darstellung erstellen, die die Anpassung der Stichprobendaten an die Normalverteilung bewertet. Allgemeiner ausgedrückt: Die Funktion qqplot( ) erstellt ein Quantil-Quantil-Diagramm für jede theoretische Verteilung.
Die Funktion fitdistr( ) im MASS-Paket ermöglicht die Anpassung von univariaten Verteilungen mit maximaler Wahrscheinlichkeit. Das Format ist fitdistr(x, Dichtefunktion), wobei x die Stichprobendaten sind und die Dichtefunktion eine der folgenden ist: "beta", "cauchy", "chi-squared", "exponentiell", "f", "gamma", "geometrisch", "log-normal""lognormal", "logistisch", "negativ binomial", "normal", "Poisson", "t" oder "weibull".
Schließlich verfügt R über eine breite Palette von Anpassungsfähigkeitstests, mit denen du prüfen kannst, ob es sinnvoll ist, anzunehmen, dass eine Stichprobe aus einer bestimmten theoretischen Verteilung stammt. Dazu gehören Chi-Quadrat, Kolmogorov-Smirnov und Anderson-Darling.
Weitere Details zur Anpassung von Verteilungen findest du in Vito Riccis Fitting Distributions with R.
Zum Üben
Probiere diesen interaktiven Kurs zur explorativen Datenanalyse aus.