Hier klicken, um zur Quelle zu gelangen
dateipfad <- “C:/Users/matth/OneDrive/AA_Weiterbildung/Datascience/Modul 8 - Statistische Modellierung/1.1_Sampling Model Parameters and Estimates.Rmd” rstudioapi::navigateToFile(dateipfad)
Die folgende Zusammenfassung behandelt das Thema der statistischen Inferenz anhand eines Beispiels mit einer Urne, die blaue und rote Kugeln enthält. Dieses Szenario dient als Analogie für Meinungsumfragen und deren Vorhersagekraft.
Szenario:
Ziel: Schätze den Unterschied (Spread) zwischen dem Anteil der blauen und roten Kugeln in einer Urne. Vorgehen: Ziehe eine Stichprobe mit Zurücklegen aus der Urne. Jede gezogene Kugel kostet $0,10. Deine Schätzung kann als Intervall angegeben werden. Wenn das Intervall den wahren Anteil enthält, erhältst du die Hälfte deiner Kosten zurück und nimmst an der zweiten Phase des Wettbewerbs teil. In der zweiten Phase gewinnt die präziseste (kleinste) Intervallschätzung. Analogie zur Meinungsumfrage:
Urne: Repräsentiert die Gesamtbevölkerung von Wählern. Blaue Kugeln: Wähler, die für die Demokraten stimmen. Rote Kugeln: Wähler, die für die Republikaner stimmen. Parameter 𝑝 p: Anteil der blauen Kugeln in der Urne. Spread: 2p−1
Statistische Inferenz: Stichprobe: Die gezogenen Kugeln (z.B. 25 Ziehungen). Stichprobenanteil: Verhältnis der blauen Kugeln in der Stichprobe. Ziel: Schätze 𝑝basierend auf der Stichprobe. Da der Stichprobenanteil ein Zufallsvariable ist, variieren die Ergebnisse bei mehreren Stichproben. Durch die Analyse der Verteilung dieser Zufallsvariablen können wir die Genauigkeit unserer Schätzung verbessern.
R Code Beispiel:
Die dslabs-Bibliothek in R bietet eine Funktion, um zufällige Ziehungen aus der beschriebenen Urne zu simulieren.
# Installiere das Paket, falls noch nicht vorhanden
if (!require(dslabs)) {
install.packages("dslabs")
}
## Lade nötiges Paket: dslabs
library(dslabs)
# Funktion zum Ziehen der Stichprobe
set.seed(123) # Für Reproduzierbarkeit
stichprobe <- take_poll(25)
print(stichprobe)
## NULL
# Mehrere Stichproben ziehen
set.seed(456)
stichprobe1 <- take_poll(25)
stichprobe2 <- take_poll(25)
stichprobe3 <- take_poll(25)
stichprobe4 <- take_poll(25)
# Anzeige der Ergebnisse
stichproben <- list(stichprobe1, stichprobe2, stichprobe3, stichprobe4)
names(stichproben) <- paste0("Stichprobe_", 1:4)
print(stichproben)
## $Stichprobe_1
## NULL
##
## $Stichprobe_2
## NULL
##
## $Stichprobe_3
## NULL
##
## $Stichprobe_4
## NULL
# Installiere und lade das dslabs Paket, falls nicht bereits installiert
if (!require(dslabs)) {
install.packages("dslabs")
}
library(dslabs)
# Funktion zur Simulation einer Umfrage mit einer Stichprobengröße von 25
take_poll <- function(sample_size) {
sample <- sample(c("blue", "red"), size = sample_size, replace = TRUE)
prop_blue <- mean(sample == "blue")
return(prop_blue)
}
# Beispiel: Ziehe eine Stichprobe von 25 Kugeln
set.seed(123) # Setze den Zufallsgenerator für reproduzierbare Ergebnisse
poll_result <- take_poll(25)
print(poll_result)
## [1] 0.6
# Wiederhole den Vorgang mehrmals, um die Variabilität zu beobachten
poll_results <- replicate(4, take_poll(25))
print(poll_results)
## [1] 0.60 0.68 0.40 0.48
In diesem Szenario wird die Verbindung zwischen Umfragen und Wahrscheinlichkeitstheorie anhand eines Beispiels mit einer Urne verdeutlicht. Die Urne enthält rote und blaue Kugeln, die Wähler verschiedener Parteien repräsentieren. Die Aufgabe besteht darin, den Unterschied (Spread) zwischen dem Anteil der blauen und roten Kugeln in der Urne zu schätzen. Dazu kann man eine Stichprobe mit Zurücklegen aus der Urne ziehen. Jede gezogene Kugel kostet $0.10, und das Ziel ist es, durch die Wahl eines geeigneten Intervalls die tatsächliche Verteilung so genau wie möglich vorherzusagen.
Der geschätzte Parameter 𝑝ist der Anteil der blauen Kugeln in der Urne. Der Spread wird durch 2𝑝− 1 berechnet. Um p zu schätzen, wird der Anteil der blauen Kugeln in der Stichprobe betrachtet. Dieser Stichprobenanteil ist eine Zufallsvariable, die von Stichprobe zu Stichprobe variiert. Durch die Beschreibung der Verteilung dieser Zufallsvariablen können wir Einblicke in die Genauigkeit unserer Schätzung gewinnen und diese verbessern.
# Installiere und lade das dslabs Paket, falls nicht bereits installiert
if (!require(dslabs)) {
install.packages("dslabs")
}
library(dslabs)
# Funktion zur Simulation einer Umfrage mit einer Stichprobengröße von 25
take_poll <- function(sample_size) {
sample <- sample(c("blue", "red"), size = sample_size, replace = TRUE)
prop_blue <- mean(sample == "blue")
return(prop_blue)
}
# Beispiel: Ziehe eine Stichprobe von 25 Kugeln
set.seed(123) # Setze den Zufallsgenerator für reproduzierbare Ergebnisse
poll_result <- take_poll(25)
print(poll_result)
## [1] 0.6
# Wiederhole den Vorgang mehrmals, um die Variabilität zu beobachten
poll_results <- replicate(4, take_poll(25))
print(poll_results)
## [1] 0.60 0.68 0.40 0.48