20 votos

Para los clasificadores lineales, ¿los coeficientes más grandes implican características más importantes?

Soy un ingeniero de software de trabajar en la máquina de aprendizaje. Desde mi entender, la regresión lineal (como OLS) y lineal de clasificación (como la regresión logística y SVM) hacer una predicción basada en un producto interior entre capacitado coeficientes de $\vec{w}$ y función de las variables de $\vec{x}$:

$$ \hat{y} = f(\vec{w} \cdot \vec{x}) = f(\sum_{i} w_i x_i) $$

Mi pregunta es: Después de que el modelo ha sido entrenado (que es, después de los coeficientes $w_i$ han de ser calculadas), es el caso de que los coeficientes será más grande para la función de las variables que son más importantes para el modelo para predecir con más precisión?

En otras palabras, me estoy preguntando si las magnitudes relativas de los coeficientes puede ser utilizado para la selección de características por orden justo de las variables mediante el coeficiente de valor y, a continuación, seleccionar la cuenta con los más altos coeficientes? Si este enfoque es válido, entonces, ¿por qué no se menciona para la selección de características (junto con el envoltorio y métodos de filtro, etc.).

La razón que pido es porque me llegó a través de una discusión en L1 vs L2 de regularización. Hay una propaganda que dice:

Construido-en la selección de características se menciona con frecuencia como un útil propiedad de la L1-norma, que la norma L2 no. Esto es en realidad resultado de la L1-norma, que tiende a produce escasa coeficientes de (se explica más adelante). Supongamos que el modelo 100 de los coeficientes, pero sólo 10 de ellos tiene distinto de cero los coeficientes, esto es, efectivamente, diciendo que "el otro 90 predictores son útiles en la predicción de los valores de destino".

Leyendo entre líneas, me imagino que si el coeficiente es cercano a 0, entonces la función de variable con coeficiente debe tener poco poder predictivo.

EDIT: yo también soy la aplicación z-escalado a mi las variables numéricas.

29voto

RossC Puntos 3725

No en todos. La magnitud de los coeficientes depende directamente de las escalas seleccionadas para las variables, que es un poco arbitrario de modelado de decisión.

Para ver esto, considere la posibilidad de un modelo de regresión lineal para predecir la pétalo ancho de un iris (en centímetros) dada su pétalo de la longitud (en centímetros):

summary(lm(Petal.Width~Petal.Length, data=iris))
# Call:
# lm(formula = Petal.Width ~ Petal.Length, data = iris)
# 
# Residuals:
#      Min       1Q   Median       3Q      Max 
# -0.56515 -0.12358 -0.01898  0.13288  0.64272 
# 
# Coefficients:
#               Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  -0.363076   0.039762  -9.131  4.7e-16 ***
# Petal.Length  0.415755   0.009582  43.387  < 2e-16 ***
# ---
# Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1
# 
# Residual standard error: 0.2065 on 148 degrees of freedom
# Multiple R-squared:  0.9271,  Adjusted R-squared:  0.9266 
# F-statistic:  1882 on 1 and 148 DF,  p-value: < 2.2e-16

Nuestro modelo logra un ajuste de R^2 valor de 0.9266 y asigna el valor de coeficiente de 0.415755 a los Pétalos.De longitud variable.

Sin embargo, la elección para definir Pétalo.La longitud en centímetros fue bastante arbitraria, y que podría tener lugar definido la variable en metros:

iris$Petal.Length.Meters <- iris$Petal.Length / 100
summary(lm(Petal.Width~Petal.Length.Meters, data=iris))
# Call:
# lm(formula = Petal.Width ~ Petal.Length.Meters, data = iris)
# 
# Residuals:
#      Min       1Q   Median       3Q      Max 
# -0.56515 -0.12358 -0.01898  0.13288  0.64272 
# 
# Coefficients:
#                     Estimate Std. Error t value Pr(>|t|)    
# (Intercept)         -0.36308    0.03976  -9.131  4.7e-16 ***
# Petal.Length.Meters 41.57554    0.95824  43.387  < 2e-16 ***
# ---
# Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1
# 
# Residual standard error: 0.2065 on 148 degrees of freedom
# Multiple R-squared:  0.9271,  Adjusted R-squared:  0.9266 
# F-statistic:  1882 on 1 and 148 DF,  p-value: < 2.2e-16

Por supuesto, esto no afecta realmente a la modelo ajustado de ninguna manera, simplemente asigna un 100 veces mayor al coeficiente de Pétalo.Longitud.Metros (41.57554) que le hicieron a Pétalo.Longitud (0.415755). Todas las demás propiedades del modelo ajustado (R^2, t-estadística, los valores de p, etc.) son idénticos.

Generalmente cuando montaje de regularización de modelos lineales, uno primero normalizar las variables (por ejemplo, para tener una media 0 y varianza la unidad) para evitar favorecer a algunas de las variables sobre los demás basándose en las escalas.

Suponiendo Que Los Datos Normalizados

Incluso si se habían normalizado todas las variables, las variables con coeficientes mayores todavía puede no ser tan útil en las predicciones debido a que las variables independientes son raramente conjunto (tienen baja varianza). Como un ejemplo, considere un conjunto de datos con la variable dependiente Z y las variables independientes X y Y tomando los valores binarios

set.seed(144)
dat <- data.frame(X=rep(c(0, 1), each=50000),
                  Y=rep(c(0, 1), c(1000, 99000)))
dat$Z <- dat$X + 2*dat$Y + rnorm(100000)

Por construcción, el coeficiente de Y es aproximadamente dos veces tan grande como el coeficiente de X cuando ambos se utilizan para predecir Z a través de la regresión lineal:

summary(lm(Z~X+Y, data=dat))
# Call:
# lm(formula = Z ~ X + Y, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -4.4991 -0.6749 -0.0056  0.6723  4.7342 
# 
# Coefficients:
#              Estimate Std. Error t value Pr(>|t|)    
# (Intercept) -0.094793   0.031598   -3.00   0.0027 ** 
# X            0.999435   0.006352  157.35   <2e-16 ***
# Y            2.099410   0.031919   65.77   <2e-16 ***
# ---
# Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1
# 
# Residual standard error: 0.9992 on 99997 degrees of freedom
# Multiple R-squared:  0.2394,  Adjusted R-squared:  0.2394 
# F-statistic: 1.574e+04 on 2 and 99997 DF,  p-value: < 2.2e-16

Aún así, X explica más de la varianza de Z de Y (el modelo de regresión lineal la predicción de Z con X tiene R^2 valor 0.2065, mientras que el modelo de regresión lineal la predicción de Z con S ha R^2 valor 0.0511):

summary(lm(Z~X, data=dat))
# Call:
# lm(formula = Z ~ X, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -5.2587 -0.6759  0.0038  0.6842  4.7342 
# 
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept) 1.962629   0.004564   430.0   <2e-16 ***
# X           1.041424   0.006455   161.3   <2e-16 ***
# ---
# Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1
# 
# Residual standard error: 1.021 on 99998 degrees of freedom
# Multiple R-squared:  0.2065,  Adjusted R-squared:  0.2065 
# F-statistic: 2.603e+04 on 1 and 99998 DF,  p-value: < 2.2e-16

versus:

summary(lm(Z~Y, data=dat))
# Call:
# lm(formula = Z ~ Y, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -5.0038 -0.7638 -0.0007  0.7610  5.2288 
# 
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept) -0.09479    0.03529  -2.686  0.00724 ** 
# Y            2.60418    0.03547  73.416  < 2e-16 ***
# ---
# Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1
# 
# Residual standard error: 1.116 on 99998 degrees of freedom
# Multiple R-squared:  0.05114, Adjusted R-squared:  0.05113 
# F-statistic:  5390 on 1 and 99998 DF,  p-value: < 2.2e-16

El Caso de Multi-Colinealidad

Un tercer caso donde los grandes valores del coeficiente puede ser engañosa sería en el caso de una multi-colinealidad entre las variables. Como un ejemplo, considere un conjunto de datos donde X e y están altamente correlacionados, pero W no está altamente correlacionada con los otros dos; estamos tratando de predecir Z:

set.seed(144)
dat <- data.frame(W=rnorm(100000),
                  X=rnorm(100000))
dat$Y <- dat$X + rnorm(100000, 0, 0.001)
dat$Z <- 2*dat$W+10*dat$X-11*dat$Y + rnorm(100000)
cor(dat)
#              W             X             Y          Z
# W 1.000000e+00  5.191809e-05  5.200434e-05  0.8161636
# X 5.191809e-05  1.000000e+00  9.999995e-01 -0.4079183
# Y 5.200434e-05  9.999995e-01  1.000000e+00 -0.4079246
# Z 8.161636e-01 -4.079183e-01 -4.079246e-01  1.0000000

Estas variables bastante tienen la misma media (0) y la varianza (~1), y la regresión lineal asigna mucho más altos valores del coeficiente (en valor absoluto) a X (unos 15) y y (aproximadamente -16) que W (alrededor de 2):

summary(lm(Z~W+X+Y, data=dat))
# Call:
# lm(formula = Z ~ W + X + Y, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -4.1886 -0.6760  0.0026  0.6679  4.2232 
# 
# Coefficients:
#               Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  1.831e-04  3.170e-03   0.058    0.954    
# W            2.001e+00  3.172e-03 630.811  < 2e-16 ***
# X            1.509e+01  3.177e+00   4.748 2.05e-06 ***
# Y           -1.609e+01  3.177e+00  -5.063 4.13e-07 ***
# ---
# Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1
# 
# Residual standard error: 1.002 on 99996 degrees of freedom
# Multiple R-squared:  0.8326,  Adjusted R-squared:  0.8326 
# F-statistic: 1.658e+05 on 3 and 99996 DF,  p-value: < 2.2e-16

Aún así, entre las tres variables en el modelo W es la más importante: Si elimina W desde el modelo completo, el R^2 gotas de 0.833 a 0.166, mientras que si se le cae X o Y la R^2 es prácticamente igual.

17voto

EdM Puntos 5716

"En función de la importancia" es un concepto escurridizo, incluso cuando todos los predictores han sido ajustados a una escala común (que en sí mismo es un no-problema trivial en muchas aplicaciones prácticas que involucran variables categóricas o distribuciones sesgadas). Así que si usted evitar los problemas de escala indicada en la respuesta a por @josliber o la baja predictor de la varianza en la cuestión planteada por @dsaxton, usted todavía tiene problemas adicionales.

Por ejemplo, una medida más útil de la característica de importancia puede ser la relación de su coeficiente para el error en la estimación de su coeficiente. Un alto coeficiente con un gran error estimado no necesariamente ser útil en las predicciones. De modo que el coeficiente de magnitud solos, incluso en la pre-escalada de la situación, no es una buena guía para la "importancia".

Sin embargo, un indicador puede ser importante incluso si su coeficiente de relación entre la magnitud de error es bajo (es decir, no es "estadísticamente significativa"). Modelos lineales proporcionan la capacidad para tomar múltiples variables predictoras en cuenta de forma simultánea, por lo que incluir un "no significativo" predictor en el modelo puede mejorar el rendimiento general proporcionada por la combinación de recaudación de los predictores.

Por otra parte, los intentos para seleccionar "importante" variables predictoras tienden a ser altamente dependiente de los datos particulares de la muestra y, a menudo, no se extienden también a otros ejemplos, en particular si las variables están correlacionadas. Usted puede ver esto por ti mismo repitiendo la selección de características en múltiples muestras bootstrap del mismo conjunto de datos. Frank Harrell, en esta respuesta se muestra cómo utilizar su rms paquete en R para la clasificación de la característica de importancia, y las notas en esta respuesta de cómo utilizar el bootstrap para obtener los intervalos de confianza para las filas. Arranque puede servir como una advertencia a aquellos que ponen demasiada importancia en la característica de "importancia".

Esta pregunta de casi 3 años, señalado por @ameba, también entra en muchos detalles acerca de las dificultades con la característica de importancia en los modelos de regresión múltiple.

6voto

JoanComasFdz Puntos 131

Solo para agregar a la respuesta anterior, el coeficiente en sí mismo tampoco logra capturar la variabilidad que exhibe un predictor, lo que tiene un gran efecto sobre cuán útil es hacer predicciones. Considere el modelo simple

$$ \ text {E} (Y_i) = \ alpha + \ beta X_i $$

donde$X_i$ es una variable aleatoria de Bernoulli$(p)$. Al tomar$p \to 0$, podemos enviar la utilidad de este predictor a cero también, pero el coeficiente siempre será$\beta$.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X