Hay varias publicaciones sobre cómo seleccionar funciones. Uno de los métodos describe la importancia de la característica basada en estadísticas t. En R varImp(model)
aplicado en modelo lineal con características estandarizadas, se utiliza el valor absoluto del estadístico t para cada parámetro del modelo. Entonces, básicamente elegimos una característica basada en sus estadísticas t, lo que significa qué tan preciso es el coeficiente. Pero, ¿la precisión de mi coeficiente me dice algo sobre las capacidades predictivas de la función?
¿Puede suceder que mi característica tenga una estadística t baja pero que aún mejore (digamos) la precisión del modelo? En caso afirmativo, ¿cuándo querría excluir variables basadas en las estadísticas t? ¿O da solo un punto de partida para verificar las habilidades predictivas de variables no importantes?
varImp()
está destinado a ser una función informativa o de diagnóstico y no se utiliza directamente para la selección o eliminación de funciones.Respuestas:
El estadístico t puede tener casi nada que decir sobre la capacidad predictiva de una característica, y no se deben usar para eliminar el predictor o permitir que los predictores entren en un modelo predictivo.
Los valores P dicen que las características espurias son importantes
Considere la siguiente configuración de escenario en R. Creemos dos vectores, el primero es simplemente monedas al azar:5000
El segundo vector son observaciones, cada una asignada aleatoriamente a una de 500 clases aleatorias de igual tamaño:5000 500
Ahora ajustamos un modelo lineal para predecir
y
dadorand.classes
.La correcta valor para todos los coeficientes es cero, ninguno de ellos tiene ningún poder predictivo. Sin embargo, muchos de ellos son significativos al nivel del 5%
De hecho, deberíamos esperar que alrededor del 5% de ellos sean significativos, ¡aunque no tengan poder predictivo!
Los valores P no pueden detectar características importantes
Aquí hay un ejemplo en la otra dirección.
He creado dos predictores correlacionados , cada uno con poder predictivo.
Los valores p no pueden detectar el poder predictivo de ambas variables porque la correlación afecta la precisión con que el modelo puede estimar los dos coeficientes individuales a partir de los datos.
Las estadísticas inferenciales no están ahí para informar sobre el poder predictivo o la importancia de una variable. Es un abuso de estas medidas usarlas de esa manera. Hay opciones mucho mejores disponibles para la selección de variables en modelos lineales predictivos, considere usar
glmnet
.(*) Tenga en cuenta que estoy dejando una intercepción aquí, por lo que todas las comparaciones son a la línea de base de cero, no a la media grupal de la primera clase. Esta fue la sugerencia de @ whuber.
Como condujo a una discusión muy interesante en los comentarios, el código original fue
y
que condujo al siguiente histograma
fuente
lm(y ~ rand.class - 1)
. Esto no cambia la validez de todos sus comentarios (+1). Para ser aún más convincente, equilibre los tamaños de los grupos:rand.class <- cut(1:N, N.classes)
La estadística t está influenciada por el tamaño del efecto y el tamaño de la muestra. Puede darse el caso de que el tamaño del efecto no sea cero, pero el tamaño de la muestra no es lo suficientemente grande como para que sea significativo.
En su caso, cualquier característica con un efecto distinto de cero mejorará el rendimiento, pero es posible que no tenga suficientes datos para hacer que el valor p de esa característica sea significativo.
fuente