6 votos

La regresión como forma de determinar la importancia de las variables

En mi trabajo, empleamos un algoritmo de vecino más cercano para clasificar los registros. Parte de este proceso, por supuesto, incluye la determinación de las características que se utilizan como información auxiliar en el algoritmo. Además, permitimos ponderar las características que seleccionamos para que las más importantes tengan mayor peso en el cálculo de la distancia.

A la hora de seleccionar qué características utilizar y cómo ponderarlas, lo primero que se les ocurre a mis colegas es realizar una regresión sobre la variable de interés utilizando la información auxiliar y, a continuación, utilizar los coeficientes y/o los valores p obtenidos de esa regresión para decidir qué características y sus ponderaciones utilizar en el algoritmo del vecino más cercano.

Mi pensamiento inicial es que este método probablemente no es la mejor manera de hacerlo, pero no puedo encontrar ninguna razón concreta en contra, aparte de decir que las características que pueden funcionar bien en el contexto de la regresión pueden no funcionar bien en el contexto del vecino más cercano.

¿Alguien tiene alguna opinión sobre la validez de este método? ¿Es un método de selección de características adecuado o estoy en lo cierto al pensar que no es la mejor manera?

1 votos

¿Está normalizando las variables auxiliares para que estén en la misma escala? Si no es así, la importancia medida de este modo dependerá de las unidades de medida de forma arbitraria.

0 votos

Estoy de acuerdo en que si se va a hacer el método anterior, es necesario normalizar las variables, pero ¿es suficiente? ¿Hay algo más que impida que esto sea un método viable?

0 votos

Me gusta usar "Boruta" y "permutación de la importancia de las variables", pero entonces no estoy transformando el espacio usando eso en ningún tipo de sentido de Mahalanobis. ¿Cómo se tiene en cuenta el "peso"? ¿Ya está codificado de más de una manera en su enfoque?

5voto

Even Mien Puntos 10122

¿Alguien tiene alguna opinión sobre la validez de este método?

El principal problema que veo es que la regresión lineal propone dividir el espacio muestral en dos (los dos "lados" de un hiperplano), mientras que los vecinos más cercanos lo dividirán en regiones (quizás muchas), dependiendo de cómo se muestreen las diferentes clases en el espacio muestral.

El peor escenario que puedo ver es el siguiente. Tus datos muestran una distribución que KNN puede manejar bien, pero que una regresión lineal realizará miserablemente, como el tablero de ajedrez de la siguiente imagen (el código está al final del post). Aunque esto es una caricatura, muchos otros conjuntos de datos mostrarán el mismo comportamiento.

enter image description here

Una regresión lineal descartaría ambas características si selecciona sus características en función de los valores p :

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.538955   0.041424  37.151   <2e-16 ***
x1          -0.037032   0.027543  -1.345    0.179    
x2          -0.006612   0.027526  -0.240    0.810    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Si decide ponderar las características basándose en las ponderaciones de la regresión lineal, tenga en cuenta que las ponderaciones pueden ser de un orden de magnitud diferente, ¡aunque no hay razón para que lo sean! Esto equivaldría a proyectar sus datos sobre un único eje, sobre el que el KNN no podría aprender nada relevante (piense en los colores de los puntos si los mira desde una única dimensión).

Por lo tanto, yo no utilizaría este enfoque para calibrar los pesos de un KNN (o seleccionar los atributos).

Editar

Puede aumentar cualquier medida de bondad de ajuste añadiendo variables que muestren una dependencia lineal con respecto al objetivo. En este caso, la bondad del ajuste ya no sería trivial, pero se perdería la información procedente de las dos primeras variables.

En KNN ponderado

Sin embargo, existe la posibilidad de cambiar la función de distancia, de una distancia euclidiana a una distancia en la que las dimensiones tienen pesos diferentes. Este enfoque es largo de afinar porque hay que evaluar el modelo cada vez que se cambia el peso de un atributo. Si $p$ es su número de funciones y quiere sustituir una función $x$ por $x/2$ y $x\times2$ , usted tiene $3^p$ modelos a evaluar (con una estrategia ingenua).

Tenga en cuenta que puede tener una mejora significativa si trata las características de forma independiente (no cada combinación de ellas), ejecutando sólo $3\times p$ modelos.

Otras mejoras para KNN

J. Wang, P. Neskovic y L. N. Cooper, "Improving nearest neighbor rule with a simple adaptive distance measure", Pattern Recognition Letters, vol. 28, nº 2, pp. 207-213, enero de 2007.

"Random KNN feature selection - a fast and stable alternative to Random Forests" Shengqiao Li, E James Harner and Donald A Adjeroh, Bioinformatics 2011 12:450

Código

N <- 2000

decision_function <- function(x){
  (((x[1]%%1-0.5)*(-x[2]%%1-0.5))>0)+1
}

x <- abs(matrix(runif(n = N, min = 0, max = 2), ncol = 2))
y <- apply(X = x, MARGIN = 1, FUN = decision_function)

plot(x, col=y)

model <- lm(y ~ x, data = cbind.data.frame(x,y))

summary(model)

1 votos

Gracias por el ejemplo, ilustra bien el punto que estaba tratando de hacer sobre las características que son importantes en el contexto de la regresión no necesariamente son importantes en el espacio de los vecinos más cercanos. Supongo que mi único punto de contraposición a su ejemplo, es que la R al cuadrado en su ejemplo sería tan baja que sería obvio que la selección de características utilizando la regresión sería una mala idea. Me pregunto si existen casos menos obvios en los que las características serían malas en la regresión y buenas en el KNN, pero la regresión sigue funcionando bien en general.

0 votos

@astel Efectivamente, la bondad de ajuste es baja en este caso. He editado el post para mostrar que se puede aumentar la bondad de ajuste de la regresión, pero en la que se seguiría perdiendo información

4voto

mdewey Puntos 579

En la situación de regresión clásica, el problema ha dado lugar a una serie de soluciones. En un artículo en el que describe su software para calcular varios de estos métodos, titulado "Relative importance for linear regression in R: the package relaimpo", disponible aquí Ulricke Grömping ofrece una serie de parámetros para decidir la importancia relativa de los predictores en un modelo de regresión. Los más sencillos son: qué variable por sí sola es la mejor, qué variable aporta más condicionada por todas las demás. Las más complejas incluyen algunas que se basan en la estandarización en primer lugar y otras de uso intensivo de ordenadores que implican la optimización de los posibles órdenes de entrada de las variables en el modelo. Como el artículo es de libre acceso, no intentaré hacer un resumen más detallado aquí. El software es de código abierto.

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