Soy un ingeniero de software que trabaja en aprendizaje automático. Según tengo entendido, la regresión lineal (como OLS) y la clasificación lineal (como la regresión logística y SVM) hacen una predicción basada en un producto interno entre los coeficientes entrenados y las variables de característica :
Mi pregunta es: después de que el modelo haya sido entrenado (es decir, después de que se hayan calculado los coeficientes ), ¿es el caso que los coeficientes serán más grandes para las variables de características que son más importantes para que el modelo prediga con mayor precisión?
En otras palabras, estoy preguntando si las magnitudes relativas de los coeficientes se pueden usar para la selección de características simplemente ordenando las variables por valor de coeficiente y luego seleccionando las características con los coeficientes más altos. Si este enfoque es válido, ¿por qué no se menciona para la selección de características (junto con los métodos de envoltura y filtro, etc.).
La razón por la que pregunto esto es porque me encontré con una discusión sobre la regularización L1 vs. L2 . Hay una propaganda que dice:
La selección de funciones incorporadas se menciona con frecuencia como una propiedad útil de la norma L1, que la norma L2 no hace. Esto es en realidad el resultado de la norma L1, que tiende a producir coeficientes dispersos (explicados a continuación). Supongamos que el modelo tiene 100 coeficientes, pero solo 10 de ellos tienen coeficientes distintos de cero, lo que efectivamente significa que "los otros 90 predictores son inútiles para predecir los valores objetivo".
Leyendo entre líneas, supongo que si un coeficiente es cercano a 0, entonces la variable característica con ese coeficiente debe tener poco poder predictivo.
EDITAR : también estoy aplicando la escala z a mis variables numéricas.
fuente
Respuestas:
De ningún modo. La magnitud de los coeficientes depende directamente de las escalas seleccionadas para las variables, que es una decisión de modelado algo arbitraria.
Para ver esto, considere un modelo de regresión lineal que predice el ancho del pétalo de un iris (en centímetros) dada su longitud del pétalo (en centímetros):
Nuestro modelo alcanza un valor R ^ 2 ajustado de 0.9266 y asigna un valor de coeficiente 0.415755 a la variable Petal.Length.
Sin embargo, la elección de definir Pétalo. Longitud en centímetros fue bastante arbitraria, y podríamos haber definido la variable en metros:
Por supuesto, esto realmente no afecta el modelo ajustado de ninguna manera: simplemente asignamos un coeficiente 100 veces más grande a Petal.Length.Meters (41.57554) que a Petal.Length (0.415755). Todas las demás propiedades del modelo (R ^ 2 ajustado, estadísticas t, valores p, etc.) son idénticas.
Generalmente, al ajustar modelos lineales regularizados, primero se normalizarán las variables (por ejemplo, para tener una media de 0 y una varianza unitaria) para evitar favorecer algunas variables sobre otras en función de las escalas seleccionadas.
Asumiendo datos normalizados
Incluso si hubiera normalizado todas las variables, las variables con coeficientes más altos podrían no ser tan útiles en las predicciones porque las variables independientes rara vez se establecen (tienen una varianza baja). Como ejemplo, considere un conjunto de datos con la variable dependiente Z y las variables independientes X e Y que toman valores binarios
Por construcción, el coeficiente de Y es aproximadamente el doble que el coeficiente de X cuando ambos se usan para predecir Z mediante regresión lineal:
Aún así, X explica más de la varianza en Z que Y (el modelo de regresión lineal que predice Z con X tiene un valor R ^ 2 0.2065, mientras que el modelo de regresión lineal que predice Z con Y tiene un valor R ^ 2 0.0511):
versus:
El caso de la multicolinealidad
Un tercer caso donde los valores de coeficientes grandes pueden ser engañosos sería en el caso de una multicolinealidad significativa entre variables. Como ejemplo, considere un conjunto de datos donde X e Y están altamente correlacionados pero W no está altamente correlacionado con los otros dos; estamos tratando de predecir Z:
Estas variables tienen más o menos la misma media (0) y varianza (~ 1), y la regresión lineal asigna valores de coeficientes mucho más altos (en valor absoluto) a X (aproximadamente 15) e Y (aproximadamente -16) que a W ( aproximadamente 2):
Aún así, entre las tres variables en el modelo W está la más importante: si elimina W del modelo completo, el R ^ 2 cae de 0.833 a 0.166, mientras que si cae X o Y, el R ^ 2 prácticamente no cambia.
fuente
La "importancia de la característica" es un concepto muy resbaladizo incluso cuando todos los predictores se han ajustado a una escala común (que en sí mismo es un problema no trivial en muchas aplicaciones prácticas que involucran variables categóricas o distribuciones sesgadas). Entonces, si evita los problemas de escalamiento indicados en la respuesta de @josliber o el problema de baja varianza del predictor planteado por @dsaxton, todavía tiene problemas adicionales.
Por ejemplo, una medida más útil de la importancia de la característica puede ser la relación entre su coeficiente y el error estimado de su coeficiente. Un coeficiente alto con un gran error estimado no necesariamente sería útil en las predicciones. Por lo tanto, la magnitud del coeficiente por sí sola, incluso en la situación preescalada, no es una buena guía de "importancia".
Sin embargo, un predictor puede ser importante incluso si la relación de magnitud y error de su coeficiente es baja (es decir, no es "estadísticamente significativa"). Los modelos lineales proporcionan la capacidad de tener en cuenta múltiples variables predictoras simultáneamente, por lo que incluir un predictor "no significativo" en un modelo puede mejorar el rendimiento general proporcionado por la colección combinada de predictores.
Además, los intentos de seleccionar variables predictoras "importantes" tienden a depender en gran medida de la muestra de datos en particular y, a menudo, no se extienden bien a otras muestras, particularmente si las variables están correlacionadas. Puede ver esto usted mismo repitiendo la selección de funciones en múltiples muestras de arranque del mismo conjunto de datos. Frank Harrell, en esta respuesta muestra cómo usar su
rms
paquete en R para clasificar la importancia de la característica, y señala en esta respuesta cómo usar el bootstrap para obtener intervalos de confianza para los rangos. Bootstrapping puede servir como una advertencia para aquellos que le dan demasiada importancia a la "importancia de la característica".Esta pregunta de hace casi 3 años, señalada por @amoeba, también entra en detalles sobre las dificultades con importancia de características en los modelos de regresión múltiple.
fuente
Solo para agregar a la respuesta anterior, el coeficiente en sí mismo también falla al capturar cuánta variabilidad exhibe un predictor, lo que tiene un gran efecto sobre la utilidad de hacer predicciones. Considere el modelo simple
dóndeXyo es un Bernoulli( p ) variable aleatoria. Tomandop → 0 también podemos enviar la utilidad de este predictor a cero, pero el coeficiente siempre será β .
fuente