Bootstrapping no asume ningún conocimiento de la forma de la distribución principal subyacente de la cual surgió la muestra. Las estimaciones de parámetros estadísticos clásicos tradicionales se basan en el supuesto de normalidad. Bootstrap trata la no normalidad y es más preciso en la práctica que los métodos clásicos.
Bootstrapping sustituye la potencia informática sin procesar de las computadoras por un análisis teórico riguroso. Es una estimación de la distribución de muestreo de un término de error del conjunto de datos. Bootstrapping incluye: volver a muestrear el conjunto de datos un número específico de veces, calcular la media de cada muestra y encontrar el error estándar de la media.
El siguiente código "R" demuestra el concepto:
Este ejemplo práctico demuestra la utilidad de bootstrapping y estima el error estándar. Se requiere el error estándar para calcular el intervalo de confianza.
Supongamos que tiene un conjunto de datos sesgado "a":
a<-rexp(395, rate=0.1) # Create skewed data
visualización del conjunto de datos sesgados
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
Realice el procedimiento de arranque:
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