Por un simple ejemplo, suponga que hay dos modelos de regresión lineal
- Modelo 1 tiene tres predictores,
x1a
,x2b
, yx2c
- El modelo 2 tiene tres predictores del modelo 1 y dos predictores adicionales
x2a
yx2b
Hay una ecuación de regresión poblacional donde la varianza poblacional explicada es para el Modelo 1 y para el Modelo 2. La varianza incremental explicada por el Modelo 2 en la población es \ Delta \ rho ^ 2 = \ rho ^ 2 _ {(2)} - \ rho ^ 2 _ {(1)}
Estoy interesado en obtener errores estándar e intervalos de confianza para un estimador de . Si bien el ejemplo involucra 3 y 2 predictores respectivamente, mi interés en la investigación se refiere a una amplia gama de diferentes números de predictores (por ejemplo, 5 y 30). Mi primer pensamiento fue usar como un estimador y arrancarlo, pero no estaba seguro de si esto ser apropiado
Preguntas
- ¿Es un estimador razonable de ?
- ¿Cómo se puede obtener un intervalo de confianza para el cambio de r-cuadrado de la población (es decir, )?
- ¿Bootstrapping sería apropiado para el cálculo del intervalo de confianza?
Cualquier referencia a simulaciones o la literatura publicada también sería bienvenida.
Código de ejemplo
Si ayuda, creé un pequeño conjunto de datos de simulación en R que podría usarse para demostrar una respuesta:
n <- 100
x <- data.frame(matrix(rnorm(n *5), ncol=5))
names(x) <- c('x1a', 'x1b', 'x1c', 'x2a', 'x2b')
beta <- c(1,2,3,1,2)
model2_rho_square <- .7
error_rho_square <- 1 - model2_rho_square
error_sd <- sqrt(error_rho_square / model2_rho_square* sum(beta^2))
model1_rho_square <- sum(beta[1:3]^2) / (sum(beta^2) + error_sd^2)
delta_rho_square <- model2_rho_square - model1_rho_square
x$y <- rnorm(n, beta[1] * x$x1a + beta[2] * x$x1b + beta[3] * x$x1c +
beta[4] * x$x2a + beta[5] * x$x2b, error_sd)
c(delta_rho_square, model1_rho_square, model2_rho_square)
summary(lm(y~., data=x))$adj.r.square -
summary(lm(y~x1a + x1b + x1c, data=x))$adj.r.square
Motivo de preocupación con bootstrap
Ejecuté un arranque en algunos datos con alrededor de 300 casos, y 5 predictores en el modelo simple y 30 predictores en el modelo completo. Si bien la estimación de la muestra utilizando la diferencia de r-cuadrado ajustada fue 0.116
, el intervalo de confianza boostrap fue mayoritariamente un IC95% (0.095 a 0.214) y la media de los bootstraps no estuvo cerca de la estimación de la muestra. Más bien, la media de las muestras boostrapizadas parecía estar centrada en la estimación muestral de la diferencia entre los cuadrados r en la muestra. Esto a pesar del hecho de que estaba usando los cuadrados ajustados de muestra para estimar la diferencia.
Curiosamente, probé una forma alternativa de calcular como
- calcular el cambio de muestra r-cuadrado
- ajustar el cambio de r-cuadrado de muestra usando la fórmula estándar ajustada de r-cuadrado
Cuando se aplicó a los datos de la muestra, esto redujo la estimación de a pero los intervalos de confianza parecían apropiados para el método que mencioné primero, IC95% (.062, .179) con una media de .118..082
En términos generales, me preocupa que el bootstrapping suponga que la muestra es la población y, por lo tanto, estima que la reducción para el sobreajuste puede no funcionar adecuadamente.
fuente
Respuestas:
PoblaciónR2
En primer lugar, estoy tratando de entender la definición de la población R-cuadrado .
Citando tu comentario:
Creo que quiere decir que este es el límite de la muestra cuando uno replica el modelo infinitamente muchas veces (con los mismos predictores en cada réplica).R2
Entonces, ¿cuál es la fórmula para el valor asintótico de la muestra ? Escriba su modelo lineal como en https://stats.stackexchange.com/a/58133/8402 , y use las mismas anotaciones que este enlace. Luego se puede verificar que la muestra va a cuando uno replica el modelo infinitamente muchas veces.Y = μ + σ G R 2 p o p R 2 : = λR2 Y=μ+σG
R2 Y=μ+σGpopR2:=λn+λ Y=μ+σG
Como ejemplo:
Población de un submodeloR2
Ahora suponga que el modelo está con y considere el submodelo . H1:μ∈W1H0:μ∈W0Y=μ+σG H1:μ∈W1 H0:μ∈W0
Luego dije anteriormente que la población del modelo está donde y y luego uno simplemente tiene .H 1 p o p R 2 1 : = λ 1R2 H1 popR21:=λ1n+λ1 Z1=[1]⊥∩W1‖PZ1μ‖2=∑(μi-ˉμ)2λ1=∥PZ1μ∥2σ2 Z1=[1]⊥∩W1 ∥PZ1μ∥2=∑(μi−μ¯)2
Ahora, ¿define la población del submodelo como el valor asintótico del calculado con respecto al modelo pero bajo el supuesto de distribución del modelo ? El valor asintótico (si hay uno) parece más difícil de encontrar.H 0 R 2 H 0 H 1R2 H0 R2 H0 H1
fuente
En lugar de responder la pregunta que hizo, le preguntaré por qué hace esa pregunta. Supongo que quieres saber si
es al menos tan bueno como
Al explicar
y
. Dado que estos modelos están anidados, la forma obvia de responder a esta pregunta parece ser realizar un análisis de varianza comparándolos, de la misma manera que podría ejecutar un análisis de desviación para dos GLM, comoLuego, podría usar la mejora de R-cuadrado de muestra entre los modelos como su mejor estimación de cuál sería la mejora de ajuste en la población, siempre suponiendo que puede tener sentido de la R-cuadrado de la población. Personalmente, no estoy seguro de poder hacerlo, pero con esto no importa de ninguna manera.
En términos más generales, si está interesado en las cantidades de población, presumiblemente está interesado en la generalización, por lo que una medida de ajuste de muestra no es exactamente lo que desea, sin embargo, 'corregida'. Por ejemplo, la validación cruzada de alguna cantidad que estima el tipo y la cantidad de errores reales que podría esperar de una muestra, como MSE, parecería obtener lo que desea.
Pero es muy posible que me falte algo aquí ...
fuente
Las siguientes representan algunas posibilidades para calcular intervalos de confianza en .ρ2
Bootstrap cuadrado doble r ajustado
Mi mejor suposición actual sobre una respuesta es hacer un bootstrap de r-cuadrado doblemente ajustado. He implementado la técnica. Implica lo siguiente:
La razón es que el primer r-cuadrado ajustado elimina el sesgo introducido por bootstraping (es decir, bootstrapping supone que la muestra r-square es la población r-square). El segundo r-cuadrado ajustado realiza la corrección estándar que se aplica a una muestra normal para estimar el r-cuadrado de la población.
En este punto, todo lo que puedo ver es que la aplicación de este algoritmo genera estimaciones que parecen correctas (es decir, la media theta_hat en el bootstrap está muy cerca de la muestra theta_hat). El error estándar se alinea con mi intuición. Todavía no he probado si proporciona una cobertura frecuente de frecuentas donde se conoce el proceso de generación de datos, y tampoco estoy completamente seguro en este momento de cómo el argumento podría justificarse desde los primeros principios
Si alguien ve alguna razón por la cual este enfoque sería problemático, agradecería saberlo.
Simulación de Algina et al.
Stéphane mencionó el artículo de Algina, Keselman y Penfield. Realizaron un estudio de simulación para examinar la cobertura del intervalo de confianza del 95% de bootstrapping y métodos asintóticos para estimar . Sus métodos de arranque implicaron solo una aplicación única de r-cuadrado ajustado, en lugar del doble ajuste de r-cuadrado que mencioné anteriormente. Descubrieron que las estimaciones de arranque solo proporcionaban una buena cobertura cuando el número de predictores adicionales en el modelo completo era uno o quizás dos. Es mi hipótesis que esto se debe a que a medida que aumenta el número de predictores, también lo haría la diferencia entre la rutina de arranque r-cuadrado simple y doble ajustada.Δρ2
Smithson (2001) sobre el uso del parámetro de no centralidad
Smithson (2001) analiza el cálculo de intervalos de confianza para el parcial basado en el parámetro de no centralidad. Consulte las páginas 615 y 616 en particular. Sugiere que "es sencillo construir un IC para y parcial pero no para la correlación semipartial al cuadrado". (p.615)f 2 R 2R2 f2 R2
Referencias
fuente