Начальная загрузка не предполагает каких-либо знаний о форме основного родительского распределения, из которого возникла выборка. Традиционные классические статистические оценки параметров основаны на предположении о нормальности. Bootstrap имеет дело с ненормальностью и более точен на практике, чем классические методы.
Самозагрузка заменяет вычислительную мощь компьютеров на строгий теоретический анализ. Это оценка распределения выборки члена ошибки набора данных. Начальная загрузка включает в себя: повторную выборку набора данных указанное количество раз, вычисление среднего значения для каждой выборки и поиск стандартной ошибки среднего.
Следующий код «R» демонстрирует концепцию:
Этот практический пример демонстрирует полезность начальной загрузки и оценивает стандартную ошибку. Стандартная ошибка необходима для расчета доверительного интервала.
Предположим, у вас есть перекос данных «а»:
a<-rexp(395, rate=0.1) # Create skewed data
визуализация искаженного набора данных
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
Выполните процедуру начальной загрузки:
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