Conférencier | Transcription |
| Mia Stephens | Bienvenue au Sommet Découverte JMP. Je m'appelle Mia Stephens et je suis chef de produit JMP. Et je suis accompagné de Jordan Hiller, qui est ingénieur système. Et aujourd'hui, nous allons parler de l'automatisation du flux de travail de conservation des données. |
| Et ceci est le résumé juste pour référence ; Je ne vais pas en parler. |
| Et nous allons diviser cette discussion en deux parties. Je vais commencer et parler du flux de travail analytique |
| et parlons de création de données, de ce que nous entendons par conservation de données. Et nous allons voir comment identifier les problèmes potentiels de qualité des données dans vos données. |
| Et puis je vais céder la parole à Jordan, et Jordan va parler de la nécessité de reproductibilité. |
| Il va partager avec nous une aide-mémoire pour la curation des données et montrer comment... comment conserver vos données dans JMP. |
| l'enregistreur d'actions et le journal amélioré. |
| Parlons donc du workflow analytique. |
| Tout commence par un problème commercial que nous essayons de résoudre. |
| Et bien sûr, nous devons compiler des données, et vous pouvez compiler des données provenant de différentes sources et les importer dans un JMP. |
| Et à la fin, nous devons être capables de partager les résultats, de communiquer nos découvertes avec les autres. Parfois, c'est peut-être un projet ponctuel, |
| mais nous avons souvent des analyses que nous allons répéter. Ainsi, une question centrale abordée par cet exposé est la suivante : pouvez-vous facilement reproduire vos résultats ? |
| D’autres peuvent-ils reproduire vos résultats ? Ou, si vous disposez de nouvelles données ou, si vous avez des données mises à jour, pouvez-vous facilement répéter votre analyse, et notamment les étapes de curation de données sur ces nouvelles données ? C'est donc ce que nous abordons dans cet exposé. |
| Mais qu’est-ce que la conservation des données exactement ? |
| Et pourquoi devons-nous nous en préoccuper ? |
| Eh bien, la conservation des données consiste à garantir que nos données sont utiles pour conduire des découvertes analytiques. Fondamentalement, nous devons être capables de résoudre les problèmes que nous essayons de résoudre. |
| Et il s’agit en grande partie d’organisation des données, de structure des données, mais aussi de nettoyage des données. |
| Si vous réfléchissez aux problèmes que nous pourrions rencontrer avec les données, ils ont tendance à se répartir en quatre catégories générales |
| vous pouvez avoir un formatage incorrect, des données incomplètes, des données manquantes ou des données sales ou désordonnées. |
| Et pour nous aider à aborder ces questions, nous allons emprunter du contenu à STIPS. Et si vous n'êtes pas familier avec STIPS, STIPS est notre cours gratuit, Réflexion statistique pour la résolution de problèmes industriels. |
| Et il s'agit d'un cours basé sur sept modules indépendants, et le deuxième module est l'analyse exploratoire des données. |
| Et en raison de la nature itérative et interactive de l'analyse exploratoire des données et de la conservation des données, la dernière leçon de ce modèle... de ce module s'appelle Préparation des données pour l'analyse, nous empruntons donc beaucoup à cette leçon tout au long de cet exposé. |
| Décomposons chacun de ces problèmes. Formatage incorrect. Qu’entend-on par formatage incorrect ? Eh bien, c'est lorsque vos données sont sous une mauvaise forme ou dans un mauvais format pour l'analyse. Cela peut s'appliquer à la table de données dans son ensemble. Ainsi, par exemple, vous pourriez avoir |
| appelé...données stockées dans des colonnes séparées, mais vous avez en fait besoin des données stockées dans une colonne. |
| Ou il se peut que vous ayez vos données dans des tables de données distinctes et que vous deviez concaténer, mettre à jour ou joindre les tables de données ensemble. |
| Cela peut concerner des variables individuelles. Ainsi, par exemple, vous pourriez avoir un type de modélisation incorrect. Ou vous pouvez avoir des dates dans votre tableau de données, donc vous pouvez avoir des colonnes de dates et elles peuvent ne pas être formatées en jours, donc l'analyse peut ne pas reconnaître qu'il s'agit de... ce sont des données de date. |
| Le formatage peut également être cosmétique. Ainsi, par exemple, si vous avez affaire à une grande table de données, vous pourriez avoir plusieurs colonnes... |
| vous pourriez avoir des noms... des noms de colonnes qui ne sont pas vraiment reconnaissables et que vous souhaiterez peut-être modifier. |
| Vous souhaiterez peut-être regrouper de nombreuses colonnes pour les rendre un peu plus gérables. |
| Votre colonne de réponse peut se trouver à la toute fin du tableau de données et vous souhaiterez peut-être la déplacer vers le haut. Les problèmes esthétiques ne gêneront donc pas nécessairement votre analyse, mais si vous parvenez à résoudre certains de ces problèmes, vous pourrez rendre votre analyse un peu plus facile. |
| Les données incomplètes se produisent lorsque vous manquez de données. Cela peut être dû à un manque de données sur des variables importantes. Ainsi, par exemple, vous n'avez peut-être pas capturé de données sur des variables fondamentales pour résoudre le problème. Cela pourrait également être dû à un manque de données sur une combinaison de variables. |
| Ainsi, par exemple, vous ne disposez peut-être pas de suffisamment d’informations pour estimer une interaction. |
| Ou vous pourriez avoir une variable cible qui vous intéresse et qui est déséquilibrée, vous pourriez donc étudier quelque chose comme des défauts. Cela ne représente peut-être que 5 % de vos observations |
| sont des défauts et vous n'avez peut-être pas suffisamment de données, car vous savez, vous ne disposez peut-être que d'un très petit sous-ensemble de vos données |
| où le défaut est présent. Vous ne disposez peut-être pas de suffisamment de données pour vous permettre de comprendre les causes potentielles des défauts. Il se peut également que vous ne disposiez pas d'une taille d'échantillon suffisamment grande, de sorte que vous n'ayez tout simplement pas suffisamment de données pour obtenir de bonnes estimations. |
| Les données manquantes se produisent lorsqu'il vous manque des valeurs pour des variables, et cela peut prendre plusieurs formes différentes. |
| S'il vous manque des données et que les données... l'absence n'est pas due au hasard, cela peut causer de graves problèmes et vous pourriez donc avoir des estimations biaisées. |
| Si vous manquez des données de manière complètement aléatoire, cela ne pose peut-être pas de problème s'il ne vous manque que quelques observations, mais s'il vous manque beaucoup de données, cela peut être problématique. |
| Les données sales et désordonnées surviennent lorsque vous rencontrez des problèmes avec les observations ou avec les variables. Vous pourriez donc avoir des valeurs incorrectes, les valeurs sont tout simplement fausses. |
| Vous pourriez avoir une incohérence. Ainsi, par exemple, vous pourriez avoir des fautes de frappe ou des erreurs typographiques lorsque les gens saisissent les choses différemment. |
| Les valeurs peuvent être inexactes. Ainsi, par exemple, vous pourriez rencontrer des problèmes avec votre système de mesure. Il peut y avoir des erreurs, des fautes de frappe, les données peuvent être obsolètes. |
| On parle de données obsolètes lorsque vous disposez de données sur, par exemple, une installation ou une machine qui n'est plus en service. |
| Les données peuvent être obsolètes, donc vous pouvez avoir des données remontant à une période de deux ou trois ans, mais le processus peut avoir changé quelque part au cours de cette période, |
| ce qui signifie que ces données historiques pourraient ne pas être pertinentes pour le processus actuel tel qu’il existe aujourd’hui. Vos données peuvent être censurées ou tronquées. |
| Vous pouvez avoir des colonnes redondantes, c'est-à-dire des colonnes contenant essentiellement les mêmes informations. Ou vous pourriez avoir des observations en double. |
| Les données sales ou désordonnées peuvent donc prendre de nombreuses formes différentes. |
| Alors, comment identifier les problèmes potentiels ? |
| Eh bien, un bon point de départ est d’explorer vos données et, en fait, l’identification des problèmes vous mène à l’exploration puis à l’analyse des données. Et à mesure que vous commencez à explorer vos données, vous commencez à identifier les éléments qui pourraient vous poser des problèmes dans votre analyse. |
| Un bon point de départ consiste donc à analyser le tableau de données à la recherche de problèmes évidents. |
| Nous allons donc utiliser un exemple tout au long de cette présentation appelé Composants, et ceci est un exemple du cours STIPS. |
| où se trouve une entreprise qui produit de petits composants et qui a un problème de rendement. Les données ont donc été collectées, il y a 369 lots. 15 caractéristiques ont été capturées et nous souhaitons utiliser ces données pour nous aider à comprendre les causes profondes potentielles d'un faible rendement. |
| Ainsi, si nous commençons à examiner le tableau de données lui-même, nous disposons de quelques indices sur les types de problèmes de qualité des données que nous pourrions rencontrer. Et un très bon point de départ (et cela a été ajouté dans JMP 15) |
| C'est ce sont des graphiques d'en-tête. J'adore les graphiques d'en-tête. Ce qu'ils font, c'est que si vous avez une variable continue, ils vous montrent un histogramme, afin que vous puissiez voir le centrage, la forme et l'étendue de la distribution. |
| Ils vous montrent également la plage des valeurs. Si vous disposez de données catégorielles, il vous montrera un graphique à barres avec les valeurs des barres les plus peuplées. Jetons donc un coup d'œil à certains d'entre eux. Je vais commencer par le numéro de lot. Le numéro de lot affiche donc un histogramme, et sa forme est en fait uniforme. |
| Les numéros de lot sont probablement un identifiant, donc dès le départ, je peux voir que ces données sont probablement mal codées. |
| Je peux voir que cette distribution est très asymétrique et je peux également voir que la valeur la plus basse est -6, ce qui peut m'amener à me poser des questions sur la faisabilité d'avoir un nombre de rebuts négatif. |
| Le processus en est un autre. J'ai essentiellement deux barres et cela me montre en fait un histogramme avec seulement deux valeurs. |
| Et pendant que je regarde ces graphiques à colonnes, ces graphiques d'en-tête, je peux regarder le panneau de colonnes, |
| et il est assez facile de voir que, par exemple, le numéro de lot, le numéro de pièce et le processus sont tous codés comme continus. Lorsque vous importez des données dans JMP, si JMP voit des nombres, il code automatiquement ces colonnes comme numériques continues. Ce sont donc des choses que nous pourrions vouloir changer. |
| Nous pouvons également examiner les données elles-mêmes. Ainsi, par exemple, lorsque je regarde l'humidité (et le contexte est très important lorsque vous examinez vos données), l'humidité est quelque chose que nous considérerions comme des données continues. |
| Mais j'ai quelques champs ici où j'ai N/A. |
| Si vous avez des données alphanumériques, si vous avez des données texte dans une colonne numérique, la colonne sera codée comme nominale lorsque vous extrayez les données dans JMP. Il s’agit donc d’un problème que nous pensons devoir corriger dès le départ. |
| Et je peux aussi parcourir les autres colonnes. Ainsi, par exemple, Fournisseur, je vois qu'il me manque certaines valeurs. Lorsque vous extrayez des données dans JMP, s'il y a |
| cellules vides pour les données catégorielles, nous savons qu'il nous manque des valeurs. Je peux voir qu'il y a certaines entrées pour lesquelles nous ne sommes pas cohérents... pas cohérents dans la manière dont les données ont été saisies. |
| Je reçois donc de sérieux indices sur certains problèmes potentiels avec mes données. |
| remarquez tous les points. La température est une variable continue et là où je vois des points, cela indique qu'il me manque des valeurs. La température est donc quelque chose de très important pour mon analyse, cela pourrait être problématique. |
| Une extension naturelle de cette démarche consiste à commencer à explorer les données, une variable à la fois. L'un de mes outils préférés lorsque je souhaite commencer à examiner des données est la visionneuse de colonnes. Et la visionneuse de colonnes nous donne des résumés numériques pour les variables que nous avons sélectionnées. |
| S'il nous manque des valeurs, il y aura une colonne N manquante. Et ici, je peux voir qu'il me manque 265 des 369 valeurs de température, donc voilà, c'est une sérieuse lacune ici si nous pensons que la température va être importante dans l'analyse. |
| Je peux aussi voir si j'ai des valeurs étranges. Ainsi, lorsque je regarde des éléments tels que les Mins et les Maxes pour le nombre de produits mis au rebut et le taux de rebut, j'ai des valeurs négatives. Et si ce n’est pas faisable, alors j’ai un problème avec les données ou le système de collecte de données. |
| Il est également assez facile de constater des erreurs de codage des variables. Ainsi, par exemple, l'installation et le numéro de lot, qui devraient probablement être codés comme nominaux, indiquaient une moyenne et un écart type. |
| Et une bonne façon d'y penser est que s'il n'est pas physiquement possible d'avoir un numéro de lot moyen ou (le numéro de pièce était l'autre variable) ou un numéro de pièce, alors ceux-ci devraient être remplacés par des variables nominales, au lieu de continues. |
| Les distributions sont le prochain endroit où je vais lorsque je me familiarise pour la première fois avec mes données. |
| Et les distributions, si vous disposez de données continues, vous permettent de comprendre la forme, le centrage et la répartition de vos données, mais vous pouvez également voir si vous avez des valeurs inhabituelles. |
| Pour les données catégorielles, vous pouvez également voir le nombre de niveaux dont vous disposez. Par exemple, le numéro de client. Si le numéro de client est une variable importante ou potentiellement importante, |
| J'ai beaucoup de niveaux ou de valeurs pour le numéro de client. Lorsque je prépare les données, je souhaiterai peut-être les combiner en quatre ou cinq catégories avec une autre catégorie pour les clients pour lesquels je n'ai pas vraiment beaucoup de données. |
| Humidité. Nous voyons le problème d’avoir N/A dans la colonne. Nous voyons un graphique à barres au lieu d'un histogramme. |
| Nous pouvons facilement voir ce que nous recherchions dans les données du fournisseur. Par exemple, Cox Inc et Cox, Anderson s'écrit de trois manières différentes, Hersh s'écrit de trois manières différentes. |
| Pour la vitesse, remarquez pour la vitesse que nous avons une distribution en monticule qui va d'environ 60 à 140 mais, tout en bas, nous voyons qu'il y a une valeur ou deux |
| c'est assez proche de zéro, et cela pourrait être... il pourrait s'agir d'une erreur de saisie de données, mais c'est certainement quelque chose sur lequel nous voudrions enquêter. |
| Une extension de ceci consiste à commencer à examiner vos données deux variables à la fois. Ainsi, par exemple, en utilisant Graph Builder ou des nuages de points. |
| Et lorsque vous examinez les variables deux à la fois, vous pouvez voir des modèles et plus facilement des modèles inhabituels qui traversent plus d’une variable. |
| Ainsi, par exemple, si je regarde le taux de rebut et le nombre de rebuts, je vois que j'ai des bandes. Et il se peut que vous ayez quelque chose dans votre tableau de données qui puisse expliquer cette tendance. |
| Et dans ce cas, les bandes sont attribuées à différentes tailles de lots, donc cette bande violette est l'endroit où j'ai une taille de lot de 5 000. |
| Et j’ai beaucoup plus de possibilités de déchets avec un lot de plus grande taille que pour un lot de plus petite taille. Cela peut donc avoir du sens, mais je vois aussi quelque chose qui n'a pas de sens. Ces deux valeurs se situent ici dans la fourchette négative. |
| Il est donc assez facile de les voir lorsque j'examine des données en deux dimensions. |
| Je peux ajouter une dimension supplémentaire à mes graphiques en utilisant des sélecteurs de colonnes et des filtres de données. |
| Cela m'amène également à une analyse potentielle, donc je pourrais être intéressé de comprendre quels sont les x qui pourraient être importants, qui pourraient être liés au taux de rebut. |
| Et en même temps, examinez les problèmes de qualité des données ou les problèmes potentiels. Donc, pour le taux de rebut, il semble qu’il existe une relation positive entre la pression et le taux de rebut. |
| il ne semble pas y avoir trop de relation. Le taux de rebut par rapport à la température est assez stable, donc il ne se passe pas grand-chose ici. |
| Mais remarquez la vitesse. Il existe une relation négative, mais au sommet, je vois ces deux valeurs ; c'est la seule valeur que j'ai vue sur l'histogramme, mais il y a une deuxième valeur qui semble se démarquer. |
| Il se pourrait donc que cette valeur autour de 60 soit simplement une valeur aberrante, mais cela pourrait être un argument valable. Je me demanderais probablement si ce point ici près de 0 est valide ou non. |
| Nous avons donc examiné le tableau de données. Nous avons examiné les données une variable à la fois. Nous avons examiné les données deux variables à la fois, et tout cela s'inscrit parfaitement dans l'exploration des données et nous conduit à l'analyse. |
| Il existe des outils plus avancés que nous pourrions utiliser (par exemple, explorer les valeurs aberrantes, explorer les éléments manquants) qui dépassent le cadre de ce cours ou de cet exposé. |
| Et lorsque vous commencerez à analyser vos données, vous identifierez probablement des problèmes supplémentaires. Ainsi, par exemple, si vous avez beaucoup de catégories de variables catégorielles |
| et vous essayez d'adapter une interaction dans un modèle de régression, vous savez que JMP vous avertira que vous ne pouvez pas vraiment le faire. Ainsi, lorsque vous commencez à analyser les données, tout ce processus est itératif et vous identifierez les problèmes potentiels tout au long du processus. |
| L'essentiel est que vous souhaitiez noter les problèmes que vous rencontrez lorsque vous examinez vos données. Et certains d'entre eux peuvent être |
| corrigé au fur et à mesure, afin que vous puissiez masquer et exclure des valeurs, vous pouvez remodeler, vous pouvez renettoyer vos données au fur et à mesure, mais vous pouvez décider que vous devez collecter de nouvelles données. Vous souhaiterez peut-être effectuer une DOE afin d’avoir davantage confiance dans les données elles-mêmes. |
| Si vous savez que vous allez répéter cette analyse ou que quelqu'un d'autre voudra répéter cette analyse, |
| alors vous voudrez vous assurer que vous capturez les étapes que vous suivez afin d'avoir une reproductibilité. Quelqu'un d'autre peut reproduire vos résultats, ou vous pouvez répéter votre analyse plus tard. C'est donc ici que je vais céder la parole à Jordan, et Jordan va |
| Parlez de conservation de données reproductibles. |
| Jordan Hiller | D'accord, merci, Mia. |
| Bonjour, je m'appelle Jordan Hiller. Je suis ingénieur système chez JMP. Examinons un peu la situation et parlons davantage de la reproductibilité. |
| pour la conservation de vos données. |
| Mia a très bien présenté cette idée, mais donnons quelques détails supplémentaires. L'idée ici est que nous voulons pouvoir réexécuter facilement |
| toutes nos étapes de conservation que nous utilisons pour préparer nos données à l'analyse, et je vois trois avantages principaux à cela. Le premier est l’efficacité. Si vous devez le faire... si vos données changent et que vous devez rejouer ces étapes de curation sur de nouvelles données à l'avenir, |
| il est beaucoup plus efficace de l'exécuter une fois avec un script en un seul clic que de répéter toutes vos activités pointer-cliquer. La précision est le deuxième avantage. Le pointer-cliquer peut être sujet à des erreurs, et en en faisant un script, vous garantissez une reproduction précise. |
| Et enfin, la documentation, qui est peut-être sous-estimée. Si vous disposez d'un script, il documente les étapes que vous |
| a pris. C'est un fil d'Ariane que vous pourrez revoir plus tard lorsque, inévitablement, vous devrez revoir ce projet et vous rappeler, qu'est-ce que j'ai fait pour préparer ces données ? |
| Avoir ce script est d'une grande aide. Aujourd’hui, nous allons donc passer en revue une étude de cas. Je vais vous montrer comment générer un de ces scripts de curation de données reproductibles |
| en utilisant uniquement le pointer et cliquer. Et la technologie habilitante est une nouveauté dans JMP 16. C'est le journal amélioré et l'enregistrement des actions qui se trouvent dans le journal amélioré. |
| Voici donc ce que nous allons faire, nous allons effectuer nos activités de curation de données comme d'habitude par pointer et cliquer. Pendant que nous faisons cela, |
| le script dont nous avons besoin, le code informatique (on l'appelle code JSL, JSL pour langage de script JMP) il va être capturé pour nous automatiquement |
| dans le nouveau journal amélioré. Et puis, lorsque nous avons terminé notre curation par pointer-cliquer, tout ce que nous avons à faire est de récupérer ce code et de l'enregistrer. Nous voudrons peut-être apporter quelques ajustements, quelques modifications, juste pour le rendre un peu plus fort, mais cette partie est facultative. |
| D'accord, c'est donc une aide-mémoire que vous pouvez utiliser. Il s'agit de quelques-unes des activités de nettoyage de données les plus courantes |
| et comment les faire dans JMP 16 de manière à vous laisser ce fil d'Ariane, de manière à laisser le script JSL dans le journal amélioré. Cela couvre donc des choses comme opérer sur des lignes, opérer sur des colonnes, |
| les façons de modifier la table de données, toutes nos opérations de nettoyage de données et comment le faire par pointer-cliquer. |
| Il ne s'agit donc pas d'une liste exhaustive de tout ce que vous pourriez devoir faire pour le nettoyage des données, ni d'une liste exhaustive de tout ce qui est capturé dans le journal amélioré, mais c'est l'élément le plus important ici, à portée de main. |
| Très bien, passons donc à notre étude de cas en utilisant ce fichier de composants que Mia a introduit et créons notre script de curation de données dans JMP 16 à l'aide du journal amélioré. |
| Nous voici dans JMP 16. Je noterai qu'il s'agit de la dernière version du programme d'adoption précoce de JMP 16, il s'agit donc d'une pré-version. Cependant, je suis sûr que cela sera très, très similaire à la version actuelle de JMP 16. |
| Donc, pour accéder au journal, |
| Je vais vous le montrer ici. Cela semble différent si vous êtes habitué au journal des versions précédentes de JMP. Il est divisé en deux panneaux, |
| ok, un panneau de message en haut et un panneau de code en bas. Nous allons passer du temps ici. Je vais vous montrer à quoi cela ressemble, mais donnons simplement un aperçu rapide, si je devais effectuer quelques activités rapides comme importer un fichier et peut-être supprimer cette colonne. |
| Vous pouvez voir que ces deux étapes que j'ai effectuées (l'importation des données et la suppression de la colonne) sont répertoriées ici dans ce panneau de messages. |
| et le code, le code JSL dont nous avons besoin pour un script de conservation de données reproductible, se trouve ici dans ce panneau inférieur. Bon alors |
| que c'est vraiment très excitant, la possibilité d'avoir ce code et de le récupérer quand vous en avez besoin simplement en pointant et en cliquant est un avantage considérable dans JMP 16. |
| Ainsi, dans JMP 16, cette nouvelle vue améliorée du journal est activée par défaut. Si vous souhaitez revenir à l'ancienne version du journal, ce simple journal texte, vous pouvez le faire ici dans la section des préférences JMP. Il y a un nouveau |
| pour le journal et vous pouvez revenir à l'ancienne vue texte du journal, si vous préférez. La valeur par défaut lorsque vous installez JMP 16 est le journal amélioré et nous parlerons de certaines de ces autres fonctionnalités un peu plus tard, plus loin dans notre étude de cas. |
| Très bien, alors je vais m'en aller |
| le journal pour l'instant du triangle rouge. Effacez le journal et commençons par notre étude de cas. Importons les données des composants que Mia partageait avec vous. Nous allons partir de ce fichier csv. |
| Donc |
| Je vais effectuer le type d'importation le plus simple en le faisant simplement glisser. Oh, j'en avais un... J'en avais déjà une version ouverte. Je suis désolé, laissez-moi, laissez-moi commencer par fermer l'ancienne version |
| et effacez le journal une fois de plus. |
| D'accord, simple importation |
| en le faisant glisser dans la fenêtre JMP. Et maintenant nous avons ce fichier, Composants A, avec 369 lots, et passons maintenant à nos activités de nettoyage des données. je vais allumer |
| les graphiques d’en-tête. Et la première chose que nous pouvons voir, c'est que la colonne des installations ne contient qu'une seule entrée, une seule valeur, FabTech, donc il n'y a aucune variation, rien d'intéressant ici. Je vais juste le supprimer avec un clic droit, supprimer la colonne. |
| Et encore une fois, cela est capturé au fur et à mesure dans le journal amélioré. |
| D'accord, quoi d'autre ? Imaginons que cette colonne du taux de rebut située vers la fin du tableau soit vraiment importante pour nous et j'aimerais en voir une plus tôt dans le tableau. Je vais le déplacer en quatrième position |
| en le saisissant dans le panneau des colonnes et en le faisant glisser juste après le numéro de client. Et voilà. |
| Mia a mentionné que cette colonne d'humidité est incorrectement représentée à l'importation, principalement à cause de celles N/A |
| caractères alphabétiques qui le font apparaître en tant que variable de caractère. Alors réparons ça. Nous allons entrer dans la rubrique info avec le clic droit ici |
| et changez le type de données de caractère en numérique, changez le type de modélisation de nominal à continu. Cliquez sur OK. Et cliquons simplement sur le journal ici, et vous pouvez voir que nous avons maintenant quatre étapes qui ont été capturées et nous allons continuer. |
| Très bien, quelle est la prochaine étape ? Nous avons plusieurs variables qui doivent passer de continues à nominales. Il s'agit du numéro de lot, du numéro de pièce et du processus. Donc, avec les trois sélectionnés, je ferai un clic droit et passerai de continu à nominal. |
| Et tout cela a été corrigé. |
| Et encore une fois, nous pouvons voir que ces trois étapes sont enregistrées ici dans le journal. |
| Très bien, quoi d'autre ? Autre chose d'un peu cosmétique, cette chronique, Pression. Mes ingénieurs aiment voir le nom de cette colonne comme PSI, nous allons donc le modifier simplement en sélectionnant cette colonne et en tapant PSI. Sortez de là pour aller ailleurs. Cela sera également enregistré dans le journal. |
| Le fournisseur. Mia nous a montré qu'il y avait, vous savez, des orthographes incohérentes. Il y a probablement trop de valeurs ici. Nous devons corriger les valeurs des caractères. Lorsque vous avez des valeurs de caractères incorrectes et incohérentes dans une colonne, pensez à l'outil de recodage. |
| L'outil de recodage est un moyen très efficace de résoudre ce problème. Donc avec le clic droit sur fournisseur, on va aller recoder. |
| Et regroupons-les de manière appropriée. Je vais commencer par quelques options de triangle rouge. Convertissons toutes les valeurs en casse du titre, |
| supprimons également cet espace blanc afin de corriger l'espacement incohérent. Cela a déjà corrigé quelques problèmes. Corrigeons tout le reste manuellement. Je vais regrouper les Anderson. Je vais regrouper les Cox. |
| Regroupez les Hershes. Trutna et Worley ont déjà raison avec une seule catégorie. Et la dernière correction que je ferai concerne les choses qui sont, vous savez, simplement répertoriées comme vides ou manquantes, je leur donnerai une explication explicite. |
| étiquette manquante ici. |
| Très bien, et quand on clique sur recoder, |
| nous avons intégré ces correctifs dans une nouvelle colonne appelée fournisseur 2. |
| Cela a juste 1, 2, 3, 4, 5, 6 catégories corrigées et réduites. |
| Bien. |
| Bon, faisons un calcul. Nous allons calculer le rendement ici, en utilisant la taille du lot et le nombre mis au rebut. |
| Droite. Et oui, je me rends compte que c'est un peu redondant. Nous avons déjà un taux de rebut et le rendement est juste un moins le taux de rebut, mais juste pour les besoins de l'argumentation, nous allons effectuer |
| le calcul. Je veux donc que cette colonne de rendement soit insérée juste après le numéro supprimé, je vais donc mettre en surbrillance le nombre supprimé, puis j'irai dans le menu des colonnes, choisir une nouvelle colonne. |
| Nous allons appeler cette chose le rendement. |
| Et nous allons insérer notre nouvelle colonne après la colonne sélectionnée, après le nombre supprimé, et donnons-lui une formule pour calculer le rendement. |
| Nous avons besoin du nombre de bonnes unités. Ce sera la taille du lot moins le nombre mis au rebut. |
| Voilà donc le nombre de bonnes unités et nous allons diviser tout cela par |
| la taille du lot. |
| Nombre de bonnes unités divisé par la taille du lot, c'est notre calcul de rendement. |
| Et cliquez sur OK. |
| Voilà notre nouveau |
| colonne de rendement. Nous pouvons voir qu'il s'agit d'un taux de rebut de un moins. C'est... c'est bien et ignorons, pour l'instant, le fait que nous avons certains rendements supérieurs à 100 %. |
| Bon, nous avons presque terminé. Juste quelques changements supplémentaires. J'ai remarqué que nous avons deux processus, et ils sont, pour l'instant, simplement étiquetés processus 1 et processus 2. |
| Ce n'est pas très descriptif, pas très utile. Donnons-leur des étiquettes plus descriptives. Processus 1, nous appellerons processus de production ; et le processus 2, nous l'appellerons expérimental. Nous ferons donc cela avec des étiquettes de valeur, plutôt qu'avec un recodage. je vais aller dans la colonne info |
| et nous attribuerons des étiquettes de valeur à un et deux. |
| Un dans cette colonne va représenter la production. |
| Ajoutez ça. |
| Et deux représente expérimental. |
| Ajoutez ça. |
| Cliquez sur OK. Bien. Il montre un et deux dans les graphiques d'en-tête, mais la production et l'expérimentation ici dans le tableau de données. |
| Très bien, une dernière étape avant de sauvegarder notre script. Disons, pour les besoins de l'argumentation, que seules les données m'intéressent... Je souhaite procéder à l'analyse uniquement lorsque le vide est désactivé. |
| D'accord, je vais donc sous-ensembler les données et créer un nouveau tableau de données contenant uniquement les lignes où le vide est désactivé. Je ferai cela en cliquant avec le bouton droit sur l'une de ces cellules sans aspirateur. |
| et sélectionner les cellules correspondantes. |
| Cela sélectionne les 313 lignes où le vide est désactivé. Et maintenant nous allons passer au sous-ensemble de table, |
| créez une nouvelle table de données, que nous nommerons vac_off. |
| Cliquez sur OK. |
| Très bien, et c'est notre nouveau tableau de données avec 313 lignes affichant uniquement les données où le vide est désactivé. |
| C'est donc la fin. Nous avons effectué toutes nos curations de données et revenons maintenant en arrière, revisitons le journal et apprenons-en un peu plus sur ce que nous avons. |
| D'accord, toutes ces étapes, ainsi que quelques autres que je n'avais pas l'intention de faire, ont été capturées ici dans le journal. |
| Regardez ici, nous avons... chaque ligne est l'une des étapes que nous effectuons. |
| Il y a aussi des choses superflues, comme à un moment donné, j'ai effacé la sélection de lignes. Je n’en avais pas vraiment besoin… Je n’ai pas vraiment besoin d’intégrer cela dans mon script. |
| Effacement des lignes sélectionnées, supprimons cela. Je vais simplement faire un clic droit dessus et effacer cet élément pour le supprimer. C'est bien. |
| D'accord, donc les messages ici, le code JSL ici. J'aimerais attirer votre attention sur l'origine et le résultat. C'est plutôt chouette. |
| Chaque fois que nous effectuons une étape, chaque fois que nous effectuons une action par pointer-cliquer, vous savez, il y a quelque chose sur lequel nous faisons cette action et il y a quelque chose qui en résulte. Voilà donc l'origine et le résultat. Ainsi, par exemple, lorsque nous avons supprimé la colonne des installations... |
| eh bien, c'est peut-être un mauvais exemple... choisissons plutôt de modifier les informations de la colonne pour l'humidité. L'origine, la chose sur laquelle nous l'avons fait |
| était le tableau des composants A, et nous le voyons répertorié ici comme tableau de données. Lorsque je passe la souris dessus, il est indiqué Mettre les composants A au premier plan, donc en cliquant dessus, oui, cela nous amène au tableau des composants A. Très agréable. |
| Et le résultat est quelque chose que nous avons fait avec la colonne d’humidité. Nous avons changé l'humidité. Nous l'avons changé en type de données numérique et en type de modélisation continu. Voyez ça ici. |
| Je peux donc cliquer ici, aller dans la colonne d'humidité, et elle... elle met en évidence, elle sélectionne pour nous. JMP sélectionne pour nous la colonne d'humidité. |
| vert pour partout, sauf ce dernier résultat en bleu. Eh bien, c'est pour nous aider à suivre nos activités sur différents tableaux de données. Nous avons effectué toutes ces activités sur le tableau de données des composants A. |
| et notre dernière activité, nous avons effectué un sous-ensemble sur la table de données des composants A, le résultat a été une nouvelle table de données appelée vac_off. Et donc vac_off est en bleu. C'est vrai, nous pouvons donc utiliser ces couleurs pour vous aider à suivre les choses. |
| Très bien, la dernière fonctionnalité que je veux vous montrer ici dans le journal est... c'est |
| Ce qui est utile, c'est que si vous avez une très longue série d'étapes et que vous n'avez besoin d'en trouver qu'une, cette zone de filtre vous permet de la trouver. Disons que je veux trouver le sous-ensemble. Le voilà. Nous avons trouvé la table de données du sous-ensemble et je peux accéder directement au code dont j'ai besoin. |
| D'accord, alors ça... c'est tout ce dont nous avons besoin. Nos étapes de conservation des données ont été capturées. Tout ce que nous devons faire pour créer un script de conservation de données reproductible est d'aller dans le triangle rouge et nous enregistrerons le script dans une nouvelle fenêtre de script. |
| l'étape d'importation, l'étape de suppression de colonne, l'étape de déplacement du taux de rebut. Toutes ces étapes sont ici dans le script. |
| Nous disposons de la coloration syntaxique pour nous aider à lire le script. Nous avons tous ces commentaires utiles qui nous disent exactement ce que nous faisions à chacune de ces étapes. |
| C'est vrai, donc c'est tout. C'est tout ce dont nous avons besoin et je vais garder ça. Je vais l'enregistrer sur mon bureau en tant qu'importation et nettoyage... appelons-le importer et organiser des composants. |
| C'est vrai, c'est notre script de conservation de données reproductible. Donc, si je revenais à la fenêtre d'accueil de JMP et fermais tout sauf notre nouveau script, |
| voici ce que nous faisons si je dois rejouer ces étapes de conservation des données. Je viens d'ouvrir le fichier de script et nous pouvons l'exécuter en cliquant sur le bouton Exécuter le script. Ouvre les données, effectue tout le nettoyage, effectue le sous-ensemble et crée ce nouveau fichier de données avec 313 lignes. |
| Imaginons maintenant que nous devions rejouer cela sur de nouvelles données. |
| J'ai une autre version du fichier Components. C'est ce qu'on appelle les composants B. Il contient 50 lignes supplémentaires, donc au lieu de 369 lignes, il contient 419 lignes. Imaginez que, vous savez, nous ayons exécuté le processus pour 50 autres lots et que nous ayons plus de données. |
| Cela s'appelle donc Composants B, et je souhaite exécuter ce script sur les composants B. Mais vous remarquerez que tout au long du script, il appelle les composants A plusieurs fois. Nous devrons donc simplement rechercher et remplacer les composants A et le remplacer par les composants B. C'est parti. Modifier. |
| Recherche. |
| Nous trouverons les composants A, les remplacerons par les composants B. Remplacez tout. 15 occurrences ont été remplacées. |
| Vous pouvez le voir ici et ici. |
| Et maintenant, nous réexécutons simplement le script, et le voilà sur la nouvelle version des données. Vous pouvez voir qu’il y a plus de lignes, en fait, c’était éteint. C'était 313 avant, c'est 358 maintenant. |
| Très bien, donc un script de conservation de données reproductible qui peut s'exécuter sur de nouvelles données. |
| D'accord, voici à nouveau cette aide-mémoire. Ce sera dans les documents que nous enregistrerons avec la conférence, afin que vous puissiez y accéder et le trouver. Et cela vous indique exactement comment pointer et cliquer pour vous frayer un chemin dans la curation des données et vous laisser un joli script de curation des données rejouable et reproductible. |
| Le script que nous avons créé ne nous a pas demandé de coder du tout, mais je vais vous donner juste quelques conseils, quatre conseils que vous pouvez utiliser |
| pour améliorer un peu les scripts. La première astuce est d'insérer cette ligne au début de vos scripts. C'est une bonne chose à faire pour tous vos scripts. Insérez simplement les noms de ligne par défaut ici. |
| Ceci permet d'empêcher votre script d'interagir avec d'autres scripts. C'est ce qu'on appelle une collision d'espace de noms et vous n'avez pas vraiment besoin de comprendre ce qu'elle fait, faites-le simplement. C'est une bonne chose à faire. C'est une bonne pratique de programmation. |
| Le deuxième conseil est de vous assurer qu'il y a des points-virgules entre les expressions JSL. |
| Le journal amélioré le fait automatiquement pour vous. Il place le point-virgule requis entre chaque étape. Cependant, si vous effectuez vous-même des modifications, vous devez vous assurer que ces points-virgules sont correctement placés. Alors juste un mot pour les sages. |
| Ajoutez des commentaires. |
| Les commentaires sont un moyen pour vous de laisser des notes dans le programme et de les laisser de manière à ne pas gâcher le programme, n'est-ce pas. C'est une façon de |
| laissez quelque chose dans le programme qui ne sera pas interprété par l'interpréteur JSL. Et il y a des notes que le journal amélioré vous a laissées... l'enregistrement des actions dans le journal amélioré vous a été laissé, mais vous pouvez les modifier et y ajouter, si vous le souhaitez. Voici donc les principaux points concernant les commentaires. |
| Le format typique est constitué de deux barres obliques et tout ce qui suit les barres obliques est un commentaire. Vous pouvez donc le faire au début ou à la fin d'une ligne. Ainsi, l'interpréteur exécutera cette expression JSL X = 9, mais il ignorera ensuite tout ce qui se trouve après les barres obliques. |
| Vous pouvez également, si vous avez un commentaire plus long, utiliser ce format, qui est un /* au début et un */ à la fin. Cela renferme un commentaire. Les commentaires sont donc utiles pour laisser des notes pour vous-même, mais ils sont également utiles pour déboguer votre script JSL. |
| Si vous souhaitez supprimer une ligne de code et l'empêcher de s'exécuter, vous pouvez simplement la faire précéder de ces deux barres obliques et, si vous souhaitez le faire pour une plus grande partie de code, vous pouvez utiliser ce format. Il est donc bon de savoir comment utiliser les commentaires. |
| Le dernier conseil que je vais vous laisser est de généraliser les références aux tables de données. Vous souvenez-vous de la façon dont nous avons dû rechercher et remplacer pour que ce script s'exécute sur un nouveau nom de fichier, Composants B ? |
| Nous avons dû modifier 15 instances dans la table de données, dans le script. Ne serait-il pas bien de devoir le changer seulement en une seule fois, au lieu de 15 fois ? Ainsi, vous pouvez rendre vos scripts plus robustes |
| en généralisant les références aux tables de données. Au lieu d'utiliser les noms, nous utiliserons une variable JSL pour contenir ces noms de table. Voici de quoi je parle. Je vais vous montrer un exemple. |
| Sur la gauche se trouve un code généré par l'enregistrement des actions dans le journal amélioré. |
| Nous ouvrons la table de données Big Class. Nous opérons sur la colonne âge, en la changeant en type de modélisation continue puis nous créons une nouvelle colonne calculée, |
| à l'ouverture, nous l'utilisons pour effectuer le changement sur la colonne âge, et nous l'utilisons ici. |
| Très simple, ce que vous devez faire pour rendre cela plus robuste et généralisé. |
| Vous devez effectuer trois modifications. |
| Ce premier changement ici, nous attribuons un nom. J'ai choisi la Colombie-Britannique; vous pouvez choisir ce que vous voulez. Vous verrez souvent DT. |
| BC est donc le nom par lequel nous allons faire référence à cette table de données Big Class dans le reste du script. Et donc quand on veut changer d'âge |
| age désigne le tableau de données de la Colombie-Britannique et la colonne d'âge de ce tableau de données. |
| Ici, nous envoyons un message à la table de données Big Class, et c'est ce que signifie la syntaxe à double flèche. Donc nous généralisons simplement cela, nous le généralisons afin d'utiliser le nouveau nom pour envoyer ce message. |
| au tableau de données. Et maintenant, si nous devons exécuter ce script sur une nouvelle table de données nommée autre chose que Big Class, voici le seul changement que nous devons apporter. Nous devons changer juste un endroit dans le script. Nous n'avons pas besoin de rechercher et de remplacer. |
| D'accord, donc après ces quatre conseils, si vous êtes prêt à faire passer votre script de curation au niveau supérieur, voici quelques étapes suivantes. Vous pouvez ajouter un sélecteur de fichiers. Cela ne demande pas beaucoup de codage |
| pour le modifier afin que lorsque quelqu'un exécute ce script, il puisse simplement accéder au fichier sur lequel il souhaite qu'il s'exécute au lieu d'avoir à modifier le script manuellement. |
| C'est donc une bonne idée. Si vous souhaitez distribuer le script à d'autres utilisateurs de votre organisation, vous pouvez l'intégrer dans un complément JMP, et ainsi les utilisateurs peuvent exécuter le script simplement en le choisissant dans un menu de JMP. |
| Vraiment pratique. Et enfin, si vous devez exécuter ce script de curation selon un planning afin de mettre à jour une table de données principale JMP que vous conservez quelque part sur le réseau, vous pouvez utiliser le planificateur de tâches sous Windows ou l'automate sous Mac OS pour le faire. cela selon un calendrier. |
| En résumé, Mia a expliqué comment effectuer la conservation de vos données en explorant les données et en itérant pour identifier les problèmes. |
| Si vous automatisez ces étapes, vous bénéficierez des avantages de la reproductibilité : efficacité, précision et documentation de votre travail. |
| Pour ce faire dans JMP 16, il vous suffit de pointer et de cliquer comme d'habitude et vos étapes de conservation des données sont capturées par l'enregistrement des actions qui se produit dans le journal amélioré. |
| Et enfin, vous pouvez exporter et modifier ce code JSL à partir du journal amélioré afin de créer votre script de conservation de données reproductible. Ceci conclut notre entretien. Merci beaucoup pour votre temps et votre attention. |