Prédire avec des fonctionnalités continues et catégoriques


26

Certaines techniques de modélisation prédictive sont plus conçues pour gérer des prédicteurs continus, tandis que d'autres sont meilleures pour gérer des variables catégorielles ou discrètes. Il existe bien sûr des techniques pour transformer un type en un autre (discrétisation, variables muettes, etc.). Cependant, existe-t-il des techniques de modélisation prédictive conçues pour gérer les deux types d'entrée en même temps sans simplement transformer le type des entités? Dans l'affirmative, ces techniques de modélisation ont-elles tendance à mieux fonctionner sur des données pour lesquelles elles sont plus adaptées?

La chose la plus proche que je connais serait que les arbres de décision généralement manipuler des données discrètes bien et ils gèrent des données continues sans nécessiter l' avant discrétisation. Cependant, ce n'est pas tout à fait ce que je cherchais car, en réalité, les divisions sur les caractéristiques continues ne sont qu'une forme de discrétisation dynamique.

Pour référence, voici quelques questions connexes non dupliquées:


1
Pouvez-vous nous en dire plus sur ce que vous voulez faire? Vous pouvez certainement utiliser la régression multiple avec des covariables à la fois continues et catégorielles pour construire un modèle prédictif. C'est assez élémentaire. Voulez-vous dire plutôt prédire plusieurs variables de réponse (où certaines sont cont et un chat, par exemple)?
gung - Rétablir Monica

@gung Comment faites-vous une régression multiple impliquant des covariables catégorielles sans convertir la conversion des prédicteurs catégoriels en nombres dans un certain sens?
Michael McGowan

1
Les «chiffres» ne veulent rien dire - ils ne sont pas vraiment numériques . En termes de comment, vous utilisez un schéma de codage; le codage des cellules de référence (généralement appelé «codage factice») est le plus courant, mais il existe de nombreux schémas. Il s'agit d'une bonne ressource pour en savoir plus sur la variété des régimes possibles. Dans R, par exemple, vous n'avez pas réellement à le faire, cependant, si vous incluez un vecteur ou des données de caractère (c'est-à-dire des noms), il gérera tout pour vous.
gung - Rétablir Monica

2
Je crains de ne toujours pas suivre l'élan derrière la question (je suis un peu lent). Les variables catégorielles ne sont pas "transformées" ou "converties" en variables numériques; ils sont représentés par un 1, mais ce 1 n'est pas vraiment numérique. Les prédicteurs qualitatifs ne sont pas plus numériques dans la régression multiple que dans les arbres de décision (c.-à-d. CART), par exemple. D'un point de vue théorique, il n'y a tout simplement rien; d'un point de vue pratique, si vous essayez d'enregistrer quelques lignes de code, par exemple, un logiciel (R, par exemple) le fera souvent pour vous.
gung - Rétablir Monica

1
Assez juste, pouvez-vous expliquer ce que vous pensez qu'il y a (d'un point de vue théorique)? Comment le codage factice transforme-t-il une variable catégorielle en une variable significativement numérique? Comment se fait-il que ce que CART permet à la variable de conserver son «catégorisme», mais ce codage factice ne le fait pas? Je ne sais pas quelles pourraient être les réponses à ces questions à partir de votre question ci-dessus, et je ne vois pas votre message précédent.
gung - Rétablir Monica

Réponses:


6

Pour autant que je sache, et j'ai étudié ce problème en profondeur dans le passé, il n'y a pas de techniques de modélisation prédictive (à part les arbres, XgBoost, etc.) qui sont conçues pour gérer les deux types d'entrée en même temps sans simplement transformer le type des fonctionnalités.

Notez que des algorithmes comme Random Forest et XGBoost acceptent une entrée de fonctionnalités mixtes, mais ils appliquent une certaine logique pour les gérer lors de la division d'un nœud. Assurez-vous que vous comprenez la logique "sous le capot" et que vous êtes d'accord avec tout ce qui se passe dans la boîte noire.

u1u2Fje(u1,u2)Fje=(jes-cunetegorjecunel(u1,u2)FjeFje(u1,u2)Fje=jes-numerjec(u1,u2)FjeFjeFjeu1u2

Quelques fonctions de distance connues pour les caractéristiques catégorielles:

  • Distance Levenshtien (ou toute forme de "distance d'édition")

  • Plus longue métrique de sous-séquence commune

  • Distance Gower
  • Et plus de métriques ici

5

Je sais que cela fait un moment que cette question n'a pas été publiée, mais si vous êtes toujours à la recherche de ce problème (ou de problèmes similaires), vous voudrez peut-être envisager d'utiliser des modèles additifs généralisés (GAM). Je ne suis pas un expert, mais ces modèles vous permettent de combiner différents modèles pour créer une seule prédiction. Le processus utilisé pour trouver des coefficients pour les modèles que vous mettez en place résout pour tous à la fois, afin que vous puissiez envoyer un modèle additif généralisé votre modèle préféré pour les prédicteurs catégoriques et votre modèle préféré pour les prédicteurs continus et obtenir un modèle unique qui minimise RSS ou tout autre critère d'erreur que vous souhaitez utiliser.

Du haut de ma tête, le seul progiciel que je connaisse a une implémentation de GAM est le langage R, mais je suis sûr qu'il y en a d'autres.


SAS a une procédure appelée Proc Gam.
Alph

1
La plupart des progiciels statistiques majeurs (par exemple, Stata) peuvent probablement implémenter des GAM. Plus précisément, cependant, les GAM utiliseront des codes fictifs pour représenter des variables catégorielles comme prédicteurs. Il n'est pas clair ce que l'OP veut en recherchant un modèle qui utilise des prédicteurs catégoriques comme catégoriques mais sans les représenter par des codes factices, mais ce n'est probablement pas le cas.
gung - Réintégrer Monica

Bienvenue sur CV. Notez que votre nom d'utilisateur, identicon et un lien vers votre page utilisateur sont automatiquement ajoutés à chaque message que vous faites, il n'est donc pas nécessaire de signer vos messages. En fait, nous préférons que vous ne le fassiez pas.
gung - Réintégrer Monica

4

Alors que la discrétisation transforme les données continues en données discrètes, on peut difficilement dire que les variables fictives transforment les données catégoriques en données continues. En effet, puisque les algorithmes peuvent être exécutés sur des ordinateurs, il ne peut guère y avoir d'algorithme de classification qui ne transforme PAS les données catégorielles en variables factices.

Dans le même sens, un classifieur transforme finalement ses prédicteurs en une variable discrète indiquant l'appartenance à une classe (même s'il génère une probabilité de classe, vous choisissez finalement un seuil). De facto, de nombreux classificateurs comme la régression logistique, la forêt aléatoire, les arbres de décision et le SVM fonctionnent tous bien avec les deux types de données.

Je soupçonne qu'il serait difficile de trouver un algorithme qui fonctionne avec des données continues mais ne peut pas du tout gérer les données catégoriques. Habituellement, j'ai tendance à trouver que cela fait plus de différence sur le type de données que vous avez sur le côté gauche de votre modèle.


2
Non, mon point est que la régression logistique et autres ne "fonctionnent" pas dans le sens que je décris avec les deux types de données. Ils vous obligent, au moins dans un certain sens, à traiter tous les prédicteurs comme des nombres ou aucun d'entre eux comme des nombres. Je sais, par exemple, que l'on peut souvent obtenir d'excellents résultats avec une régression logistique en codant quelque chose comme "sexe" comme 1 pour "homme" et 0 pour "femme". Cependant, je me demande si ce type de processus peut être évité avec tout paradigme de modélisation connu.
Michael McGowan

1

Il s'agit d'une question philosophique profonde qui est couramment abordée du point de vue statistique et de l'apprentissage automatique. Certains disent que la catégorisation est préférable pour un indicateur discret à catégorique, de sorte que les packages peuvent facilement digérer les entrées du modèle. D'autres disent que le regroupement peut entraîner une perte d'informations, mais cependant les variables catégorielles peuvent / doivent être converties en {1,0} variables indicatrices en laissant de côté la dernière classe pour les résidus du modèle.

Le livre - Régression linéaire appliquée (Kutner et al.) Mentionne la logique de l'introduction des variables indicatrices dans le modèle dans les premiers chapitres. Il peut également y avoir un autre texte similaire.

Mon point de vue peut-être un peu trop tiré par les cheveux: si nous imaginons les variables catégorielles comme des blocs dans un plan expérimental, la variable indicatrice est une extension naturelle de l'analyse de données non basée sur l'expérience. En ce qui concerne les algorithmes d'exploration de données (familles d'arbres de décision), la catégorisation est inévitable (soit manuellement, soit par regroupement automatique) qui doit être introduite dans le modèle.

Par conséquent, il peut ne pas y avoir de modèle spécialisé pour les variables numériques et catégorielles de la même manière (sans regroupement numérique ou utilisation d'indicateurs catégoriels).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.