se tienen los siguientes datos 7.69, 4.97, 4.56, 6.49, 4.34, 6.24 4.45 donde no se conoce su distribucion, lo primero es ordenarlos en data frame.
value<-c(7.69,4.97,4.56,6.49,4.34,6.24,4.45)
df<-data.frame(value)
vamos a realizar el calculo de \(k=1000\) muestras del Boostrap
n<-length(value) #tamaño de la muestra
# Calculo del bootrap
set.seed(131215) # generar reproductibilidad de los resultados
medias_boost<-vector()
for (i in 1:1000) {
muestra<-sample(df$value,size = 7,replace = TRUE)
medias_boost[i]<-round(mean(muestra),5)# se almacena en un vector las medias de cada muestra
medias_boostrap<-data.frame(medias_boost)
}
head(medias_boostrap)# comprobar las medias
## medias_boost
## 1 5.13000
## 2 5.21714
## 3 4.87000
## 4 5.46000
## 5 5.34286
## 6 5.72571
nrow(medias_boostrap)# comprobar que si estuvieran las 1000 muestras
## [1] 1000
percentiles \(P_{2.5}\) y \(P_{97.5}\)
p9725<-round(quantile(medias_boostrap$medias_boost, probs = 0.975),5)
p25<-round(quantile(medias_boostrap$medias_boost, probs = 0.25),5)
cat("El intervalo de confianza del 95% es ( ",p25,",",p9725,")")
## El intervalo de confianza del 95% es ( 5.26179 , 6.41757 )
xbarra<-mean(value)
xbarra
## [1] 5.534286
Ei<-2*xbarra-p9725
Es<- 2*xbarra-p25
cat("El intervalo de confianza del 95% es ( ",Ei,",",Es,")")
## El intervalo de confianza del 95% es ( 4.651001 , 5.806781 )
Analisemos como se distribuyen los promedios del boostrap
hist(medias_boostrap$medias_boos,xlab="media x* ", ylab = "frecuencia", main = "Distribucion de las medias x* Boostrap ")
boxplot(medias_boostrap$medias_boost, main = "Boxplot medias x* ")
shapiro.test(medias_boostrap$medias_boost)
##
## Shapiro-Wilk normality test
##
## data: medias_boostrap$medias_boost
## W = 0.9954, p-value = 0.004169
ks.test(medias_boostrap$medias_boost,"pnorm",mean=mean(medias_boostrap$medias_boost), sd=sd(medias_boostrap$medias_boost))
## Warning in ks.test.default(medias_boostrap$medias_boost, "pnorm", mean =
## mean(medias_boostrap$medias_boost), : ties should not be present for the
## one-sample Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: medias_boostrap$medias_boost
## D = 0.03558, p-value = 0.1589
## alternative hypothesis: two-sided
qqnorm(medias_boostrap$medias_boost)
qqline(medias_boostrap$medias_boost)
Se observa que los dos intervalos obtenidos presentan ciertas diferencias sin embargo, desde mi punto de vista el intervalo creado por el primer método \((P_{2.5},P_{97.5})\) es mas fácil de entender e interpretar en contraste no ofrece información sobre como se agrupan los datos en las colas.A favor del segundo método la expresión \(2\bar{x}-P_{97.5}=\bar{x}-(P_{97.5}-\bar{x})\) permite elaborar un contraste frente a las colas de la ditribución,en este caso al observar la distribución de los datos hay presencia de outliers y una cola alargada hacia la derecha elegiría el segundo método.