Elegir variables para incluir en un modelo de regresión lineal múltiple


35

Actualmente estoy trabajando para construir un modelo usando una regresión lineal múltiple. Después de jugar con mi modelo, no estoy seguro de cómo determinar mejor qué variables mantener y cuáles eliminar.

Mi modelo comenzó con 10 predictores para el DV. Al usar los 10 predictores, cuatro se consideraron significativos. Si elimino solo algunos de los predictores obviamente incorrectos, algunos de mis predictores que inicialmente no eran significativos se vuelven significativos. Lo que me lleva a mi pregunta: ¿cómo se determina qué predictores incluir en su modelo? Me pareció que debería ejecutar el modelo una vez con todos los predictores, eliminar aquellos que no son significativos y luego volver a ejecutarlos. Pero si eliminar solo algunos de esos predictores hace que otros sean significativos, me pregunto si estoy tomando el enfoque incorrecto de todo esto.

Creo que este hilo es similar a mi pregunta, pero no estoy seguro de estar interpretando la discusión correctamente. Quizás este sea más un tema de diseño experimental, pero quizás alguien tenga alguna experiencia que pueda compartir.


La respuesta a esto depende en gran medida de tus objetivos y requisitos: ¿estás buscando una asociación simple o estás buscando predicciones? qué tan alto eres en la interpretabilidad; ¿Tiene alguna información sobre las variables de otras publicaciones que podrían influir en el proceso? ¿qué hay de las interacciones o las versiones transformadas de las variables: puede incluirlas? etc. Debe especificar más detalles sobre lo que está tratando de hacer para obtener una buena respuesta.
Nick Sabbe

Según lo que solicitó, esto será para la predicción. La influencia en otras variables solo ofrece una posible asociación. No hay interacciones entre ellos. Solo se necesita transformar un valor, y se ha hecho.
cryptic_star

1
¿Existe una teoría que diga qué predictores debe incluir? Si tiene muchas variables que ha medido y no tiene ninguna teoría, recomendaría mantener un conjunto de observaciones para que pueda probar su modelo en datos que no se utilizaron para crearlo. No es correcto probar y validar un modelo con los mismos datos.
Michelle

La validación cruzada (como discute Nick Sabbe), los métodos penalizados (Dikran Marsupial) o la elección de variables basadas en la teoría previa (Michelle) son todas las opciones. Pero tenga en cuenta que la selección de variables es intrínsecamente una tarea muy difícil. Para comprender por qué es tan potencialmente tenso, puede ser útil leer mi respuesta aquí: algoritmos para la selección automática de modelos . Por último, vale la pena reconocer que el problema está en la estructura lógica de esta actividad, no en si la computadora lo hace por usted automáticamente o si usted lo hace manualmente.
gung - Restablece a Monica

Consulte también las respuestas a esta publicación: stats.stackexchange.com/questions/34769/…
jokel

Respuestas:


19

Según su reacción a mi comentario:

Estás buscando predicción. Por lo tanto, no debe confiar realmente en la (in) importancia de los coeficientes. Serías mejor

  • Elija un criterio que describa mejor sus necesidades de predicción (por ejemplo, tasa de clasificación errónea, AUC de ROC, alguna forma de estas con pesas, ...)
  • Para cada modelo de interés , evalúe este criterio. Esto se puede hacer, por ejemplo, proporcionando un conjunto de validación (si tiene suerte o es rico), mediante validación cruzada (generalmente diez veces) o cualquier otra opción que permita su criterio de interés. Si es posible, también encuentre una estimación del SE del criterio para cada modelo (por ejemplo, utilizando los valores sobre los diferentes pliegues en la validación cruzada)
  • Ahora puede elegir el modelo con el mejor valor del criterio, aunque generalmente se recomienda elegir el modelo más parsimoneo (menos variables) que esté dentro de un SE del mejor valor.

Escriba cada modelo de interés : aquí yace una buena trampa. Con 10 predictores potenciales, esa es una gran cantidad de modelos potenciales. Si tiene el tiempo o los procesadores para esto (o si sus datos son lo suficientemente pequeños como para que los modelos se ajusten y evalúen lo suficientemente rápido): tenga una pelota. De lo contrario, puede hacerlo mediante suposiciones educadas, modelado hacia adelante o hacia atrás (pero usando el criterio en lugar de la importancia), o mejor aún: use algún algoritmo que elija un conjunto razonable de modelos. Un algoritmo que hace esto es la regresión penalizada, en particular la regresión Lasso. Si está utilizando R, simplemente conecte el paquete glmnet y estará listo para comenzar.


+1, pero ¿podría explicar por qué exactamente "elegiría el modelo más parsimoneo (menos variables) que esté dentro de un SE del mejor valor"?
rolando2

La paternidad es, para la mayoría de las situaciones, una propiedad deseada: aumenta la capacidad de interpretación y reduce la cantidad de mediciones que necesita hacer para que un nuevo sujeto use el modelo. El otro lado de la historia es que lo que obtienes para tu criterio no es más que una estimación, con un SE coincidente: he visto bastantes gráficos que muestran las estimaciones de los criterios con respecto a algún parámetro de ajuste, donde el "mejor" valor era solo un valor excepcional. pico. Como tal, la regla 1 SE (que es arbitraria, pero una práctica aceptada) lo protege de esto con el valor agregado de proporcionar más parsimonia.
Nick Sabbe

13

No hay una respuesta simple a esto. Cuando elimina algunas de las variables explicativas no significativas, otras que están correlacionadas con ellas pueden volverse significativas. No hay nada de malo en esto, pero hace que la selección del modelo sea al menos en parte arte más que ciencia. Esta es la razón por la cual los experimentos apuntan a mantener las variables explicativas ortogonales entre sí, para evitar este problema.

Tradicionalmente, los analistas sumaban y restaban paso a paso las variables al modelo una a la vez (similar a lo que ha hecho) y las prueban individualmente o en pequeños grupos con pruebas t o F. El problema con esto es que puede perderse alguna combinación de variables para restar (o agregar) donde su efecto combinado (o no efecto) está oculto por la colinealidad.

Con el poder de cómputo moderno, es factible ajustar todas las combinaciones posibles de variables explicativas 2 ^ 10 = 1024 y elegir el mejor modelo por uno de varios criterios posibles, por ejemplo, AIC, BIC o poder predictivo (por ejemplo, la capacidad de predecir los valores de un subconjunto de prueba de los datos que ha separado del conjunto que utiliza para ajustar su modelo). Sin embargo, si va a probar (implícita o explícitamente) 1024 modelos, deberá repensar sus valores p desde el enfoque clásico: trate con precaución ...


Gracias por el alto nivel de las ventajas y desventajas de ambos lados. Se confirmó mucho de lo que sospechaba.
cryptic_star

11

Si solo está interesado en el rendimiento predictivo, entonces probablemente sea mejor usar todas las características y usar la regresión de cresta para evitar un ajuste excesivo de la muestra de entrenamiento. Este es esencialmente el consejo dado en el apéndice de la monografía de Millar sobre "selección de subconjuntos en regresión" , por lo que viene con un pedigrí razonable.

La razón de esto es que si elige un subconjunto basado en una estimación de rendimiento basada en una muestra fija de datos (por ejemplo, AIC, BIC, validación cruzada, etc.), el criterio de selección tendrá una variación finita y, por lo tanto, es posible sobrepasar el criterio de selección en sí. En otras palabras, para comenzar a medida que minimiza el criterio de selección, el rendimiento de la generalización mejorará, sin embargo, llegará un punto en el que cuanto más reduzca el criterio de selección, peor será la generalización. Si no tiene suerte, puede terminar fácilmente con un modelo de regresión que funciona peor que el que comenzó (es decir, un modelo con todos los atributos).

Esto es especialmente probable cuando el conjunto de datos es pequeño (por lo que el criterio de selección tiene una alta varianza) y cuando hay muchas opciones posibles de modelo (por ejemplo, la elección de combinaciones de características). La regularización parece ser menos propensa a un ajuste excesivo, ya que es un parámetro escalar que debe ajustarse y esto proporciona una visión más restringida de la complejidad del modelo, es decir, menos grados efectivos de libertad con los que sobrepasar el criterio de selección. .


0

Utilizar la biblioteca saltos. Cuando traza las variables, el eje y muestra R ^ 2 ajustado. Miras donde las cajas son negras en el R ^ 2 más alto. Esto mostrará las variables que debe usar para su regresión lineal múltiple.

ejemplo vino a continuación:

library(leaps)
regsubsets.out <-
  regsubsets(Price ~ Year + WinterRain + AGST + HarvestRain + Age + FrancePop,
         data = wine,
         nbest = 1,       # 1 best model for each number of predictors
         nvmax = NULL,    # NULL for no limit on number of variables
         force.in = NULL, force.out = NULL,
         method = "exhaustive")
regsubsets.out

#----When you plot wherever R^2 is the highest with black boxes,
#so in our case AGST + HarvestRain + WinterRain + Age and the dependent var.is Price----#
summary.out <- summary(regsubsets.out)
as.data.frame(summary.out$outmat)
plot(regsubsets.out, scale = "adjr2", main = "Adjusted R^2")

Esto no suena muy distinto de la llamada selección de 'mejores subconjuntos', que tiene problemas conocidos.
gung - Restablece a Monica

leaps calcula explícitamente los 'mejores subconjuntos', aunque no le aconseja cómo seleccionar entre subconjuntos de diferente tamaño. (Eso es un asunto entre usted y su clero estadístico.)
steveo'america

leapsCuriosamente , se basa en el "código FORTRAN77 de Alan Miller [...] que se describe con más detalle en su libro 'Subset Selection in Regression'", un libro que Dikran menciona en otra respuesta a esta pregunta :-)
jorijnsmit


-2

¿Por qué no hacer análisis de correlación Primero y luego incluir en la regresión solo aquellos que se correlacionan con Dv?


2
Por lo general, esta es una forma pobre de elegir qué variables seleccionar, ver, por ejemplo, ¿Es correcto usar la matriz de correlación para seleccionar predictores para la regresión? Un análisis de correlación es bastante diferente a la regresión múltiple, porque en este último caso tenemos que pensar en la "separación" (las pendientes de regresión muestran la relación una vez que se tienen en cuenta otras variables ), pero una matriz de correlación no muestra esto.
Silverfish

Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación , podrá comentar cualquier publicación ; en su lugar, proporcione respuestas que no requieran una aclaración del autor de la pregunta . - De la opinión
Sycorax dice Reinstate Monica

1
@GeneralAbrial Me parece que esta es una respuesta a la pregunta, aunque sea breve. No es una buena solución al problema, pero para eso están los votos positivos / negativos. (Creo que "por qué no" pretende ser una pregunta retórica, en lugar de una solicitud de aclaración del autor.)
Silverfish

-4

Mi asesor ofreció otra forma posible de hacerlo. Ejecute todas sus variables una vez y luego elimine las que no cumplan con algún umbral (establecemos nuestro umbral como p <.25). Continúe iterando de esa manera hasta que todas las variables caigan por debajo de ese valor de .25, luego informe aquellos valores que sean significativos.


1
Hola Allie, eso es lo que @Peter Ellis mencionó en el segundo párrafo de su respuesta. Su segunda oración allí cubre el problema que presenta esta técnica. ¿Tiene una teoría que le dice qué predictores debe poner en su modelo?
Michelle

Sí, @Michelle tiene razón al subrayar la responsabilidad de este enfoque. Puede producir resultados muy arbitrarios.
rolando2

Sí, hay una teoría detrás de todo, que esperamos ampliar. En particular, estamos viendo cómo interactúan ciertas señales sociales (como el habla). Somos conscientes de cuáles tienen o no influencia. Sin embargo, estamos intentando proporcionar versiones más finas. Así, el habla puede ser dividido en cuestión, opinión, evaluación, etc.
cryptic_star

2
Bien, entonces estás haciendo análisis exploratorios. :) Puedes probar diferentes combinaciones, pero deberás probar el modelo con el que terminas con nuevos datos. Por definición, con lo que está haciendo, tendrá el "mejor" modelo para sus datos, pero es posible que no funcione si recopila otro conjunto de datos.
Michelle
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.