O bootstrapping não assume nenhum conhecimento da forma da distribuição pai subjacente da qual a amostra surgiu. As estimativas clássicas clássicas dos parâmetros estatísticos são baseadas na suposição de normalidade. O Bootstrap lida com a não normalidade e é mais preciso na prática do que os métodos clássicos.
O bootstrapping substitui o poder de computação bruto dos computadores por rigorosa análise teórica. É uma estimativa para a distribuição amostral de um termo de erro do conjunto de dados. O bootstrapping inclui: amostrar novamente o conjunto de dados um número especificado de vezes, calcular a média de cada amostra e encontrar o erro padrão da média.
O seguinte código "R" demonstra o conceito:
Este exemplo prático demonstra a utilidade do bootstrap e estima o erro padrão. O erro padrão é necessário para calcular o intervalo de confiança.
Vamos supor que você tenha um conjunto de dados assimétrico "a":
a<-rexp(395, rate=0.1) # Create skewed data
visualização do conjunto de dados inclinado
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
Execute o procedimento de inicialização:
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