Bootstrapping nie zakłada żadnej wiedzy o formie podstawowego rozkładu macierzystego, z którego powstała próbka. Tradycyjne klasyczne oszacowania parametrów statystycznych opierają się na założeniu normalności. Bootstrap dotyczy nienormalności i jest bardziej dokładny w praktyce niż metody klasyczne.
Bootstrapping zastępuje surową moc obliczeniową komputera rygorystyczną analizą teoretyczną. Jest to oszacowanie rozkładu próbkowania terminu błędu zestawu danych. Bootstrapping obejmuje: ponowne próbkowanie zestawu danych określoną liczbę razy, obliczanie średniej z każdej próbki i znalezienie standardowego błędu średniej.
Poniższy kod „R” demonstruje tę koncepcję:
Ten praktyczny przykład pokazuje przydatność ładowania początkowego i szacuje błąd standardowy. Błąd standardowy jest wymagany do obliczenia przedziału ufności.
Załóżmy, że masz wypaczony zestaw danych „a”:
a<-rexp(395, rate=0.1) # Create skewed data
wizualizacja przekrzywionego zestawu danych
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
Wykonaj procedurę ładowania początkowego:
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