Bootstrapping setzt keine Kenntnis der Form der zugrunde liegenden übergeordneten Verteilung voraus, aus der die Stichprobe hervorgegangen ist. Herkömmliche klassische statistische Parameterschätzungen basieren auf der Normalitätsannahme. Bootstrap befasst sich mit Nicht-Normalität und ist in der Praxis genauer als die klassischen Methoden.
Bootstrapping ersetzt die rohe Rechenleistung von Computern durch eine strenge theoretische Analyse. Dies ist eine Schätzung für die Stichprobenverteilung eines Datensatzfehlerterms. Das Bootstrapping umfasst Folgendes: Eine bestimmte Anzahl von Neuabtastungen des Datensatzes, die Berechnung des Mittelwerts aus jeder Stichprobe und die Ermittlung des Standardfehlers des Mittelwerts.
Der folgende "R" Code demonstriert das Konzept:
Dieses praktische Beispiel demonstriert die Nützlichkeit von Bootstrapping und schätzt den Standardfehler. Der Standardfehler wird zur Berechnung des Konfidenzintervalls benötigt.
Nehmen wir an, Sie haben einen verzerrten Datensatz "a":
a<-rexp(395, rate=0.1) # Create skewed data
Visualisierung des verdrehten Datensatzes
plot(a,type="l") # Scatter plot of the skewed data
boxplot(a,type="l") # Box plot of the skewed data
hist(a) # Histogram plot of the skewed data
Führen Sie das Bootstrapping-Verfahren durch:
n <- length(a) # the number of bootstrap samples should equal the original data set
xbarstar <- c() # Declare the empty set “xbarstar” variable which will be holding the mean of every bootstrap iteration
for (i in 1:1000) { # Perform 1000 bootstrap iteration
boot.samp <- sample(a, n, replace=TRUE) #”Sample” generates the same number of elements as the original data set
xbarstar[i] <- mean(boot.samp)} # “xbarstar” variable collects 1000 averages of the original data set
##
plot(xbarstar) # Scatter plot of the bootstrapped data
boxplot(xbarstar) # Box plot of the bootstrapped data
hist(xbarstar) # Histogram plot of the bootstrapped data
meanOfMeans <- mean(xbarstar)
standardError <- sd(xbarstar) # the standard error is the standard deviation of the mean of means
confidenceIntervalAboveTheMean <- meanOfMeans + 1.96 * standardError # for 2 standard deviation above the mean
confidenceIntervalBelowTheMean <- meanOfMeans - 1.96 * standardError # for 2 standard deviation above the mean
confidenceInterval <- confidenceIntervalAboveTheMean + confidenceIntervalBelowTheMean
confidenceInterval