Sou engenheiro de software trabalhando em aprendizado de máquina. Pelo meu entendimento, regressão linear (como OLS) e classificação linear (como regressão logística e SVM) fazem uma previsão com base em um produto interno entre coeficientes treinados variáveis de recurso → x :
A minha pergunta é: Depois que o modelo foi treinado (isto é, após os coeficientes ter ser computadas), é o caso de que os coeficientes serão maiores para as variáveis de recursos que são mais importantes para o modelo para prever com mais precisão?
Em outras palavras, estou perguntando se as magnitudes relativas dos coeficientes podem ser usadas para a seleção de características , apenas ordenando as variáveis pelo valor do coeficiente e selecionando as características com os coeficientes mais altos. Se essa abordagem for válida, por que não é mencionada na seleção de recursos (junto com os métodos de invólucro e filtro, etc.).
A razão pela qual pergunto isso é porque me deparei com uma discussão sobre regularização L1 vs. L2 . Há uma sinopse que diz:
A seleção de recursos internos é frequentemente mencionada como uma propriedade útil da norma L1, que a norma L2 não possui. Na verdade, isso é resultado da norma L1, que tende a produzir coeficientes esparsos (explicados abaixo). Suponha que o modelo tenha 100 coeficientes, mas apenas 10 deles tenham coeficientes diferentes de zero, isso significa efetivamente que "os outros 90 preditores são inúteis na previsão dos valores-alvo".
Lendo nas entrelinhas, acho que, se um coeficiente for próximo de 0, a variável de recurso com esse coeficiente deverá ter pouco poder preditivo.
EDIT : Eu também estou aplicando z-scaling para minhas variáveis numéricas.
fonte
Respostas:
De modo nenhum. A magnitude dos coeficientes depende diretamente das escalas selecionadas para as variáveis, o que é uma decisão de modelagem um tanto arbitrária.
Para ver isso, considere um modelo de regressão linear que preveja a largura da pétala de uma íris (em centímetros), considerando seu comprimento (em centímetros):
Nosso modelo atinge um valor de R ^ 2 ajustado de 0,9266 e atribui o valor do coeficiente 0,415755 à variável Petal.Length.
No entanto, a escolha de definir Petal.Length em centímetros foi bastante arbitrária, e poderíamos ter definido a variável em metros:
Obviamente, isso realmente não afeta o modelo ajustado - simplesmente atribuímos um coeficiente 100x maior a Petal.Length.Meters (41.57554) do que ao Petal.Length (0.415755). Todas as outras propriedades do modelo (R ^ 2 ajustado, estatística t, valores p, etc.) são idênticas.
Geralmente, ao ajustar modelos lineares regularizados, primeiro normalizamos as variáveis (por exemplo, para ter média 0 e variação unitária) para evitar favorecer algumas variáveis em detrimento de outras com base nas escalas selecionadas.
Assumindo Dados Normalizados
Mesmo se você normalizou todas as variáveis, as variáveis com coeficientes mais altos ainda podem não ser tão úteis nas previsões, porque as variáveis independentes raramente são definidas (apresentam baixa variação). Como exemplo, considere um conjunto de dados com a variável dependente Z e as variáveis independentes X e Y assumindo valores binários
Por construção, o coeficiente para Y é aproximadamente duas vezes maior que o coeficiente para X quando ambos são usados para prever Z via regressão linear:
Ainda assim, X explica mais da variação em Z do que Y (o modelo de regressão linear que prevê Z com X tem valor de R ^ 2 0,2065, enquanto o modelo de regressão linear que prevê Z com Y tem valor de R ^ 2 0,0511):
versus:
O caso da multicolinearidade
Um terceiro caso em que grandes valores de coeficiente podem enganar seria no caso de multicolinearidade significativa entre variáveis. Como exemplo, considere um conjunto de dados em que X e Y são altamente correlacionados, mas W não é altamente correlacionado aos outros dois; nós estamos tentando prever Z:
Essas variáveis têm praticamente a mesma média (0) e variância (~ 1), e a regressão linear atribui valores de coeficiente muito mais altos (em valor absoluto) a X (aproximadamente 15) e Y (aproximadamente -16) do que a W ( aproximadamente 2):
Ainda assim, entre as três variáveis no modelo W é a mais importante: se você remover W do modelo completo, o R ^ 2 cairá de 0,833 para 0,166, enquanto que se você soltar X ou Y, o R ^ 2 permanecerá praticamente inalterado.
fonte
"Importância do recurso" é um conceito muito escorregadio, mesmo quando todos os preditores foram ajustados para uma escala comum (que por si só é um problema não trivial em muitas aplicações práticas que envolvem variáveis categóricas ou distribuições distorcidas). Portanto, se você evitar os problemas de dimensionamento indicados na resposta por @josliber ou o problema de baixa variação de preditores levantado por @dsaxton, você ainda terá problemas adicionais.
Por exemplo, uma medida mais útil da importância do recurso pode ser a razão de seu coeficiente para o erro estimado de seu coeficiente. Um alto coeficiente com um grande erro estimado não seria necessariamente útil nas previsões. Portanto, somente a magnitude do coeficiente, mesmo na situação pré-escalada, não é um bom guia para a "importância".
No entanto, um preditor pode ser importante, mesmo que a razão de magnitude do erro do coeficiente seja baixa (ou seja, não é "estatisticamente significativa"). Os modelos lineares fornecem a capacidade de levar em consideração várias variáveis preditoras simultaneamente, portanto, incluir um preditor "não significativo" em um modelo pode melhorar o desempenho geral fornecido pela coleção combinada de preditores.
Além disso, as tentativas de selecionar variáveis preditivas "importantes" tendem a ser altamente dependentes da amostra de dados específica e geralmente não se estendem bem a outras amostras, principalmente se as variáveis estiverem correlacionadas. Você pode ver isso por si mesmo repetindo a seleção de recursos em várias amostras de inicialização do mesmo conjunto de dados. Frank Harrell, nesta resposta, mostra como usar seu
rms
pacote no R para classificar a importância dos recursos e observa nesta resposta como usar o autoinicializador para obter intervalos de confiança para as fileiras. O bootstrapping pode servir como cautela para aqueles que colocam muita importância em "importância de recurso".Essa pergunta de quase três anos atrás, apontada por @amoeba, também entra em detalhes detalhados sobre dificuldades com importância de recurso em vários modelos de regressão.
fonte
Apenas para adicionar à resposta anterior, o coeficiente em si também falha em capturar quanta variabilidade um preditor exibe, o que tem um grande efeito sobre a utilidade em fazer previsões. Considere o modelo simples
fonte