No nível do modelo, para avaliar a contribuição / importância do preditor, podemos usar:
- Técnicas específicas do modelo - por exemplo, pureza (Índice de Gini) para um modelo baseado em árvore, coeficientes do modelo, quando aplicável, etc.
- Técnicas independentes de modelo - por exemplo, importância da característica de permutação, dependência parcial etc.
O que isso não transmite é para uma previsão específica (digamos, uma classificação binária que fornece 92% de probabilidade de pertencer à classe 1) quais preditores foram mais "influentes" na produção dessa previsão.
Tendo pensado um pouco sobre esse problema, parece-me que existem algumas abordagens que podem ser adotadas:
- Técnicas específicas do modelo - por exemplo, coeficientes de modelos lineares aplicáveis, técnicas como aqui descritas para, por exemplo, o XGBoost ( https://medium.com/applied-data-science/new-r-package-the-xgboost-explainer-51dd7d1aa211 )
- Técnicas independentes de modelo - por exemplo, algum tipo de "método de perturbação" semelhante à Dependência parcial para entender como a previsão muda quando perturbamos o preditor e talvez modelar isso ?, ou técnicas como LIME descritas neste artigo ( https://arxiv.org/ pdf / 1602.04938.pdf e https://github.com/marcotcr/lime ), uma técnica de Importância da Permutação modificada?
Parece-me que a abordagem mais valiosa seria uma técnica independente de modelo, dada a natureza um tanto "de caixa-preta" de muitos algoritmos, e fornecendo a capacidade de interpretar novos e novos algoritmos e técnicas.
Um método ingênuo, descrito aqui ( http://amunategui.github.io/actionable-instights/index.html ) é pegar cada preditor, "neutralizar" seu impacto, digamos, imputando a média da "população" e executar a previsão novamente. obtendo uma diferença entre a previsão original e a versão neutralizada, fornecendo uma medida de importância. Este parece ser um caso especial de um tipo de método de "perturbação", sugerido acima. Algumas falhas que vejo nelas são: 1) parece implicar que uma previsão que tenha o "médio" (ou equivalente) de cada recurso seja necessariamente uma previsão "média", talvez, e 2) que os recursos que são "meios ”(Ou equivalente) são necessariamente sem impacto?
De maneira mais geral, qualquer técnica teria que explicar:
- Como lidar com diferentes tipos de dados (numéricos, categóricos etc.)
- Como lidar com dados ausentes
- Como lidar com a importância condicional, talvez (ou seja, que os preditores podem ser importantes apenas em pares, etc.)
- Eficiência computacional (é realmente prático executar uma predição vezes em que é o número de preditores ou para um método de perturbação que é o número de predições por preditor etc.)p k p k
Com aqueles pensamentos soltos e talvez incorretos sobre o assunto exposto, pergunto-me que abordagens ao problema as pessoas estão cientes, consideraram, usaram, recomendariam etc.?
fonte
Dois outros métodos que vale a pena mencionar aqui são:
1) O algoritmo SHAP de Lundberg & Lee , uma extensão da abordagem teórica dos jogos de Štrumbelj & Kononenko, que eles alegam unificar o LIME e várias outras medidas de importância local; e
2) O método contrafactual de Wachter et al. , Baseado em redes adversárias generativas.
Ambos os métodos têm vantagens e desvantagens. O SHAP é muito rápido e vem com uma implementação Python fácil de usar . Infelizmente, no entanto, ele sempre compara pontos com o centróide de dados, que pode não ser o contraste relevante em alguns casos. Além disso, como LIME e vários outros algoritmos, ele assume (ou reforça) a linearidade local, o que pode levar a resultados instáveis ou pouco informativos quando nosso caso de interesse estiver próximo a uma região distintamente não linear do limite de decisão ou da superfície de regressão.
A solução de Wachter et al. É mais flexível a esse respeito, um desvio refrescante do que Lundberg & Lee chamam de paradigma "atribuição de recurso aditivo". No entanto, não conheço nenhuma implementação de código aberto. A sobrecarga adicional do treinamento da GAN também pode ser extremamente onerosa para alguns conjuntos de dados.
fonte