
Le sac postal d'ingénierie
Épisode 1 : L’économie des services de chasse-neige
De temps en temps, nous, les ingénieurs systèmes JMP, sommes confrontés à des questions intéressantes qui sortiraient quelque peu du cadre normal des préoccupations. JMP usage. Ces applications sont généralement intelligentes et démontrent que l’utilisation des données ne se limite pas à des problèmes commerciaux ou techniques.
Voici un exemple de question que j'ai reçue d'un utilisateur (également nommé Mike) dans l'État de New York et que lui et moi avons pensé qu'il serait amusant de la partager.
La question
Mike [JMP],
Je joue avec JMP en utilisant les données que j'ai trouvées sur les totaux de chutes de neige l'année dernière. J'ai emménagé dans une nouvelle maison cet été et j'ai maintenant une allée de 387 pieds de long qui devra être déneigée. Je parlais récemment avec un entrepreneur en chasse-neige et il essayait de me convaincre de conclure un contrat saisonnier. Normalement, lorsqu'il facture par poussée, cela se fait chaque fois que nous avons 3 pouces de neige ou plus à 75 $ par poussée. Il a proposé un prix de 2 000 $ pour pouvoir déneiger chaque fois qu'il y a de la neige. L'année dernière, il m'a dit que nous avions 3 pouces de neige ou plus environ 20 fois, donc si cela se reproduisait cette année, je finirais par payer 1 500 $ (75 $ x 20). Je n'aurais donc qu'à payer 500 $ de plus pour qu'il laboure chaque fois qu'il neige.

Comme vous pouvez le voir d'après mes données, il n'y a eu que 5 fois l'année dernière avec 3" ou plus de neige. Bien sûr, j’ai dit à cet entrepreneur que je n’étais pas intéressé. J'ai fini par embaucher un autre gars qui le fera pour 50 $ l'unité. Ma question pour vous est la suivante : pourquoi JMP met-il le total de neige de 15" sur le graphique entre 2,5" et 3,0" ? Puisque les totaux sont par ordre décroissant, pourquoi les 15 pouces ne sont-ils pas complètement à droite ?
Merci,
Mike [Utilisateur]
Ma réponse
Salut Mike!
En réponse à votre question, je pense que vous constaterez que la colonne « Greenfield Center 1,6 W » a le type de données défini sur « Caractère ». Au-delà de l'ordre alphabétique évident, l'ordre est compliqué par les données de caractères. Lorsque vous associez cela à l'option Nombre décroissant dans Graph Builder, la prévision devient plus difficile.
Voici ce qui, à mon avis, se produit : Graph Builder classe d'abord par « Nombre décroissant ». Ainsi, les catégories avec le plus de lignes apparaîtront à gauche et diminueront à mesure que vous vous déplacez vers la droite. Lorsque vous disposez de plusieurs groupes avec le même nombre de points de données, c'est-à-dire 1 et 2, 1,5 et 2,5 et 15 – 9,5, Graph Builder utilisera les règles de classement normales. Puisque la colonne est constituée de caractères, cela signifie qu'elle suivra un ordre pseudo-alphabétique. Cela signifie que l'ordre pour le dernier groupe serait 15, 3, 5,5, 6, 9,5, car l'ordre alphabétique se fait par caractère, de gauche à droite. En utilisant un exemple plus contrôlé, la façon dont JMP classe les nombres entre 1 et 20 est différente selon que le type de données est caractère ou numérique. Numériquement, ce serait 1,2,3,…, 20, comme on peut s'y attendre.Par ordre alphabétique, ce serait 1, 10, 11,12, 13,…, 19, 2, 20, 3, 4, 5, 6, 7, 8, 9.
Un moyen de contourner ce problème consiste à utiliser une propriété de colonne Ordre des valeurs. Vous pouvez définir l'ordre que vous souhaitez que JMP utilise et il remplace l'ordre par défaut. Avec un ordre de valeur défini par l'utilisateur, la hiérarchie utilisée dans Graph Builder serait le nombre décroissant, puis l'ordre des valeurs, puis la hiérarchie par défaut pour tout ce qui n'est pas défini dans la propriété de la colonne Ordre des valeurs.
Meilleur,
M.
Plus de pensées
Après y avoir réfléchi, j'ai réalisé qu'il existait d'autres façons d'aborder cela et d'autres visualisations qui pourraient être utilisées pour prouver ce point. Commençons par nettoyer les données. Les données utilisées par Mike proviennent du Le site Web de la NOAA .Le site est configuré pour télécharger un mois à la fois, il nécessite donc un travail de concaténation. En regardant les données, certains codes de caractères sont utilisés dans les données de précipitations autrement numériques pour chaque station. M et T sont utilisés respectivement pour « manquant » et « trace ». Cela signifie deux choses. Premièrement, nous avons Données fantômes .
Deuxièmement, nous avons un certain seuil en dessous duquel la déclaration de valeurs spécifiques n'est pas jugée nécessaire par la NOAA. Nous devrons gérer cela d’une manière ou d’une autre. De plus, les données sont fournies dans un format jour-mois que JMP considère comme étant du caractère et il manque une année. Cela signifie que si nous devions générer un nuage de points de série chronologique, l’ordre serait incorrect. Cela devra également être corrigé.
Tout d'abord, la correction de la date consiste en une série d'opérations Rechercher et remplacer en utilisant « - » comme « rechercher » et « /mm/aa » comme « remplacer ». En pratique, cela ressemble à ceci :

Une fois les dates corrigées, c'est probablement une bonne idée d'empiler les données. Cela donne plus d’options d’analyse. Une fois les données empilées, je peux désormais attribuer une propriété de colonne de valeur manquante pour que JMP considère le « M » comme manquant. Je peux également utiliser recode pour changer le « T » en valeur numérique. Le FAQ de la NOAA dit qu'il considère les traces comme « une petite quantité de précipitations qui mouillera un pluviomètre mais qui est inférieure à la limite de mesure de 0,01 pouce ». Dans ce cas, je vais juste le recoder à 0,01.
La dernière chose que je vais faire est de créer une nouvelle colonne, « Groupes de précipitations ». En fait, j'ai utilisé Complément interactif Binning (V2) de Brady , mais la logique est assez simple à mettre en œuvre dans Formula Editor. Si « Précipitations » est supérieure à 3 pouces, alors il renvoie « Charrue » ; moins de 3 pouces signifie « Pas de charrue » ; et si les données sont manquantes, il renvoie « Manquant ».

Après avoir configuré cette colonne, j'ai masqué et exclu toutes les valeurs manquantes.
Trois types de visualisations viennent à l’esprit dans ce cas. Une distribution, un graphique à barres et un graphique à bulles. Puisque les données sont empilées, chacune d’entre elles va utiliser un filtre de données local pour sélectionner la station qui l’intéresse. La répartition, construite sur la colonne d'indicateurs que j'ai créée plus tôt, montre très clairement que le labour aurait été nécessaire cinq fois au cours de la saison 2016-17.

Un graphique à barres, créé dans Graph Builder, à l'aide d'une ligne de référence et d'une coloration selon que le labour était nécessaire, montre une histoire similaire.
Les intrigues à bulles sont tout simplement amusantes, et animer l'histoire est un excellent moyen d'améliorer l'impact du message. Il existe plusieurs manières d’aborder la visualisation, selon les goûts et le message. Le tracé à bulles peut également être exporté au format HTML5 interactif (exportation en exécutant les scripts dans le tableau de données ci-joint, puis en utilisant l'option d'exportation appropriée pour votre système d'exploitation).
Le premier tracé à bulles est un tracé temporel animé. Lorsqu'il est animé, il trace les précipitations quotidiennes et colore la ligne en fonction de la proximité du niveau de précipitation par rapport au niveau critique de 3 pouces pour le labour.

Le deuxième exemple montre toutes les stations de l'ensemble de données, toujours avec les précipitations quotidiennes enregistrées sur l'axe des y.Dans cet exemple, j'ai inclus la valeur des précipitations comme variable de dimensionnement afin que les marqueurs grossissent à mesure que l'on monte sur l'axe y.

L'exemple de carte a été créé en localisant la liste de coordonnées des stations NOAA sur le même site d'où proviennent les données. J'ai créé une table de recherche et utilisé une jointure virtuelle pour importer la latitude et la longitude de chaque station en fonction du nom de la station. Comme pour le deuxième graphique à bulles, les marqueurs sont dimensionnés en fonction des précipitations enregistrées quotidiennement à une station donnée. La carte n'est pas particulièrement importante pour la question initiale, mais lorsqu'elle est animée, elle fournit un visuel intéressant indiquant quand, où et quelle a été la gravité des tempêtes de neige à New York au cours de la saison hivernale 2016-2017. Pour vous amuser un peu, essayez de localiser la tempête qui a permis aux gens de faire du snowboard à Times Square à New York (indice : c'était en 2017).

Avez-vous des questions amusantes ou des ensembles de données que vous aimeriez qu'un ingénieur système examine ?Laissez-moi un commentaire ou un message. Peut-être que nous allons en faire une activité courante.
Une note de l'auteur
Pour ceux d'entre vous qui lisent ceci, non vous n'êtes pas fou, le titre a un peu changé.J'ai reçu une demande de mise à jour du titre afin qu'il soit plus facile à trouver pour nos moteurs de recherche.Je ne peux que supposer que cela est dû au fait que certains moteurs de recherche sont des incarnations modernes de bibliothécaires de référence du XIXe siècle, sans aucun sens de l'humour.Toutes mes excuses pour tout inconvénient.-M
Note de l'éditeur: C'est le premier d'une série intitulée
Sac postal d'ingénierie rédigé par des ingénieurs systèmes JMP, qui répondent à toutes sortes de questions techniques sur JMP.