Upload
guillaume-masson
View
112
Download
0
Embed Size (px)
Citation preview
J’ai trop de variables : comment trouver les variables
les plus pertinentes pour expliquer ou prédire un
phénomène ?
PAR
Paul Légaré de PJL Inc, Generation5, [email protected]
450-663-4151
Eugène Robitaille, Senior consultant, Eugene Robitaille & Associates, consultants. [email protected]
Présentation des données de Generation5; Qu’est-ce qu’un modèle prédictif ou explicatif; Notre exemple sur SAS EM; Le choix des variables à inclure et les différents niveaux de
granularité des variables; Ce qu’il faut dans le dataset pour débuter; Attention (1) =l’erreur de type II; Brève introduction aux arbres de décision; EM Input node; Attention (2) = Les variables catégoriques qui contiennent
beaucoup de modalités; EM data partition node; EM Tree node; Attention (2) pour corriger les variables catégoriques qui
contiennent trop de modalités Attention (3) = Quelques problèmes rencontrés;
Plan de la présentation :
Partie A – données de Génération 5
IntroductionCaractéristiques des données
mises à jour annuelles couverture : plus de 10 000 variables granularité des données : chaque variable est
estimés pour chaque code postal à six caractères du Canada: 790 000
Au total : matrice de 10 000 x 800 000
AD 24662652
Revenu annuel moyen ménages: $ 50,266Valeur moyenne des logements : $ 196,698
Granularité des estimés au code postal : impact
H2C1X5 :
Revenu : $ 63,908
Logement : $ 288,990
H2C1X2 :
Revenu : $ 36,393
Logement : $ 146,308
Description des bases de données
Super census : Caractéristiques des particuliers, des ménages et des logements (n > 1,500 )
Famex : dépenses sur les habitudes de dépenses des ménages ( n > 390)
RAE/RTS BBM : données comportementales sur les habitudes de consommation et média (n > 2, 200)
Enquête PMB : données sur les préférences des consommateurs et patterns de consommation (n > 4,300)
MOSAIC : Modèles de segmentation géo démographique
Classifications des codes postaux en une grille de 20 Groupes et de 150 micro segments.
Classifications basée à 80% sur les comportements et 20% sur les dimensions démographiques, sociales et économiques.
Plus de 300 variables sont utilisées pour configurer chaque Groupe et chaque micro segments.
MOSAIC Modèle Assurances
Modèle Finances
Modèle commerce de détail
Modèle général
J’ai une question qui doit être transformée sous forme d’une variable (colonne) binaire, nominale ou continue:
Quels sont mes clients les plus à risque de demander une réclamation d’assurance?
Parmi les patients diagnostiqués du cancer, quels sont ceux qui en mourront ?
Quel sont les clients qui achèteront un produit X? Quel sont les clients qui quitteront notre entreprise
bientôt ? Quel sont les personnes qui fraudent le plus les
impôts ? Etc.
Qu’est ce qu’un modèle prédictif ou explicatif?
Qu’est ce qu’un modèle prédictif ou explicatif?
On veux prédire quelque chose ou expliquer quelque chose
On part du passé Pour expliquer ou prédire un comportement futur Je tente d’établir une relation entre la variable
dépendante (target) et les variables indépendantes (Input);
Il me faut au moins une variable dépendante (target);
et des variables indépendantes (input);
Notre exemple sur SAS / EM
Mon entreprise désire trouver des nouveaux clients,
Quels sont les clients qui sont le plus enclin à acheter le produit X ?
Quelles sont les variables importantes pour expliquer ce comportement d’achat?
Les variables Indépendantes : Le niveau de granularité des données
Le niveau de granularité des données est un synonyme de sa qualité. Si une variable est pertinente, plus la granularité est petite, plus elle sera discriminante.
Par exemple, le revenu exact d’une personne est plus discriminant pour expliquer son comportement d’achat que le revenu du quartier ou de la province dans lequel il habite;
Quelques granularités : La personne; Le ménage (la famille où la famille élargie,…) L’adresse ; L’immeuble (block appartement); Les voisins rapprochés; Le code postal; L’aire de diffusion; Le RTA; etc.
Si vous êtes capable de diminuer le niveau de granularité de vos données, vous pouvez améliorer grandement votre modèle
ANNONCE DANS LE VOIR:
À 2 pas du métro Sauvé, 3 ½ à louer, électroménagers non fournis, , Entrée laveuse, sécheuse, 425$ / par mois.
(514)XXX-XXXX
ANNONCE DANS LA PRESSE :
Dans le secteur Ahubtic, grand split-level détaché. 4 chambre à coucher, une toilette, grand garage, construction 1940, poêle à bois au sous-sol, piscine hors terre,demande 149,000$ (514)XXX-XXXX
Le 10,851 rue Jarry, H3V-4J5Le 9749 , rue St-André, Anhuntic, H3V-4J5
Les variables Indépendantes : Le niveau de granularité des données
Un exemple avec EM…
Créer un dataset spécifique pour le choix des variables;
Le dataset doit contenir assez d’observations pour être capable de traiter les variables catégoriques (20,000 observations);
Sur échantillonner au besoin : Il doit y avoir un minimum de 25 % de valeurs positives pour la variable dépendante (target)
Les clés et la variable dépendante (target) doivent être au début du dataset;
Choisir les variables les plus pertinentes…ATTENTION (1) !
Nous partons d’un échantillon avec énormément de variables inutiles;
Plus il y a de variables plus il y aura de variables inutiles qui sortiront comme étant significatives (erreur de Type II);
Comment résoudre ceci : Un test d’hypothèse très petit pour chacune des variables
choisies (p < .0001); Un gros dataset (N=20,000); La construction du modèle se fait toujours sur un échantillon
différent de celui qui a été utilisé pour trouver les variables; Au bout du compte, vous devez toujours être capable
d’expliquer pourquoi une variable est importante;
Un exemple avec EM
Sur EM, il y a plusieurs façons de choisir des variables. Les deux plus populaires :Le noeud « Variable selection »
(Pour plus d’information, voir dans la documentation SAS : SAS prducts\Enterprise miner\exterprise miner reference\variable selection node)
Le nœud « Tree » (arbre de décision)
Propriétés des arbres de décisions
Non-paramétrique;C’est un test multi-dimentionnel;Très robuste face aux valeurs extrêmes et
aux valeurs manquantes;Pas besoin de transformations initiales, pas
besoin de linéarité et de normalisation (la structure des données peut être complexe);
Peux être utilisé avec variables catégoriques ou continues;
Quand utiliser les arbres de décision
Sélection de variables; Transformer des variables continues en catégorique
ou des variables catégoriques en continues; Remplacement des valeurs manquantes (surogates); Comparer des modèles paramétriques ou autres
modèles et les expliquer (modèle neural ou autre); Suggérer des points (break points) pour transformer
des variables continues en catégoriques; Modélisation; Trouver des prédicateurs concurrents (moins
dispendieux) Découvrir les variables d’interaction;
Aller chercher vos données avec le nœud « Input Data Source »; Utiliser le dataset en entier pour effectuer vos vérifications et vos tests
(Metadata sample / Size / Change / cocher use complète data as sample)
Un exemple avec EM…
Définissez vos variables Target (une variable dépendante); Vérifier particulièrement les variables qui sont
automatiquement considéré ID par le système (Voir s’agit-il de variables catégoriques contenant beaucoup de modalités ?) ;
Un exemple avec EM…
Vérifier l’onglet variables catégoriques afin d’identifier les variables catégoriques contenant beaucoup de modalités (Onglet Class variables / Trier par value)
Un exemple avec EM…
Faire un « count distinct » des variables catégoriques les plus à risques;
Un exemple avec EM…
Les variables catégoriques qui contiennent beaucoup de modalités : 309 RTA 168 villes 76 Types Mosaic sur 149 16 Groupes Mosaic 15,234 Code postaux
Comment résoudre ceci (on va le voir plus loin): Il faut pénaliser ces variables… S’il ressortent comme étant pertinentes, transformer ces
variables catégoriques en variables continues ou réduire de beaucoup les catégories en faisant des groupes;
Valider et tester le modèle,…
Choisir les variables les plus pertinentes…ATTENTION (2) !
Faite une partition simple des données (data partition node)
Utiliser 65% des données pour créer le modèle et 35% des données pour le valider
Un exemple avec EM…
Faire un arbre de décision qui vise à faire ressortir plus de variables que le nombre désiré dans le modèle;
Dans l’onglet « Basic », Splitting criteria = Gini reduction, nombre de surrogate = 2;
Un exemple avec EM…
Dans l’onglet « advance » Model = (Gini index) Total leaf impurity Sub-tree = The most leaves;
Un exemple avec EM…
•Sauvegarder et faire rouler l’arbre
Après avoir obtenu le résultat de l’arbre(result / onglet score /variable sélection), choisir plus ou moins les 50 variables plus importantes et laisser tomber les autres;
Un exemple avec EM…
L’arbre ne fonctionne pas, l’ordinateur ne veut pas me donner de résultat;
J’ai des variables que je sais historiquement importantes et elles ne sont jamais ressorties;
Mon modèle me semble trop bon Les variables anachroniques; Les variables monotoniques;(pour plus d’information : Dorian Pile, Data preparation for data mining)
J’ai beaucoup de variables catégoriques qui sont ressorties comme étant pertinentes;
Choisir les variables les plus pertinentes…ATTENTION (3) !
Traitement des variables catégoriques avec beaucoup de modalités
Pour corriger les variables catégoriques qui contiennent trop de modalités : Faire un nouvel arbre de décision avec ces paramètres :
Choisir seulement les variables catégoriques en tant qu’input; Onglet variable / mettre le « Status » à use pour les variables « nominal » et la
variable « target » status = don’t use pour tous les autres types de variables
Onglet « advanced » / dé-cocher Kass P-value adjustment
Traitement des variables catégoriques avec beaucoup de modalités
Onglet score/Data cocher Process or score : training, validation and test
Faire rouler l’arbre et vérifier le résultat;
Traitement des variables catégoriques avec beaucoup de modalités
Onglet score/variables, cocher seulement leaf indentification variable ou prediction (décocher tous le reste)
Faire rouler l’arbre
Traitement des variables catégoriques avec beaucoup de modalités
Création d’une nouvelle variable catégorique à 5 modalité
La nouvelle variable catégoriques à 5 modalité sera désormais utilisée dans les modèles pour remplacer toutes les autres variables catégoriques
?