Récemment, un utilisateur de JMP m'a appelé avec la question suivante : "Lorsque j'essaie d'ajuster un modèle de régression logistique nominal, je reçois un message d'alerte JMP indiquant qu'une "réponse doit avoir au moins deux niveaux". Et la plate-forme ne fonctionnera pas. Pourtant, lorsque je sélectionne un modèle avec un sous-ensemble de mes variables prédictives, le modèle s'exécute. Que se passe-t-il? Est-ce que tout est perdu ?
Est-ce que tout est perdu ? Peut-être pas.
Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.Figure 1. Un message d'alerte JMP.
La raison du message d'alerte JMP ci-dessus est qu'il manque trop de données dans l'ensemble de données. La caractéristique de fonctionnement par défaut de JMP consiste à exclure de l'analyse les lignes contenant des données manquantes. La plate-forme ne fonctionnera pas si l'ampleur du manque est suffisamment grave. Parfois, même les données manquantes contiennent des informations que nous pouvons utiliser pour résoudre des problèmes pratiques. Comment pouvons-nous explorer cette possibilité si JMP, par défaut, exclut les lignes de données avec des données manquantes ? La réponse : utilisez les fonctionnalités de détection des données manquantes, d'imputation et de modélisation informative des données manquantes de JMP.
Les meilleures pratiques de modélisation statistique suggèrent que nous devrions consacrer du temps et de l'énergie à évaluer la qualité d'un ensemble de données en tenant compte de problèmes tels que les valeurs aberrantes, les valeurs absurdes, les valeurs manquantes et toute autre caractéristique qui rend l'analyse problématique. Cet article fournit un exemple de la façon dont on peut utiliser les fonctionnalités de JMP concernant les données « manquantes » pour prendre des décisions éclairées et prendre les mesures appropriées.
Chaque problème de modélisation doit commencer par un problème métier qui mérite notre temps à résoudre. Je vais résoudre un problème hypothétique mais illustratif. Un comité organisateur de tournoi de pêche sportive veut comprendre les principaux facteurs de satisfaction des participants à l'égard du tournoi afin d'essayer d'encourager une participation répétée. Ils demandent des informations, des données et des commentaires des participants de l'année précédente sur la probabilité qu'ils participeront au même tournoi l'année prochaine. Le comité recueille des informations auprès des participants par le biais d'un sondage. Cependant, une caractéristique des gens qui vont à la pêche est… eh bien… ils ne sont peut-être pas toujours les plus véridiques ou les plus ouverts. Combien de personnes donneraient leurs lieux de pêche préférés et les plus productifs pour débarquer le BIG ONE, à un parfait inconnu ? Ou le type d'appât qu'ils ont utilisé?
Le comité demande aux participants s'ils sont susceptibles de revenir l'année prochaine, l'âge du participant et le type d'appât (artificiel ou vivant). L'âge et le type d'appât sont les variables prédictives utilisées dans la modélisation. L'ensemble de données complet est présenté ci-dessous :
Figure 2: The Original DataFigure 2: The Original DataFigure 2: The Original DataFigure 2: The Original DataFigure 2 : Les données d'origine
Notez qu'il y a plusieurs valeurs manquantes dans l'âge du participant et le type d'appât ? Colonnes. Étant donné que JMP exclut les lignes contenant des données manquantes, si nous essayons de modéliser les données « telles quelles », nous obtenons le message d'alerte JMP illustré à la figure 1. En fait, il n'y a que deux lignes sans valeurs manquantes (surlignées dans la figure 2.) ! Pas étonnant que JMP nous alerte !
Comment devrions-nous procéder? Trouver les répondants et demander "encore" ? Fabriquer des données ? Abandonner?
Eh bien, revenons en arrière une minute. Avec une inspection visuelle rapide du tableau de données illustré à la figure 2., il est facile de localiser les données manquantes. Et si nous disposions d'un ensemble de données beaucoup plus volumineux ? Des millions de lignes ? Des centaines de colonnes ? L'inspection visuelle des "absences" est une solution intenable. Les plates-formes Missing Data Pattern et Explore Missing Values de JMP viennent à la rescousse. Lorsque nous trouvons des lignes de valeur manquantes… que faisons-nous du fait qu'elles manquent ? À partir de là, les fonctionnalités d'exploration des valeurs manquantes et d'informations manquantes de JMP nous viennent en aide.
Utilisons la plate-forme Missing Data Pattern pour trouver les valeurs manquantes. La plate-forme produit le tableau des modèles de données manquantes illustré à la figure 3 (en bas à droite). La colonne Patterns est la clé. Les valeurs non nulles indiquent un modèle d'absence dans le tableau de données d'origine. Dans l'entrée de ligne de la colonne Modèles, chaque chiffre du modèle est un indicateur binaire d'une colonne de la table de données d'origine. Un modèle composé uniquement de zéros (première ligne) indique qu'il n'y a pas de valeurs manquantes. L'entrée de la colonne Count indique qu'il y a 2 lignes sans valeurs manquantes. La deuxième ligne indique un modèle d'absence où les lignes ont des valeurs manquantes exclusivement dans le type d'appât ? colonne. La troisième ligne, les valeurs manquantes dans la colonne Age of Participant. À l'aide de la fonctionnalité de liaison dynamique de la signature de JMP, la sélection des lignes 2 et 3 dans le tableau de données Modèle de données manquantes sélectionne les lignes correspondantes dans les données d'origine.
Figure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original DataFigure 3. Table de données de modèle de données manquantes et données d'origine
Maintenant que nous avons trouvé les valeurs manquantes, comment pouvons-nous répondre à la question fondamentale… Quels facteurs influencent la probabilité de retour des participants ? À partir de là, passons à l'utilisation de la plate-forme Explorer les valeurs manquantes de JMP pour imputer des valeurs à la colonne Âge du participant. N'est-ce pas fabriquer des données ? N'est-ce pas malhonnête ? Eh bien… pas exactement… surtout si nous divulguons que nous créons des valeurs de substitution dans l'intérêt de ne pas avoir à jeter le bébé avec l'eau du bain du point de vue de la modélisation. Il s'avère… avec un peu de magie de modélisation… si nous choisissons judicieusement nos valeurs de substitution, les estimations des paramètres pour les effets seront toujours significatives. Au sein de la plateforme Explore Missing Values, il existe deux algorithmes d'imputation. Pour cet exemple, j'ai choisi l'option d'imputation normale multivariée illustrée à la figure 4 ci-dessous. Notez que les valeurs de substitution égales à la moyenne de l'âge du participant ont maintenant été renseignées dans les lignes avec des valeurs manquantes dans le tableau de données d'origine.
Figure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal ImputationFigure 4. Imputation normale multivariée
Maintenant, comment traitons-nous les valeurs manquantes dans le type d'appât ? colonne. L'un des moyens de gérer les valeurs manquantes d'une variable prédictive catégorielle consiste à appeler la fonctionnalité Manquant informatif de JMP. Le principe sous-jacent de base de l'utilisation d'une construction informative manquante est que nous sommes prêts à présumer qu'il existe un thème, un point commun ou une variable cachée qui se cache derrière le fait que la valeur est manquante. Comme peut-être la réticence d'un participant à un tournoi à divulguer le type d'appât qu'il a utilisé pour une raison non divulguée ?
Dans la fenêtre de spécification Fit Model, nous invoquons Informative Missing en sélectionnant Informative Missing dans le menu déroulant du triangle rouge de spécification de modèle illustré à la figure 5. ci-dessous.
Figure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative Missing Figure 5. Spécification du modèle et informations manquantes
En sélectionnant Informatif manquant, JMP attribuera un nouveau niveau pour le type d'appât ? prédicteur catégoriel de "Manquant" et poursuivez le processus d'ajustement du modèle en utilisant toutes les valeurs de toutes les colonnes de variables prédictives. La figure 6 ci-dessous montre la partie Résumé des effets du rapport du modèle de régression logistique nominale. Notez que Type d'appât ? semble en effet influencer la réponse.
Figure 6. Effect Summary TableFigure 6. Effect Summary TableFigure 6. Effect Summary TableFigure 6. Effect Summary Table Figure 6. Tableau récapitulatif des effets
Un examen plus approfondi du JMP Prediction Profiler, comme illustré à la figure 7, indique que le niveau de valeur manquant de Bait Type? est vraiment le moteur de la réponse Oui !
Figure 7. Prediction ProfilerFigure 7. Prediction ProfilerFigure 7. Prediction ProfilerFigure 7. Prediction ProfilerFigure 7. Profileur de prédiction
C'est maintenant que l'expertise du domaine entre en jeu. Il va sans dire qu'un participant à un tournoi qui connaît BEAUCOUP de succès en attrapant du poisson pourrait certainement être enclin à NE PAS divulguer le type d'appât qu'il a utilisé. Secrets commerciaux? Mais ils seraient certainement enclins à revenir dans un tournoi où ils ont eu du succès.
Après l'analyse, une plongée plus approfondie dans les enregistrements du tournoi a révélé des données supplémentaires qui sont certainement concomitantes avec la notion de participants secrets. Le graphique de régression logistique Fit Y by X ci-dessous dans la figure 8. de la probabilité de revenir l'année prochaine ? est fonction du poids total des poissons pêchés… et les participants qui les ont pêchés ne nous disent certainement pas grand-chose sur leurs secrets.
Figure 8. Logistic Regression PlotFigure 8. Logistic Regression PlotFigure 8. Logistic Regression PlotFigure 8. Logistic Regression PlotFigure 8. Diagramme de régression logistique
Ainsi, la prochaine fois que vous aurez des valeurs manquantes dans un ensemble de données, n'oubliez pas qu'en utilisant JMP, vous pourrez peut-être apprendre quelque chose sur le système MÊME lorsque des données sont en fait manquantes ! Tout n'est en effet pas perdu.