Existem várias postagens sobre como selecionar recursos. Um dos métodos descreve a importância do recurso com base nas estatísticas t. Em R varImp(model)
aplicado no modelo linear com características padronizadas , o valor absoluto da estatística t para cada parâmetro do modelo é usado. Então, basicamente escolhemos um recurso com base em suas estatísticas t, significando o quão preciso é o coeficiente. Mas a precisão do meu coeficiente me diz algo sobre as habilidades preditivas do recurso?
Pode acontecer que meu recurso tenha um estatístico t baixo, mas ainda melhoraria (digamos) a precisão do modelo? Se sim, quando alguém iria querer excluir variáveis com base nas estatísticas t? Ou isso fornece apenas um ponto de partida para verificar as habilidades preditivas de variáveis não importantes?
varImp()
se destina a ser uma função informativa ou de diagnóstico e não usada diretamente para seleção ou eliminação de recursos.Respostas:
A estatística t pode ter quase nada a dizer sobre a capacidade preditiva de um recurso, e não deve ser usada para filtrar preditores ou permitir que preditores entrem em um modelo preditivo.
Valores P dizem que características espúrias são importantes
Considere a seguinte configuração de cenário em R. Vamos criar dois vetores, o primeiro é simplesmente lançamentos aleatórios de moedas:5000
O segundo vetor é de observações, cada uma atribuída aleatoriamente a uma das 500 classes aleatórias de tamanho igual:5000 500
Agora, ajustamos um modelo linear para prever o que é
y
dadorand.classes
.O correto valor para todos os coeficientes é zero, nenhum deles tem qualquer poder de previsão. No entanto, muitos deles são significativos no nível de 5%
De fato, devemos esperar que cerca de 5% deles sejam significativos, mesmo que não tenham poder preditivo!
Os valores P falham ao detectar recursos importantes
Aqui está um exemplo na outra direção.
Eu criei dois preditores correlacionados , cada um com poder preditivo.
Os valores p falham em detectar o poder preditivo de ambas as variáveis porque a correlação afeta a precisão com que o modelo pode estimar os dois coeficientes individuais a partir dos dados.
As estatísticas inferenciais não existem para dizer sobre o poder preditivo ou a importância de uma variável. É um abuso dessas medidas usá-las dessa maneira. Existem opções muito melhores disponíveis para seleção de variáveis em modelos lineares preditivos, considere usar
glmnet
.(*) Observe que estou deixando uma interceptação aqui, portanto, todas as comparações são com a linha de base de zero, não com a média do grupo da primeira classe. Essa foi a sugestão do @ whuber.
Como levou a uma discussão muito interessante nos comentários, o código original foi
e
o que levou ao seguinte histograma
fonte
lm(y ~ rand.class - 1)
. Isso não altera a validade de todas as suas observações (+1). Para ser ainda mais convincente, equilibre os tamanhos dos grupos:rand.class <- cut(1:N, N.classes)
A estatística t é influenciada pelo tamanho do efeito e pelo tamanho da amostra. Pode ser que o tamanho do efeito seja diferente de zero, mas o tamanho da amostra não seja grande o suficiente para torná-lo significativo.
No seu caso, qualquer recurso com efeito diferente de zero melhorará o desempenho, mas talvez você não tenha dados suficientes para tornar significativo o valor p desse recurso.
fonte