Softwareaufgaben
Aufgaben
1. Grundlagen und Skalenniveaus
Aufgabe 1.1
Betrachten Sie in R den Datensatz mtcars
und die dazugehörige Hilfeseite.
- Welche Skalenniveaus haben die einzelnen Spalten des Datensatzes?
Zur Lösung
2. Häufigkeiten und deren grafische Darstellung
Aufgabe 2.1
- Bestimmen Sie die absoluten und relativen Häufigkeiten der Werte aus den Spalten
cyl
,vs
,am
undgear
und visualisieren Sie diese. - Erstellen Sie eine geeignete Visualisierung der Häufigkeitsverteilung von
wt
,hp
undqsec
.
Zur Lösung
3. Lagemaße
Aufgabe 3.1
Laden Sie zunächst das Paket ggplot2
mit Hilfe des Befehls library(ggplot2)
1. Wir betrachten nun den Datensatz diamonds
.
- Bestimmen Sie, wie viel Karat die Diamanten im Durchschnitt aufweisen. Nutzen Sie dazu das arithmetische mittel und den Median. Vergleichen Sie beide Werte!
- Bestimmen Sie nun die Dezile für das Gewicht der Diamanten !
- Visualisieren Sie die Häufigkeitsverteilung der Gewichte der Diamanten mit Hilfe eines Boxplots.
Zur Lösung
Aufgabe 3.2
Betrachten Sie nun den Kurs des DAX zwischen 1991 und 1998 mit Hilfe des DAtensatzes EuStockMarkets[,"DAX"]
. Bestimmen Sie die durchschnittliche Wachstumsrate des DAX.
Zur Lösung
4. Streuungsmaße
Aufgabe 4.1
Wir betrachten wieder den Datensatz diamonds
.
- Bestimmen Sie die Streuung für die Preise der Diamanten. Nutzen Sie dafür ein geeignetes Streuungsmaß!
- Vergleichen Sie die arithemtischen Mittel und Standardabweichungen der Preise der Diamanten für die unterschiedlichen Schliffe (
cut
). Welcher Cut weist den höchsten Mittelwert, welcher die höchste Streuung auf? - Führen Sie dieselbe Analyse wie in Aufgabenteil b durch und nutzen Sie diesmal robuste Lage- und Streuungsmaße. Was fällt Ihnen auf?
Zur Lösung
Aufgabe 4.2
Gegeben sind folgende Boxplots, Histogramme und empirische Verteilungsfunktionen von 4 verschiedenen Datensätzen. Finden Sie heraus, welche der Abbildungen sich auf denselben Datensatz beziehen (Datensatz 1,2,3 oder 4).
Zur Lösung
5. Zusammenhangsmaße
Aufgabe 5.1
Wir betrachten wieder den Datensatz mtcars
.
- Bestimmen Sie die Korrelation zwischen der PS-Zahl (Spalte
hp
) und der Beschleunigung (Spalteqsec
). Wie interpretieren Sie das Ergebnis? - Bestimmen Sie einen geeignetes Zusammenhangsmaß für den Zusammenhang zwischen der Anzahl Zylinder (Spalte
cyl
) und der Anzahl Gänge (Spaltegear
) eines Fahrzeugs. - Gibt es einen Zusammenhang zwischen der Anzahl Gänge (Spalte
gear
) und der Tatsache, dass das Fahrzeug ein manuelles oder automatisches Getriebe (Spalteam
) besitzt?
Zur Lösung
Aufgabe 5.2
Betrachten Sie wieder den Datensatz diamonds
. Liegt ein Zusammenhang zwischen dem Gewicht eines Diamanten in Karat und dem Preis vor? Ist dieser Zusammenhang linear? Visualisieren Sie sich zur Beantwortung der Frage die Daten in geeigneter Form.
Zur Lösung
6. Lineare Regression
Aufgabe 6.1
Wir betrachten wieder den Datensatz mtcars
.
- Bestimmen Sie die Regressionsgerade für die Zielvariable
mpg
(Miles per Gallon; also der Verbrauch) in Abhängigkeit voncyl
(Anzahl Zylinder),disp
(Hubraum) undhp
(PS). Wie lauten die Koeffizienten der Regressionsgerade und wie interpretieren Sie diese? - Was können Sie über das Bestimmtheitsmaß aussagen?
- Falls Sie nun ein neues Fahrzeug mit 8 Zylindern, 200 Kubikinches Hubraum und 150 PS berücksichtigen, welchen Verbrauch (in Meilen pro Gallone) können Sie erwarten?
Zur Lösung
Aufgabe 6.2
Verwenden sie nun den in R integrierten Datensatz trees
, der Informationen über den Durchmesser, die Höhe und das Volumen von 31 gefällten Schwarzkiefern enthält.
- Erstellen Sie ein lineares Regressionsmodell, um das Volumen der Bäume anhand ihres Durchmessers vorherzusagen.
- Berechnen die Regressionskoeffizienten und das Bestimmtheitsmaß und interpretieren Sie diese.
- Visualisieren Sie die Daten sowie die Regressionsgerade.
Zur Lösung
Aufgabe 6.3
Verwenden Sie den in R integrierten Datensatz iris
, der Informationen über die Länge und Breite der Kelchblätter (Sepal) und Blütenblätter (Petal) von 150 Iris-Blumen aus drei verschiedenen Arten enthält.
- Erstellen Sie ein lineares Regressionsmodell, um die Petal Length (Blütenblattlänge) anhand der Sepal Length (Kelchblattlänge) vorherzusagen. Berechnen Sie die Regressionskoeffizienten und das Bestimmtheitsmaß.
- Zeichnen Sie zudem ein Streudiagramm mit der Regressionsgeraden.
Zur Lösung
7. Wahrscheinlichkeiten
Aufgabe 7.1
Nutzen Sie R und die Funktion sample
, um die den Absolutbetrag der Differenz von 10000 Würfen mit zwei Würfeln zu bestimmen. Bestimmen und visualisieren Sie die Häufigkeiten, mit der die unterschiedlichen Ereignisse auftreten.
Zur Lösung
Aufgabe 7.2
Nutzen Sie R und die Funktion sample
, um die Anzahl Kopf bei einem 10-fachen Münzwurf zu bestimmen. Gehen Sie dabei davon aus, dass die Münzen gezinkt sind und die Wahrscheinlichkeit für Kopf bei jedem Wurf 0,7 beträgt. Führen Sie dieses Experiment 10000 mal durch, bestimmen und visualisieren Sie die Häufigkeiten, mit der die unterschiedlichen Ereignisse für die Anzahl Kopf auftreten.
Hinweis: Erstellen Sie eine Matrix mit 10 Spalten und 10000 Zeilen, welche die Ergebnisse der Münzwürfe enthält. Dabei sei Kopf = 1 und Zahl = 0. Verwenden Sie dann die Funktion rowSums
um die Summe je Zeile zu berechnen.
Zur Lösung
8. Zufallsvariablen
Aufgabe 8.1
Bestimmen Sie mit Hilfe von R und der Funktion dbinom
die Wahrscheinlichkeiten, in 10 Würfen x
Sechsen zu werfen. Zeichnen Sie zu dieser Zufallsvariable die Wahrscheinlichkeitsfunktion.
Zur Lösung
Aufgabe 8.2
Die Dauer (in Minuten) eines Anrufs bei einem Kundensupport-Service folgt einer normalverteilten Zufallsvariablen mit einem Durchschnitt von 8 Minuten und einer Standardabweichung von 2 Minuten. Berechnen Sie mit R schreiben, die Wahrscheinlichkeit, dass ein Anruf länger als 10 Minuten dauert.
Zur Lösung
Aufgabe 8.3
Die Zufallsvariable \(X\) habe die folgende Dichtefunktion: \[ f(x) = \begin{cases} 3x^2 & x\in [0{;}1] \\ 0 & \text{sonst.} \end{cases} \] Bestimmen Sie mit Hilfe von R die Wahrscheinlichkeit \(P(X\in[0{,}2{;}0{,}4])\)
Zur Lösung
Aufgabe 8.4
Erzeugen Sie 1.000 Poisson-verteilte Zufallszahlen mit erwarteter Häufigkeit \(\lambda = 5\) und visualisieren Sie deren Häufigkeitsverteilung. Vergleichen Sie diese mit der dazugehörigen Wahrscheinlichkeitsverteilung.
Zur Lösung
Aufgabe 8.5
Erzeugen Sie 1.000 exponentialverteilte Zufallszahlen mit Ereignisrate \(\lambda = 2\) und visualisieren Sie deren Häufigkeitsverteilung. Vergleichen Sie diese mit der dazugehörigen Wahrscheinlichkeitsverteilung.
Zur Lösung
Aufgabe 8.6
Bestimmen Sie folgende Wahrscheinlichkeiten mit Hilfe von R für eine Zufallsvariable \(X\sim\text{N}(5,9)\)
- \(P(X\leq 5)\)
- \(P(0\leq X < 5)\)
- \(P(X>7)\)
Zur Lösung
Aufgabe 8.7
Sei \(X\sim\text{Bin}(n = 20, p = 0.3)\).
- Berechnen Sie \(P(X=10)\)
- Berechnen Sie \(P(4\leq X < 10)\)
- Für welche Realisation \(x\) gilt \(P(X\leq x) = 0.95\)
Zur Lösung
9. Punktschätzung
Aufgabe 9.1
Simulieren Sie mit Hilfe der sample
Funktion einen Münzwurf, der 100 Mal wiederholt wird. Schätzen Sie nach 1,2,3,4,5,… Mal jeweils die Wahrscheinlichkeit für eine Seite (z.B. Kopf) durch das arithmetische Mittel und Visualisieren Sie den Verlauf der Schätzung über die 100 Versuche.
Zur Lösung
Aufgabe 9.2
Erzeugen Sie 1.000 standardnormalverteilte Zufallszahlen. Schätzen Sie zunächst mit 1,2,3,4,5,… dieser Zahlen jeweils die Varianz mit Hilfe des erwartungstreuen Schätzers \[ S^2 = \frac{1}{n-1}\sum_{i=1}^n (X_i-\bar{X})^2. \] Visualisieren Sie den Verlauf der Schätzung über die 10000 Versuche.
Zur Lösung
10. Intervallschätzung
Aufgabe 10.1
Bestimmen Sie ein Konfidenzintervall zum Niveau \(1-\alpha=0{,}95\) für die Reichweite (mpg
) der Fahrzeuge aus dem Datensatz mtcars
. Wie Interpretieren Sie Ihr Ergebnis? Welche Annahme müssen Sie für die Berechnung treffen?
Zur Lösung
Aufgabe 10.2
Erzeugen Sie 100 binomialverteilte Zufallszahlen mit \(n=1\) und \(p=0{,}3\). Bestimmen Sie anschließend ein Konfidenzintervall zum Niveau \(1-\alpha = 0{,}95\). Liegt der gesuchte Parameter (\(p=0{,}3\)) tatsächlich im Konfidenzintervall?
Zur Lösung
Aufgabe 10.3
Wie groß müsste der Stichprobenumfang in Aufgabe 1.10.2 sein, damit das Konfidenzintervall nicht breiter als 0,1 ist? Führen Sie anschließend die Schritte aus Aufgabe 1.10.2 noch einmal mit dem neuen Stichprobenumfang durch und überprüfen Sie die Länge des Konfidenzintervalls!
Zur Lösung
Lösungen
1. Grundlagen und Skalenniveaus
Aufgabe 1.1
Spalte Skalenniveau mpg metrisch (stetig) cyl metrisch (diskret) disp metrisch (stetig) hp metrisch (stetig) drat metrisch (stetig) wt metrisch (stetig) qsec metrisch (stetig) vs nomnial am nominal gear metrisch (diskret) carb metrisch (diskret)
2. Häufigkeiten und deren grafische Darstellung
Aufgabe 2.1
# Absolute und relative Häufigkeiten 'cyl' table(mtcars$cyl)
4 6 8 11 7 14
prop.table(table(mtcars$cyl))
4 6 8 0.34375 0.21875 0.43750
barplot(table(mtcars$cyl))
# Absolute und relative Häufigkeiten 'vs' table(mtcars$vs)
0 1 18 14
prop.table(table(mtcars$vs))
0 1 0.5625 0.4375
barplot(table(mtcars$vs))
# Absolute und relative Häufigkeiten 'am' table(mtcars$am)
0 1 19 13
prop.table(table(mtcars$am))
0 1 0.59375 0.40625
barplot(table(mtcars$am))
# Absolute und relative Häufigkeiten 'gear' table(mtcars$gear)
3 4 5 15 12 5
prop.table(table(mtcars$gear))
3 4 5 0.46875 0.37500 0.15625
barplot(table(mtcars$gear))
# Histogramm 'wt' hist(mtcars$wt)
# Histogramm 'hp' hist(mtcars$hp)
# Histogramm 'qsec' hist(mtcars$qsec)
3. Lagemaße
Aufgabe 3.1
arithmetisches Mittel:
library(ggplot2) mean(diamonds$carat)
[1] 0.7979397
Median:
median(diamonds$carat)
[1] 0.7
Dezile:
quantile(diamonds$carat, probs = seq(0,1,0.1))
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 0.20 0.31 0.35 0.42 0.53 0.70 0.90 1.01 1.13 1.51 5.01
Boxplot:
boxplot(diamonds$carat)
Aufgabe 3.2
Berechnung:
<- EuStockMarkets[,"DAX"]
DAX <- length(DAX)
n
# Bestimmung der Wachsumsraten
<- diff(DAX)/DAX[-n]
wachstumsraten
# Ableitung der Wachstumsfaktoren
<- wachstumsraten + 1
wachstumsfaktoren
# Berechnung des geometrischen Mittel
<- prod(wachstumsfaktoren)^(1/(n-1))
durchschn_wachstumsfaktor <- durchschn_wachstumsfaktor-1
durchschn_wachstumsrate durchschn_wachstumsrate
[1] 0.0006522544
Die durchschnittliche Wachstumsrate des DAX beträgt also 0.07%
4. Streuungsmaße
Aufgabe 4.1
Varianz und Standardabweichung der Diamantenpreise:
library(ggplot2) var(diamonds$price)
[1] 15915629
sd(diamonds$price)
[1] 3989.44
Berechnung der arithmetischen Mittel je nach
cut
:mean(diamonds$price[diamonds$cut == "Fair"])
[1] 4358.758
mean(diamonds$price[diamonds$cut == "Good"])
[1] 3928.864
mean(diamonds$price[diamonds$cut == "Very Good"])
[1] 3981.76
mean(diamonds$price[diamonds$cut == "Premium"])
[1] 4584.258
mean(diamonds$price[diamonds$cut == "Ideal"])
[1] 3457.542
Berechnung der Standardabweichungen je nach
cut
:sd(diamonds$price[diamonds$cut == "Fair"])
[1] 3560.387
sd(diamonds$price[diamonds$cut == "Good"])
[1] 3681.59
sd(diamonds$price[diamonds$cut == "Very Good"])
[1] 3935.862
sd(diamonds$price[diamonds$cut == "Premium"])
[1] 4349.205
sd(diamonds$price[diamonds$cut == "Ideal"])
[1] 3808.401
Mittelwert und Streuung sind für den Cut “Premium” am höchsten. Die durchschnittlichen Preise steigen nicht mit der Qualität des Cuts konsistent an.
Berechnung der Mediane je nach
cut
:median(diamonds$price[diamonds$cut == "Fair"])
[1] 3282
median(diamonds$price[diamonds$cut == "Good"])
[1] 3050.5
median(diamonds$price[diamonds$cut == "Very Good"])
[1] 2648
median(diamonds$price[diamonds$cut == "Premium"])
[1] 3185
median(diamonds$price[diamonds$cut == "Ideal"])
[1] 1810
Berechnung der Standardabweichungen je nach
cut
:mad(diamonds$price[diamonds$cut == "Fair"], constant = 1)
[1] 1472.5
mad(diamonds$price[diamonds$cut == "Good"], constant = 1)
[1] 1924.5
mad(diamonds$price[diamonds$cut == "Very Good"], constant = 1)
[1] 1926
mad(diamonds$price[diamonds$cut == "Premium"], constant = 1)
[1] 2274
mad(diamonds$price[diamonds$cut == "Ideal"], constant = 1)
[1] 1100
Die Mediane sind geringer als die arithmetischen Mittel, was auf wenige Diamanten mit sehr hohen Preisen (Ausreißer) hindeutet. Darüber hinaus zeigt sich das gleiche Bild: Mittelwert und Streuung sind für den Cut “Premium” am höchsten.
Aufgabe 4.2
- Datensatz 1: Histogramm 1, Boxplot 4, Empirische Verteilungsfunktion 1
- Datensatz 2: Histogramm 2, Boxplot 2, Empirische Verteilungsfunktion 3
- Datensatz 3: Histogramm 3, Boxplot 1, Empirische Verteilungsfunktion 4
- Datensatz 4: Histogramm 4, Boxplot 3, Empirische Verteilungsfunktion 2
5. Zusammenhangsmaße
Aufgabe 5.1
Korrelation zwischen der PS-Zahl (Spalte
hp
) und der Beschleunigung (Spalteqsec
)cor(mtcars$hp, mtcars$qsec, method = "pearson")
[1] -0.7082234
Es liegt also ein starker negativer Zusammenhang vor, d.h. je mehr PS ein Fahrzeug hat, umso weniger Sekunden benötigt das Fahrzeug, um eine Viertelmeile zurück zu legen.
Zusammenhang zwischen der Anzahl Zylinder (Spalte
cyl
) und der Anzahl Gänge (Spaltegear
):cor(mtcars$cyl, mtcars$gear, method = "spearman")
[1] -0.5643105
cor(mtcars$cyl, mtcars$gear, method = "kendall")
[1] -0.5125435
Da es sich bei den Merkmalen um ordinalskalierte Variablen handelt, verwenden wir Spearmans \(\rho\) oder Kendalls \(\tau\). Beide deuten auf einen starken negativen Zusammenhang hin, d.h. je höher die Anzahl Zylinder eines Fahrzeugs, umso geringer die Anzahl der Gänge.
Zusammenhang zwischen der Anzahl Gänge (Spalte
gear
) und der Tatsache, dass das Fahrzeug ein manuelles oder automatisches Getriebe (Spalteam
) besitzt:# Kontingenztafel der beiden Merkmale <- table(Gears = mtcars$gear, Transmission = mtcars$am) tbl_mtcars tbl_mtcars
Transmission Gears 0 1 3 15 0 4 4 8 5 0 5
Berechnung des \(\chi^2\)-Koeffizienten und Cramérs V:
# Bestimmung X^2 <- chisq.test(tbl_mtcars) chi_sq $statistic chi_sq
X-squared 20.94467
# Anzahl Beobachtungen und Zeilen/Spalten <- nrow(mtcars) n <- min(dim(tbl_mtcars)) k # Cramers V berechnen <- sqrt(chi_sq$statistic/(n*(k-1))) cramers_v as.numeric(cramers_v)
[1] 0.8090247
Es liegt also ein starker Zusammenhang zwischen der Anzahl Gänge eines Fahrzeugs und der Getriebeart vor.
Aufgabe 5.2
Zunächst berechnen wir die Korrelation der beiden metrischen Merkmale:
library(ggplot2)
# Berechnung der Pearson Korrelation
cor(diamonds$carat, diamonds$price)
[1] 0.9215913
Der Korrelationskoeffizient liegt bei \(r_{xy} = 0,92\). Es liegt also ein starker positiver linearer Zusammenhang vor, d.h. je schwerer ein Diamant, umso teurer ist er auch.
Nun visualisieren wir uns beide Merkmale, um die Form des Zusammenhangs ablesen zu können.
# Visualisierung
plot(x = diamonds$carat, y = diamonds$price,
xlab = "Gewicht in Karat",
ylab = "Preis in USD")
Der Zusammenhang scheint nicht linear zu sein, sondern vielmehr quadratisch oder exponentiell. Mit steigendem Gewicht steigt der Preis nicht linear an, sondern überproportional.
# Visualisierungn nach Logarithmierung
plot(x = log(diamonds$carat), y = log(diamonds$price),
xlab = "Gewicht in Log(Karat)",
ylab = "Preis in Log(USD)")
Logarithmiert man Gewicht und Preis, erscheint der Zusammenhang linear.
# Berechnung der Pearson Korrelation
cor(log(diamonds$carat), log(diamonds$price))
[1] 0.9659137
Die Korrelation beträgt dann sogar \(r_{xy} = 0,97\).
6. Lineare Regression
Aufgabe 6.1
- Wir bestimmen die Regressionsgerade:
# Bestimmung der Regressionsgerade
<- lm(mpg~cyl+disp+hp, data = mtcars)
reg_modell reg_modell
Call:
lm(formula = mpg ~ cyl + disp + hp, data = mtcars)
Coefficients:
(Intercept) cyl disp hp
34.18492 -1.22742 -0.01884 -0.01468
Die Parameter für Zylinder, Hubraum und PS sind negativ, d.h. die Anzahl Meilen, die mit einer Gallone Benzin zurückgelegt werden kann, sinkt bei steigender Anzahl Zylinder, Hubraum oder PS. Der Achsenabschnitt liegt bei ca. 34.18, d.h. ein hypothetisches Fahrzeug mit 0 Zylindern, 0 Hubraum und 0 PS würde ca. 34,18 Meilen pro Gallone schaffen. Solch ein Fahrzeug exisitert aber natürlich nicht.
- Wir bestimmen das Bestimmtheitsmaß:
summary(reg_modell)$r.squared
[1] 0.7678877
Das Bestimmtheitsmaß hat einen Wert von ca. 77%. D.h. 77% der Varianz des Verbrauchst lässt sich durch die drei unabhängigen Merkmale erklären. Das Regressionsmodell scheint also den Verbrauch gut zu repräsentieren.
- Vorhersage mit R:
<- data.frame(cyl = 8,
mtcars_new disp = 200,
hp = 150)
predict(reg_modell, newdata = mtcars_new)
1
18.39604
Es wären 18,39 Meile pro Gallone zu erwarten.
Aufgabe 6.2
- Wir bestimmen die Regressionsgerade:
# Erstellen eines linearen Regressionsmodells
<- lm(Volume ~ Girth, data = trees) model
- Wir bestimmen das Bestimmtheitsmaß:
# Ausgabe der Regressionskoeffizienten
coef(model)
(Intercept) Girth
-36.943459 5.065856
# Berechnung des Bestimmtheitsmaßes
summary(model)$r.squared
[1] 0.9353199
Der Achsenabschnitt beträgt ca. -37, d.h. bei einem Baum mit einem Durchmesser von 0 Inch wäre ein Volumen von -37 Kubikfeet zu erwarten. Der Steigungskoeffizient beträgt ca. 5, d.h. pro zusätzlichem Inch an Durchmesser nimmt das Volumen der Bäume um 5 Kubikfeet zu. Der Wert des Bestimmtheitsmaßes liegt bei ca. 94%, d.h. die Regressionsgerade repräsentiert die Beobachtungen gut und es werden ca. 94% der Varianz der Volumina durch die Durchmesser erklärt.
- Visualisierung
plot(x = trees$Girth, y = trees$Volume,
pch = 19,
xlab = "Durchmesser",
ylab = "Volumen",
cex.lab = 2,
cex.axis = 2)
abline(model, col = "red")
Aufgabe 6.3
- Wir bestimmen die Regressionsgerade:
# Erstellen eines linearen Regressionsmodells
<- lm(Petal.Length ~ Sepal.Length, data = iris) model
- Wir bestimmen das Bestimmtheitsmaß:
# Ausgabe der Regressionskoeffizienten
coef(model)
(Intercept) Sepal.Length
-7.101443 1.858433
# Berechnung des Bestimmtheitsmaßes
summary(model)$r.squared
[1] 0.7599546
Der Achsenabschnitt beträgt ca. -7,1, d.h. bei einer Blume mit einer Kelchblattlänge von 0 wäre eine Blütenblattlänge von ca. -7,1 zu erwarten. Der Steigungskoeffizient beträgt ca. 1,85, d.h. pro zusätzlichem Zentimeter der Kelchblattlänge nimmt die Blütenblattlänge um 1,85 cm zu. Der Wert des Bestimmtheitsmaßes liegt bei ca. 76%, d.h. die Regressionsgerade repräsentiert die Beobachtungen gut und es werden ca. 76% der Varianz der Blütenblattlänge durch die Kelchblattlänge erklärt.
- Visualisierung
plot(x = iris$Sepal.Length, y = iris$Petal.Length,
pch = 19,
xlab = "Durchmesser",
ylab = "Volumen",
cex.lab = 2,
cex.axis = 2)
abline(model, col = "red")
7. Wahrscheinlichkeiten
Aufgabe 7.1
# Würfeln mit zwei Würfeln
<- sample(1:6, 10000, replace = TRUE)
w1 <- sample(1:6, 10000, replace = TRUE)
w2
# Berechnung des Absolutbetrags der Differenz beider Würfel
<- abs(w1-w2)
w
# Berechung der absoluten und relativen Häufigkeiten
table(w)
w
0 1 2 3 4 5
1635 2719 2284 1683 1129 550
prop.table(table(w))
w
0 1 2 3 4 5
0.1635 0.2719 0.2284 0.1683 0.1129 0.0550
# Visualisierung
plot(prop.table(table(w)), type = "h",
xlab = "Absolutbetrag der Differenz der Würfelzahlen",
ylab = "relative Häufigkeit des Auftretens")
Aufgabe 7.2
# Werfen der Münzen (Kopf = 1, Zahl = 0)
<- sample(c(1,0), 10000*10, replace = TRUE, prob = c(0.7,0.3))
muenzen <- matrix(muenzen, ncol = 10, nrow = 10000)
muenzen
# Berechnung der Anzahl Kopf je Durchlauf
<- rowSums(muenzen)
anz_kopf
# Berechung der absoluten und relativen Häufigkeiten
table(anz_kopf)
anz_kopf
0 2 3 4 5 6 7 8 9 10
1 20 81 359 1045 1977 2667 2309 1254 287
prop.table(table(anz_kopf))
anz_kopf
0 2 3 4 5 6 7 8 9 10
0.0001 0.0020 0.0081 0.0359 0.1045 0.1977 0.2667 0.2309 0.1254 0.0287
# Visualisierung
plot(prop.table(table(anz_kopf)), type = "h",
xlab = "Anzahl Kopf beim 10-fachen Münzwurf",
ylab = "relative Häufigkeit des Auftretens")
8. Zufallsvariablen
Aufgabe 8.1
Lösung
# Berechnung der Wahrscheinlichkeiten
<- 0:10
x <- dbinom(x, size = 10, prob = 1/6)
p
# Zeichnen der Wahrscheinlichkeitsfunktion
plot(x,p, type = "h")
points(x, p, pch = 19)
Aufgabe 8.2
Lösung
# Berechnung der Wahrscheinlichkeit
1-pnorm(10, mean = 8, sd = 2)
[1] 0.1586553
Aufgabe 8.3
Lösung
Für \(x\in[0{;}1]\) lautet die Verteilungsfunktion \(F(x)=x^3\).
# Berechnung der Wahrscheinlichkeit
0.4^3-0.2^3
[1] 0.056
Aufgabe 8.4
# Erzeugen der Zufallszahlen
<- rpois(1000, lambda = 5)
zz
# Visualisierung der Häufigkeitsverteilung
plot(prop.table(table(zz)),
type = "h", lwd = 2)
# Vergleich mit der Wahrscheinlichkeitsverteilung
points(0:14+0.3, dpois(0:14, lambda = 5),
type = "h", col = "red", lwd = 2)
Aufgabe 8.5
# Erzeugen der Zufallszahlen
<- rexp(1000, rate = 2)
zz
# Visualisierung der Häufigkeitsverteilung
hist(zz, breaks = 20, freq = FALSE)
# Vergleich mit der Wahrscheinlichkeitsverteilung
lines(seq(0,4,0.01), dexp(seq(0,4,0.01), rate = 2),
col = "red")
Aufgabe 8.6
# a
pnorm(5, mean = 5, sd = 3)
[1] 0.5
# b
pnorm(5, mean = 5, sd = 3) -
pnorm(0, mean = 5, sd = 3)
[1] 0.4522096
# c
1 - pnorm(7, mean = 5, sd = 3)
[1] 0.2524925
Aufgabe 8.7
Sei \(X\sim\text{Bin}(n = 20, p = 0.3)\).
- Berechnen Sie \(P(X=10)\)
- Berechnen Sie \(P(4\leq X < 10)\)
- Für welche Realisation \(x\) gilt \(P(X\leq x) = 0.95\)
# a
dbinom(10, size = 20, prob = 0.3)
[1] 0.03081708
# b
pbinom(9, size = 20, prob = 0.3) -
pbinom(3, size = 20, prob = 0.3)
[1] 0.8449513
# c
qbinom(0.95, , size = 20, prob = 0.3)
[1] 9
Fußnoten
Falls Sie auf Ihrem eigenen Rechner arbeiten, müssen Sie möglicherweise zunächst das Paket installieren mittels
install.packages('ggplot2')
↩︎