Estoy aplicando un modelo lineal a mis datos: $$ y_ {i} = \ beta_ {0} + \ beta_ {1} x_ {i} + \ epsilon_ {i}, \ quad \ epsilon_ {i} \ sim N (0, \ sigma ^ {2}). $$
Me gustaría estimar el intervalo de confianza (CI) de los coeficientes ($ \ beta_ {0} $, $ \ beta_ {1} $) usando el método bootstrap. Hay dos formas de aplicar el método bootstrap:
-
Ejemplo de predictor de respuesta emparejado: volver a muestrear aleatoriamente pares de $ y_ {i} -x_ {i} $ y aplicar lineal regresión a cada ejecución. Después de ejecutar $ m $, obtenemos una colección de coeficientes estimados $ {\ hat {\ beta_ {j}}}, j = 1, … m $. Finalmente, calcule el cuantil de $ {\ hat {\ beta_ {j}}} $.
-
Ejemplo de error: primero aplique regresión lineal a los datos observados originales, de este modelo obtenemos $ \ hat {\ beta_ {o}} $ y el error $ \ epsilon_ {i} $. Luego, vuelva a muestrear aleatoriamente el error $ \ epsilon ^ {*} _ {i} $ y calcule los nuevos datos con $ \ hat {\ beta_ {o}} $ y $ y ^ {*} _ {i} = \ hat { \ beta_ {o}} x_ {i} + \ epsilon ^ {*} _ {i} $. Aplicar una vez más regresión lineal. Después de ejecutar $ m $, obtenemos una colección de coeficientes estimados $ {\ hat {\ beta_ {j}}}, j = 1, …, m $. Finalmente, calcule el cuantil de $ {\ hat {\ beta_ {j}}} $.
Mis preguntas son:
- ¿En qué se diferencian estos dos métodos?
- ¿Bajo qué suposición estos dos métodos dan el mismo resultado?
Comentarios
Respuesta
Si los pares respuesta-predictor se han obtenido de una población mediante una muestra aleatoria, es seguro utilizar case / random -x / su primer esquema de remuestreo. Si los predictores fueron controlados o el experimentador estableció los valores de los predictores, puede considerar usar un esquema de remuestreo residual / basado en modelo / fijo-x / su-segundo.
¿En qué se diferencian los dos? Una introducción al bootstrap con aplicaciones en R por Davison y Kounen tiene una discusión pertinente a esta pregunta (ver p.9). Consulte también el código R en este apéndice de John Fox , en particular las funciones boot.huber en la p.5 para el esquema random-x y boot.huber.fixed en p.10 para el esquema de x fijo. Mientras que en las notas de la conferencia de Shalizi los dos esquemas se aplican a diferentes conjuntos de datos / problemas, el apéndice de Fox ilustra la poca diferencia que los dos esquemas pueden hacer a menudo.
¿Cuándo se puede esperar que los dos proporcionen resultados casi idénticos? Uno La situación es cuando el modelo de regresión se especifica correctamente, p. ej., no hay no linealidad sin modelar y se cumplen los supuestos de regresión habituales (p. ej., errores de iid, sin valores atípicos). Consulte el capítulo 21 de El libro de Fox (al que pertenece indirectamente el apéndice antes mencionado con el código R), particularmente la discusión en la página 598 y el ejercicio 21.3. titulado «Remuestreo aleatorio versus fijo en regresión».Para citar del libro
By randomly reattaching resampled residuals to fitted values, the [fixed-x/model-based] procedure implicitly assumes that the errors are identically distributed. If, for example, the true errors have non-constant variance, then this property will not be reflected in the resampled residuals. Likewise, the unique impact of a high-leverage outlier will be lost to the resampling.
También aprenderá de esa discusión por qué fixed-x bootstrap implícitamente asume que la forma funcional del modelo es correcta (aunque no se hace ninguna suposición sobre la forma de la distribución del error).
Consulte también la diapositiva 12 de esta charla para la Sociedad de Actuarios en Irlanda por Derek Bain. También tiene una ilustración de lo que debería considerarse «el mismo resultado»:
The approach of re-sampling cases to generate pseudo data is the more usual form of bootstrapping. The approach is robust in that if an incorrect model is fitted an appropriate measure of parameter meter uncertainty is still obtained. However re sampling residuals is more efficient if the correct model has been fitted. The graphs shows both approaches in estimating the variance of a 26 point data sample mean and a 52 point sample mean. In the larger sample the two approaches are equivalent.
boot.ci(my.boot, type="basic")
enR
). ¿O me pierdo algo aquí?rms
validate
ycalibrate
.