Número máximo de variables independientes que se pueden ingresar en una ecuación de regresión múltiple

19

¿Cuál es el límite para el número de variables independientes que uno puede ingresar en una ecuación de regresión múltiple? Tengo 10 predictores que me gustaría examinar en términos de su contribución relativa a la variable de resultado. ¿Debo usar una corrección de bonferroni para ajustar para múltiples análisis?

Melissa Duncombe
fuente

Respuestas:

25

Debe pensar en lo que quiere decir con "límite". Hay límites, como cuando tienes más predictores que casos, te encuentras con problemas en la estimación de parámetros (mira la pequeña simulación R al final de esta respuesta).

Sin embargo, me imagino que está hablando más sobre límites suaves relacionados con el poder estadístico y las buenas prácticas estadísticas. En este caso, el lenguaje de los "límites" no es realmente apropiado. Por el contrario, los tamaños de muestra más grandes tienden a hacer que sea más razonable tener más predictores y el umbral de cuántos predictores es razonable posiblemente caiga en un continuo de razonabilidad. Puede encontrar relevante la discusión de las reglas generales para el tamaño de la muestra en regresión múltiple , ya que muchas de estas reglas generales hacen referencia al número de predictores.

Algunos puntos

  • Si le preocupa más la predicción general que la significación estadística de los predictores individuales, entonces probablemente sea razonable incluir más predictores que si le preocupa la significación estadística de los predictores individuales.
  • Si le preocupa más probar un modelo estadístico específico que se relaciona con su pregunta de investigación (por ejemplo, como es común en muchas aplicaciones de ciencias sociales), presumiblemente tiene razones para incluir predictores particulares. Sin embargo, también puede tener oportunidades de ser selectivo en los predictores que incluye (por ejemplo, si tiene múltiples variables que miden una construcción similar, solo puede incluir una de ellas). Cuando se realizan pruebas de modelo basadas en la teoría, hay muchas opciones, y la decisión sobre qué predictores incluir implica una estrecha conexión entre su teoría y la pregunta de investigación.
  • A menudo no veo investigadores que utilicen correcciones de bonferroni que se apliquen a pruebas de significación de coeficientes de regresión. Una razón razonable para esto podría ser que los investigadores están más interesados ​​en evaluar las propiedades generales del modelo.
  • Si está interesado en evaluar la importancia relativa de los predictores, me resulta útil examinar tanto la relación bivariada entre el predictor y el resultado, como la relación entre el predictor y el control de resultados para otros predictores. Si incluye muchos predictores, a menudo es más probable que incluya predictores que estén altamente interrelacionados. En tales casos, la interpretación de los índices de importancia basados ​​tanto en bivariados como en modelos puede ser útil, ya que una variable importante en un sentido bivariado podría estar oculta en un modelo por otros predictores correlacionados ( detallo más aquí con enlaces ).


Una pequeña simulación R

Escribí esta pequeña simulación para resaltar la relación entre el tamaño de la muestra y la estimación de parámetros en regresión múltiple.

set.seed(1)

fitmodel <- function(n, k) {
  # n: sample size
  # k: number of predictors
  # return linear model fit for given sample size and k predictors
  x <- data.frame(matrix( rnorm(n*k), nrow=n))
  names(x) <- paste("x", seq(k), sep="")
  x$y <- rnorm(n)  
  lm(y~., data=x)
}

La fitmodelfunción toma dos argumentos npara el tamaño de la muestra y kpara el número de predictores. No cuento la constante como predictor, pero se estima. Luego genero datos aleatorios y ajusta un modelo de regresión que predice una variable ay de klas variables predictoras y devuelve el ajuste.

Dado que mencionó en su pregunta que estaba interesado en si 10 predictores son demasiado, las siguientes llamadas a funciones muestran lo que sucede cuando el tamaño de la muestra es 9, 10, 11 y 12 respectivamente. Es decir, el tamaño de la muestra es uno menos que el número de predictores a dos más que el número de predictores

summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))

> resumen (fitmodel (n = 9, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 9 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.31455         NA      NA       NA
x1           0.34139         NA      NA       NA
x2          -0.45924         NA      NA       NA
x3           0.42474         NA      NA       NA
x4          -0.87727         NA      NA       NA
x5          -0.07884         NA      NA       NA
x6          -0.03900         NA      NA       NA
x7           1.08482         NA      NA       NA
x8           0.62890         NA      NA       NA
x9                NA         NA      NA       NA
x10               NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 8 and 0 DF,  p-value: NA 

El tamaño de la muestra es uno menos que el número de predictores. Solo es posible estimar 9 parámetros, uno de los cuales es la constante.

> resumen (fitmodel (n = 10, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!

Coefficients: (1 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)
(Intercept)   0.1724         NA      NA       NA
x1           -0.3615         NA      NA       NA
x2           -0.4670         NA      NA       NA
x3           -0.6883         NA      NA       NA
x4           -0.1744         NA      NA       NA
x5           -1.0331         NA      NA       NA
x6            0.3886         NA      NA       NA
x7           -0.9886         NA      NA       NA
x8            0.2778         NA      NA       NA
x9            0.4616         NA      NA       NA
x10               NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 9 and 0 DF,  p-value: NA 

El tamaño de la muestra es igual al número de predictores. Solo es posible estimar 10 parámetros, uno de los cuales es la constante.

> resumen (fitmodel (n = 11, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 11 residuals are 0: no residual degrees of freedom!

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  -0.9638         NA      NA       NA
x1           -0.8393         NA      NA       NA
x2           -1.5061         NA      NA       NA
x3           -0.4917         NA      NA       NA
x4            0.3251         NA      NA       NA
x5            4.4212         NA      NA       NA
x6            0.7614         NA      NA       NA
x7           -0.4195         NA      NA       NA
x8            0.2142         NA      NA       NA
x9           -0.9264         NA      NA       NA
x10          -1.2286         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 10 and 0 DF,  p-value: NA 

El tamaño de la muestra es uno más que el número de predictores. Todos los parámetros se estiman, incluida la constante.

> resumen (fitmodel (n = 12, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
        1         2         3         4         5         6         7         8         9        10        11 
 0.036530 -0.042154 -0.009044 -0.117590  0.171923 -0.007976  0.050542 -0.011462  0.010270  0.000914 -0.083533 
       12 
 0.001581 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  0.14680    0.11180   1.313   0.4144  
x1           0.02498    0.09832   0.254   0.8416  
x2           1.01950    0.13602   7.495   0.0844 .
x3          -1.76290    0.26094  -6.756   0.0936 .
x4           0.44832    0.16283   2.753   0.2218  
x5          -0.76818    0.15651  -4.908   0.1280  
x6          -0.33209    0.18554  -1.790   0.3244  
x7           1.62276    0.21562   7.526   0.0841 .
x8          -0.47561    0.18468  -2.575   0.2358  
x9           1.70578    0.31547   5.407   0.1164  
x10          3.25415    0.46447   7.006   0.0903 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.2375 on 1 degrees of freedom
Multiple R-squared: 0.995,  Adjusted R-squared: 0.9452 
F-statistic: 19.96 on 10 and 1 DF,  p-value: 0.1726 

El tamaño de la muestra es dos veces mayor que el número de predictores, y finalmente es posible estimar el ajuste del modelo general.

Jeromy Anglim
fuente
¿Alguien puede explicar por qué los errores estándar en el primer escenario (n = 9, k = 10) son NA? Tengo la fórmula de error estándar, pero no veo cómo el denominador sería 0 para que podamos obtener NA.
matsuo_basho
12

A menudo miro esto desde el punto de vista de si un modelo equipado con un cierto número de parámetros es probable que produzca predicciones fuera de muestra que sean tan precisas como las predicciones hechas en la muestra de desarrollo del modelo original. Las curvas de calibración, los errores cuadrados medios de X * Beta y los índices de discriminación predictiva son algunas de las medidas que se usan típicamente. De aquí provienen algunas de las reglas generales, como la regla 15: 1 (un tamaño de muestra efectivo de 15 por parámetro examinado o estimado).

Con respecto a la multiplicidad, un ajuste perfecto para la multiplicidad, suponiendo que se cumpla el modelo y se cumplan los supuestos de distribución, es la prueba global de que todas las betas (excepto la intercepción) son cero. Esto generalmente se prueba usando una razón de probabilidad o una prueba F.

Hay dos enfoques generales para el desarrollo de modelos que tienden a funcionar bien. (1) Tener un tamaño de muestra adecuado y ajustarse a todo el modelo preespecificado, y (2) utilizar la estimación de máxima verosimilitud penalizada para permitir solo tantos grados efectivos de libertad en la regresión como el tamaño de muestra actual admitirá. [La selección de variables paso a paso sin penalización no debería desempeñar ningún papel, ya que se sabe que esto no funciona.]

Frank Harrell
fuente
¿Se basan esas reglas generales en suposiciones sobre el tamaño de los coeficientes de regresión verdaderos y el tamaño de la varianza del error? ¿Tendría razón al pensar que si se supiera que la varianza del error es muy pequeña, sería aceptable una proporción mucho menor de puntos de datos a parámetros?
mark999
1
Ese es un excelente punto que no mencioné. La regla 15: 1 es para los tipos de señal: relaciones de ruido observadas en las ciencias biomédicas y sociales. Cuando tiene una varianza residual baja, puede estimar muchos más parámetros con precisión.
Frank Harrell
10

nortepagmetropagmetrometronortepag

1metroKpagσ1/ /Iniciar sesión(pag)σ1Xσ1pag

alegre
fuente
6

En principio, no hay límite per se para cuántos predictores puede tener. Puede estimar 2 mil millones de "betas" en principio. Pero lo que sucede en la práctica es que sin suficientes datos o suficiente información previa, no será un ejercicio muy fructífero. Ningún parámetro en particular se determinará muy bien, y no aprenderá mucho del análisis.

Ahora, si no tiene mucha información previa sobre su modelo (estructura del modelo, valores de parámetros, ruido, etc.), necesitará los datos para proporcionar esta información. Esta suele ser la situación más común, lo cual tiene sentido, porque generalmente necesita una razón bastante buena para recopilar datos (y gastar $$$) sobre algo que ya conoce bastante bien. Si esta es su situación, entonces un límite razonable es tener una gran cantidad de observaciones por parámetro. Tiene 12 parámetros (10 betas de pendiente, 1 intercepción y un parámetro de ruido), por lo que cualquier cosa sobre 100 observaciones debería poder determinar sus parámetros lo suficientemente bien como para poder sacar algunas conclusiones.

Pero no hay reglas "duras y rápidas". Con solo 10 predictores, no debería tener problemas con el tiempo de cálculo (obtenga una mejor computadora si lo hace). Principalmente significa hacer más trabajo, porque tiene 11 dimensiones de datos para absorber, lo que dificulta la visualización de los datos. Los principios básicos de la regresión con solo 1 variable dependiente no son realmente tan diferentes.

El problema con la corrección de Bonferroni es que para que sea una forma razonable de ajustar su nivel de significación sin sacrificar demasiado poder, necesita la hipótesis de que está corrigiendo para ser independiente (es decir, saber que una hipótesis es verdadera no le dice nada acerca de si otra hipótesis es cierta). Esto no es cierto para la "prueba t" estándar en regresión múltiple para un coeficiente que sea cero, por ejemplo. La estadística de prueba depende de qué más en el modelo, que es una forma indirecta de decir que las hipótesis son dependientes. O, una forma más frecuente de decir esto es que la distribución de muestreo del valor t condicional en que el i-predictor sea cero depende de qué otros parámetros sean cero. Por lo tanto, usar la corrección de bonferroni aquí puede estar dando un "total" más bajo

probabilidadislogica
fuente