Prever com recursos contínuos e categóricos

26

Algumas técnicas de modelagem preditiva são mais projetadas para manipular preditores contínuos, enquanto outras são melhores para manipular variáveis ​​categóricas ou discretas. É claro que existem técnicas para transformar um tipo em outro (discretização, variáveis ​​dummy, etc.). No entanto, existem técnicas de modelagem preditiva projetadas para manipular os dois tipos de entrada ao mesmo tempo sem simplesmente transformar o tipo dos recursos? Em caso afirmativo, essas técnicas de modelagem tendem a funcionar melhor em dados para os quais são mais adequados?

A coisa mais próxima que eu conheço seria que geralmente árvores de decisão lidar com dados discretos bem e eles lidam com dados contínuos sem exigir um up front discretização. No entanto, isso não é exatamente o que eu estava procurando, pois efetivamente as divisões em recursos contínuos são apenas uma forma de discretização dinâmica.

Para referência, aqui estão algumas perguntas relacionadas e não duplicadas:

Michael McGowan
fonte
11
Você pode dizer mais sobre o que você quer fazer? Certamente, você pode usar a regressão múltipla com covariáveis ​​contínuas e categóricas para construir um modelo preditivo. Isso é bastante elementar. Você quer dizer prever várias variáveis ​​de resposta (onde algumas são cont & outro gato, por exemplo)?
gung - Restabelece Monica
@gung Como você faz uma regressão múltipla envolvendo covariáveis ​​categóricas sem converter os preditores categóricos em números em algum sentido?
22612 Michael McGowan
11
Os 'números' não significam nada - eles não são realmente numéricos . Em termos de como, você usa um esquema de codificação; a codificação de células de referência (normalmente chamada de 'codificação fictícia') é a mais comum, mas existem muitos esquemas. Este é um bom recurso para aprender sobre a variedade de esquemas possíveis. Em R, por exemplo, você realmente não precisa fazer isso, se incluir um vetor ou dados de caractere (ou seja, nomes), ele tratará de tudo para você.
gung - Restabelece Monica
2
Receio ainda não seguir o ímpeto por trás da pergunta (sou um pouco lenta). As variáveis ​​categóricas não são "transformadas" ou "convertidas" em variáveis ​​numéricas; eles são representados por um 1, mas esse 1 não é realmente numérico. Preditores qualitativos não são mais numéricos em regressão múltipla do que em árvores de decisão (por exemplo, CART), por exemplo. De uma perspectiva teórica, não há nada lá; de uma perspectiva prática, se você estiver tentando salvar algumas linhas de código, por exemplo, software (R, por exemplo) geralmente fará isso por você.
gung - Restabelece Monica
11
Justo, você pode explicar o que acha que existe (de uma perspectiva teórica)? Como a codificação fictícia transforma uma variável categórica em uma variável numérica significativa ? Como é que o que o CART faz permite que a variável mantenha sua 'categoria', mas essa codificação fictícia não? Não consigo descobrir quais podem ser as respostas para essas perguntas da sua pergunta acima, e não vejo sua postagem anterior.
gung - Restabelece Monica

Respostas:

6

Até onde eu sei, e eu pesquisei esse problema profundamente no passado, não há técnicas de modelagem preditiva (além de árvores, XgBoost etc.) projetadas para lidar com os dois tipos de entrada ao mesmo tempo sem simplesmente transformar o tipo dos recursos.

Observe que algoritmos como o Random Forest e o XGBoost aceitam uma entrada de recursos mistos, mas eles aplicam alguma lógica para lidar com eles durante a divisão de um nó. Certifique-se de entender a lógica "sob o capô" e de que você está bem com o que está acontecendo na caixa-preta.

No entanto, modelos baseados em distância / kernel (por exemplo, regressão K-NN, NN, máquinas de vetores de suporte) podem ser usados ​​para lidar com espaço de recursos de tipo misto, definindo uma função de distância “especial”. De modo que, para cada recurso, aplique uma métrica de distância apropriada (por exemplo, para um recurso numérico, calcularemos a distância euclidiana de 2 números, enquanto que para um recurso categórico, calcularemos simplesmente a distância de sobreposição de 2 valores de string). Portanto, a distância / semelhança entre o usuário e no recurso , da seguinte forma: se o recurso for categórico, se o recursovocê1 1você2fEud(você1 1,você2)fEu=(dEus-cumategorEucumaeu(você1 1,você2)fEufEud(você1 1,você2)fEu=dEus-nvocêmerEuc(você1 1,você2)fEufEu é numérico. e 1 se o recurso não estiver definido em ou .fEuvocê1 1você2

Alguma função de distância conhecida para recursos categóricos:

  • Distância Levenshtien (ou qualquer forma de "editar distância")

  • Métrica de subsequência comum mais longa

  • Distância Gower
  • E mais métricas aqui
Acaso
fonte
5

Sei que já faz um tempo desde que essa pergunta foi publicada, mas se você ainda está analisando esse problema (ou similares), pode considerar o uso de modelos de aditivos generalizados (GAMs). Não sou especialista, mas esses modelos permitem combinar modelos diferentes para criar uma única previsão. O processo usado para encontrar coeficientes para os modelos que você coloca resolve para todos eles de uma só vez, para que você possa enviar um modelo aditivo generalizado seu modelo favorito para preditores categóricos e seu modelo favorito para preditores contínuos e obter um modelo único que minimize RSS ou qualquer outro critério de erro que você deseja usar.

Em primeiro lugar, o único pacote de software que conheço que implementa os GAMs é a linguagem R, mas tenho certeza de que existem outros.

Forrest Cinelli
fonte
O SAS possui um procedimento chamado Proc Gam.
Alph
11
A maioria dos principais pacotes estatísticos (por exemplo, Stata) provavelmente pode implementar GAMs. Mais precisamente, os GAMs usarão códigos fictícios para representar variáveis ​​categóricas como preditores. Não está claro o que o OP deseja ao procurar um modelo que use preditores categóricos como categóricos, mas sem representá-los por códigos fictícios, mas provavelmente não é esse o caso.
gung - Restabelece Monica
Bem-vindo ao CV. Observe que seu nome de usuário, identicon e um link para sua página de usuário são adicionados automaticamente a todas as postagens que você faz, portanto, não há necessidade de assinar suas postagens. De fato, preferimos que você não.
gung - Restabelece Monica
4

Enquanto a discretização transforma dados contínuos em dados discretos, dificilmente se pode dizer que variáveis ​​fictícias transformam dados categóricos em dados contínuos. De fato, como os algoritmos podem ser executados em computadores, dificilmente pode haver um algoritmo classificador que NÃO transforme dados categóricos em variáveis ​​fictícias.

No mesmo sentido, um classificador transforma os preditores em uma variável discreta, indicando pertencer à classe (mesmo que produza uma probabilidade de classe, você finalmente escolhe um ponto de corte). De fato, muitos classificadores, como regressão logística, floresta aleatória, árvores de decisão e SVM, funcionam bem com os dois tipos de dados.

Eu suspeito que seria difícil encontrar um algoritmo que funcione com dados contínuos, mas que não possa manipular dados categóricos. Normalmente, acho que faz mais diferença em que tipo de dados você tem no lado esquerdo do seu modelo.

Erik
fonte
2
Não, meu argumento é que a regressão logística e outros não "funcionam" no sentido que estou descrevendo com os dois tipos de dados. Eles exigem que você, pelo menos em algum sentido, trate todos os preditores como números ou nenhum deles como números. Eu sei, por exemplo, que muitas vezes é possível obter grandes resultados com uma regressão logística, codificando algo como "gênero" como 1 para "masculino" e 0 para "feminina". No entanto, estou me perguntando se esse tipo de processo pode ser evitado com qualquer paradigma de modelagem conhecido.
22712 Michael McGowan
1

Essa é uma questão filosófica profunda, que é comumente abordada no final estatístico e no aprendizado de máquina. Alguns dizem que categorizar é melhor para indicadores discretos a categóricos, para que os pacotes possam digerir facilmente as entradas do modelo. Outros dizem que o binning pode causar perda de informações, mas as variáveis ​​categóricas podem / devem ser convertidas em variáveis ​​de indicador {1,0}, deixando de fora a última classe para os resíduos do modelo.

O livro - Regressão linear aplicada (Kutner et al.) Menciona sobre a lógica da introdução de variáveis ​​indicadoras no modelo nos primeiros capítulos. Também pode haver outro texto semelhante.

Minha opinião sobre isso talvez seja exagerada: se imaginarmos as variáveis ​​categóricas como blocos em um projeto experimental, a variável indicadora é uma extensão natural da análise de dados não baseada em experimentos. No que diz respeito aos algoritmos de mineração de dados (famílias de árvores de decisão), a categorização é inevitável (manualmente ou automatizada), que deve ser alimentada ao modelo.

Portanto, pode não haver um modelo especializado para variáveis ​​numéricas e categóricas da mesma maneira (sem classificação numérica ou uso de indicadores categóricos).

KarthikS
fonte