Eu construí um classificador de regressão logística que é muito preciso nos meus dados. Agora eu quero entender melhor por que está funcionando tão bem. Especificamente, eu gostaria de classificar quais recursos estão dando a maior contribuição (quais recursos são mais importantes) e, idealmente, quantificar quanto cada recurso está contribuindo para a precisão do modelo geral (ou algo nesse sentido). Como eu faço isso?
Meu primeiro pensamento foi classificá-los com base em seu coeficiente, mas suspeito que isso não pode estar certo. Se eu tiver dois recursos igualmente úteis, mas a propagação do primeiro for dez vezes maior que o segundo, esperaria que o primeiro recebesse um coeficiente mais baixo que o segundo. Existe uma maneira mais razoável de avaliar a importância do recurso?
Observe que não estou tentando entender o quanto uma pequena alteração no recurso afeta a probabilidade do resultado. Em vez disso, estou tentando entender o valor de cada recurso, em termos de tornar o classificador preciso. Além disso, meu objetivo não é tanto executar a seleção de recursos ou construir um modelo com menos recursos, mas tentar fornecer alguma "explicabilidade" para o modelo aprendido, para que o classificador não seja apenas uma caixa preta opaca.
Respostas:
A primeira coisa a observar é que você não usa a regressão logística como classificador. O fato de ser binário não tem absolutamente nada a ver com o uso desse método de probabilidade máxima para realmente classificar as observações. Depois de superar isso, concentre-se na medida de informações padrão-ouro, que é um subproduto da máxima probabilidade: a razão de verossimilhança estatística. Você pode produzir um gráfico mostrando a contribuição parcial de cada preditor em termos de sua parcialY χ2 χ2 estatística. Essas estatísticas têm informações / potência máximas. Você pode usar o bootstrap para mostrar o quão difícil é escolher "vencedores" e "perdedores" obtendo intervalos de confiança nas classificações das informações preditivas fornecidas por cada preditor, uma vez que os outros preditores são contabilizados. Um exemplo está na Seção 5.4 das notas do meu curso - clique em Folhetos e depois em Folhetos novamente.
Se você possui recursos altamente correlacionados, pode fazer um "teste de bloco" para combinar a influência deles. Um gráfico que faz isso é apresentado na Figura 15.11, onde
size
representa a contribuição combinada de 4 preditores separados.fonte
A resposta curta é que não existe uma maneira única e "certa" de responder a essa pergunta.
Para uma melhor revisão das questões, consulte os documentos de Ulrike Groemping, por exemplo, Estimadores de Importância Relativa em Regressão Linear Baseados na Decomposição de Variância . As opções que ela discute variam de heurísticas simples a soluções sofisticadas, intensivas em CPU e multivariadas.
http://prof.beuth-hochschule.de/fileadmin/prof/groemp/downloads/amstat07mayp139.pdf
Groemping propõe sua própria abordagem em um pacote R chamado RELAIMPO que também vale a pena ler.
https://cran.r-project.org/web/packages/relaimpo/relaimpo.pdf
Uma heurística rápida e suja que usei é resumir os qui-quadrados (valores F, estatísticas t) associados a cada parâmetro e, em seguida, repercutir os valores individuais com essa soma. O resultado seria uma métrica de importância relativa classificável.
Dito isto, nunca fui fã de "coeficientes beta padronizados", embora sejam frequentemente recomendados pela profissão e amplamente utilizados. Aqui está o problema com eles: a padronização é univariada e externa à solução do modelo. Em outras palavras, essa abordagem não reflete a natureza condicional dos resultados do modelo.
fonte
Uma maneira bastante robusta de fazer isso seria tentar ajustar o modelo N vezes em que N é o número de recursos. Sempre use N-1 dos recursos e deixe um deles de fora. Em seguida, você pode usar sua métrica de validação favorita para medir o quanto a inclusão ou exclusão de cada recurso afeta o desempenho do modelo. Dependendo do número de recursos que você possui, isso pode ser computacionalmente caro.
fonte
Com relação ao seu último ponto, é claro que é possível que uma variável contribua muito para as probabilidades estimadas de log, sem afetar realmente as probabilidades "verdadeiras" de log, mas não acho que isso precise ser muito preocupante se Confie no procedimento que produziu as estimativas.
fonte
Você está certo sobre por que não deve usar os coeficientes como uma medida de relevância, mas pode fazê-lo se os dividir pelo erro padrão deles! Se você estimou o modelo com R, ele já está pronto para você! Você pode até remover os recursos menos importantes do modelo e ver como ele funciona.
Uma abordagem mais heurística para estudar como diferentes mudanças nas variáveis alteram o resultado está fazendo exatamente isso: tente diferentes entradas e estude suas probabilidades estimadas. No entanto, como seu modelo é bastante simples, eu usaria contra isso
fonte