
Dans cette démonstration, nous verrons comment scripter les analyses effectuées par certaines plateformes JMP couramment utilisées. Dans le journal de la section, je clique sur « Données de résistance et d'humidité du béton ». C'est l'ensemble de données que je vais utiliser pour tous les exemples de cette démonstration. Nous avons donc le type de mélange de béton, la résistance du béton obtenu et l'humidité ambiante au séchage. Je vais déplacer ces données, car nous n'examinerons pas vraiment le tableau tout au long de cette démonstration. De retour dans le journal du cours, je clique sur « Script d'analyse de distribution ». Dans ce script pré-écrit, nous envoyons la distribution sous forme de message à la table de données Béton et stockons ce résultat dans une variable, dist, qui stocke cette référence d'objet. Il s'agit là encore de la référence d'objet de la couche d'analyse. Je place les trois colonnes (Type de béton, Humidité et Résistance) dans ce rôle d'analyse Y. Je demande ensuite les mêmes options au lancement pour les trois colonnes. Cependant, comme nous le verrons à l'ouverture de la fenêtre de rapport, toutes les colonnes ne répondent pas à toutes ces options. Je vais donc exécuter des lignes. Au lancement de la plateforme, deux éléments des arguments sont ajoutés à la distribution : « Pile » est une option du menu en triangle rouge, en haut, à côté de « Distributions ». Elle modifie simplement les histogrammes à l'horizontale, l'emplacement des tableaux de rapport généralement affichés sous les histogrammes et leur alignement (les histogrammes sont alignés côte à côte ou verticalement). « Pile » est cette option du menu en triangle rouge. Vous pouvez voir que notre script a utilisé une valeur booléenne pour la désactiver. Votre script pourrait donc choisir de le faire, car c'est une option très courante que les utilisateurs modifient dans leurs préférences pour toujours avoir des distributions empilées. Si l'organisation par défaut de ces éléments est importante pour le résultat de votre script, vous pouvez désactiver la pile. De plus, nous spécifions que les histogrammes doivent être verticaux. Cette option se trouve dans les menus triangulaires rouges de chaque triangle rouge, sous « Options d'histogramme ». Vous pouvez voir que cette option est cochée ici. Il s'agit d'une valeur par défaut : le script essaie simplement de garantir que la présentation corresponde aux paramètres par défaut de JMP, quelles que soient les préférences de l'utilisateur. À la ligne suivante du script, les quantiles sont désactivés. Or, les quantiles ne s'appliquent qu'aux variables continues. Si vous consultez le menu triangulaire rouge à côté de « Type concret » dans l'un de ces sous-menus, vous ne trouverez pas le mot « Quantiles ». En revanche, si je regarde le triangle rouge à côté de « Humidité » ou « Intensité », sous « Options d'affichage », les quantiles seraient normalement activés par défaut, mais vous pouvez voir ici qu'ils ne sont pas cochés dans ce menu, car nous avons utilisé cette valeur booléenne. De même, la boîte à moustaches des valeurs aberrantes est généralement activée pour les variables continues. Nous désactivons cette option avec une valeur booléenne afin d'éviter le diagramme en boîte des valeurs aberrantes. Enfin, nous avons demandé le diagramme des quantiles normaux avec la valeur booléenne entre parenthèses, ce qui n'est normalement pas activé, mais nous l'avons demandé pour ces variables. Cela faisait partie du lancement de la plateforme, et les variables capables de répondre à ces commandes l'ont fait. Une fois la plateforme lancée et la référence d'objet stockée dans une variable, avec la distribution, je peux communiquer avec toutes les variables simultanément, ou envoyer des messages à des colonnes ou variables individuelles. Pour ce faire, j'utilise des indices. La ligne indique simplement l'envoi d'une distribution d'ajustement (normale) – donc l'ajustement d'une distribution normale – aux trois colonnes. Bien sûr, le type de béton étant nominal, il ne peut pas y répondre, mais l'humidité et la résistance y répondent. J'exécute donc la ligne. Vous pouvez constater que cette distribution normale ajustée est superposée aux deux distributions continues, et nous obtenons également les éléments de contour de la distribution normale ajustée. Il s'agit encore une fois d'une commande du menu triangle rouge. « Ajuster la distribution » est un ancien nom. Dans les versions plus récentes de JMP, elle s'appelle « Ajustement continu », mais les deux fonctionnent toujours. Je voulais souligner un point : revenons au journal. Lorsque j'ai exécuté le script pour lancer la distribution, le nom de la plateforme s'est affiché. C'est l'indication que j'ai une référence d'objet de couche d'analyse. Dans le script, si je survole « dist », c'est ce que je vois. En revanche, lorsque j'ai envoyé la commande depuis le menu triangle rouge après coup, j'ai simplement obtenu ce résultat « scriptable ». Maintenant, les lignes et vont effectuer un test de la moyenne sur un échantillon. Dans le menu triangle rouge, la commande est simplement « Tester la moyenne ». Cependant, il est aberrant que, pour l'humidité (qui a une moyenne d'échantillon de 1 £ et une intensité d'environ 1 £), tester la même moyenne hypothétique pour les deux valeurs ne soit pas pertinent. Je vais donc vous montrer à quoi cela ressemble de manière interactive. Si je clique sur l'un des triangles rouges à côté des variables continues et que je sélectionne « Tester la moyenne », je saisis une valeur pour la moyenne hypothétique. Je l'annule et je reviens à l'éditeur de script. Je teste l'égalité de la moyenne à la ligne et j'envoie cette valeur à la troisième colonne de la fenêtre de distribution. J'insère la valeur dist en indice. J'exécute la ligne. Dans la fenêtre Rapport, je trouve le test t pour un échantillon sur la moyenne. Je fais la même chose pour l'humidité avec une moyenne hypothétique différente de, et la méthode d'indexation est légèrement différente. J'utilise le nom de la colonne comme chaîne de caractères (indice) plutôt que sa position dans le rapport. J'exécute la ligne et j'obtiens le test t pour l'humidité. Voilà quelques exemples pour la plateforme de distribution et le scriptage de la couche d'analyse à l'aide des commandes du menu du triangle rouge. Passons à la plateforme unidirectionnelle. Je vais fermer le script de distribution, ainsi que le rapport de distribution, mais je vais continuer à utiliser la table de données Concrete. Dans le journal, je clique sur le script ANOVA unidirectionnel. C'était assez large au départ. Le lancement complet est sur une seule ligne. Nous envoyons donc le message à la table de données Concrete. Le message correspond au lancement de la plateforme unidirectionnelle avec « Force » dans le rôle Y et « Type de béton » dans le rôle X. Nous demandons l'activation des losanges moyens avec cet argument booléen. Nous stockons la référence de l'objet de la couche d'analyse dans ow. J'exécute la ligne . Nous obtenons ainsi notre fenêtre de sortie et, bien sûr, le nom de la plateforme. Voici ce qui sera stocké dans ow si vous passez la souris dessus. Ces losanges moyens verts… Si je clique sur le triangle rouge à côté d'Analyse unidirectionnelle, vous le trouverez sous Options d'affichage, « Losanges moyens ». Par défaut, ils ne seraient pas activés si je n'avais pas déjà effectué l'analyse de la variance. Mais mon script peut les activer. Je n'ai plus besoin que cette fenêtre de script soit aussi large. Passons à quelques exemples. Dans le menu du triangle rouge, nous avons une option pour définir le niveau alpha. Il y a trois valeurs standard. Il y a aussi une option « Autre » que vous pouvez choisir. Dans cet exemple, j'envoie le message « Définir le niveau alpha » à ow. Je vais le définir à. Remarquez que la hauteur de ces losanges verts moyens correspond à l'intervalle de confiance sur la moyenne, autrement dit, à l'intervalle de confiance alpha-moins sur la moyenne. L'alpha par défaut est donc de… Si je règle le niveau alpha sur…, l'intervalle de confiance sera… Ils vont donc augmenter en hauteur. J'exécute la ligne. Nous voyons donc la hauteur de ces losanges moyens changer. Un autre rapport que nous pouvons demander pour la plateforme unidirectionnelle, si je vais au triangle rouge, est le rapport Quantiles. J'active donc cette option dans la ligne. Notez que les commandes de ce menu qui n'ont pas de sous-menus peuvent accepter un argument booléen entre parenthèses ou, comme vous le voyez dans la ligne pour l'ANOVA, qui est synonyme de moyenne, n'ont pas besoin d'accepter d'argument du tout, tandis que les éléments de menu qui ont des sous-menus les utiliseront comme arguments. Je parlerai dans un instant de l'intérêt d'utiliser cet argument booléen, même s'il n'est pas obligatoire. Pour l'instant, j'exécute la ligne. Cela me donne le tableau du rapport Quantiles et permet d'y placer des boîtes à moustaches. N'oubliez pas qu'ANOVA et moyennes sont synonymes. Il s'agit donc d'une autre commande du menu triangle rouge. Mais encore une fois, je n'ai pas mis de parenthèses dans l'argument booléen. Que se passe-t-il lorsque j'exécute la ligne ? J'exécute cette commande. J'obtiens l'analyse de la variance. Je tiens à souligner que dans le journal, nous voyons ce nom de plateforme à chaque interaction. Que se passe-t-il si j'exécute à nouveau la ligne ? J'obtiens un message dans le journal : un message avec un argument booléen vide a activé une option déjà activée. Cette option reste activée. Il indique simplement que dans les versions précédentes de JMP, vous auriez pu basculer entre les deux en exécutant cette ligne à plusieurs reprises sans avoir à fournir d'argument booléen. Si vous consultez des scripts écrits dans des versions antérieures, vous constaterez peut-être cela. Nous vous recommandons cependant de toujours utiliser cet argument booléen afin qu'il soit clair dans votre script que j'active cette option plutôt que de la désactiver. Ensuite, pour la supprimer, j'exécuterais une ligne contenant l'argument booléen. En fait, faisons cela pour désactiver le rapport Quantiles. Dans la ligne, je vais donc remplacer le par un et exécuter cette seule ligne. L'option Quantiles a donc été supprimée. Enfin, nous avons vu dans une démonstration précédente qu'il est possible de diffuser des messages en cascade vers un objet. Mais nous pouvons aussi envoyer une liste de messages à un objet. Je vais donc ouvrir une nouvelle ligne dans la fenêtre de l'éditeur de script. La variable ow, qui stocke la référence de l'objet de la couche d'analyse, recevra le message. Ce sera une liste, Variances inégales. J'utiliserai cet argument booléen pour l'activer. Je vais maintenant accéder au menu triangulaire rouge. Il y a donc Variances inégales. Cela nous donne les tests d'hétéroscédasticité. Je mettrai une virgule après cela, fermant la parenthèse booléenne pour Variances inégales. Je rétablirai le niveau alpha par défaut, soit « set alpha level », puis, entre parenthèses, « Je dois fermer ces parenthèses car j'ai déplacé mon curseur hors de cette ligne de code avant d'avoir fini de taper. » Je placerai ensuite une flèche sur la liste (je la déplacerai pour voir toute la ligne) et j'ajouterai un point-virgule. Je peux donc exécuter cette ligne, encore une fois, en appuyant sur la touche Entrée du pavé numérique. En bas de la fenêtre se trouve maintenant le test de variance inégale. En haut, vous pouvez voir que nous avons restauré le niveau alpha à… Voici donc nos intervalles de confiance. Les petites lignes bleues proviennent uniquement du test de variance inégale. Voici quelques exemples de scripts avec les commandes du triangle rouge dans la plateforme unidirectionnelle : fermons cette fenêtre de rapport et ce script sans enregistrer les modifications. Dans le journal, je clique sur « Script bivarié ». Nous travaillons à nouveau avec la table de données Béton. La variable qui stocke les références de cet objet de couche d'analyse est biv. J'ai envoyé « Bivarié » à cette table de données avec « Force » dans le rôle Y et « Humidité » dans le rôle X. Je demande « Ajuster la ligne », qui apparaît dans le menu du triangle rouge au lancement de la plateforme. Je vais donc exécuter les lignes. Et encore une fois, le nom de la plateforme apparaît dans le journal. Si je survole « biv », c'est ce que je vois. Nous avons donc tracé la force en fonction de l'humidité et ajusté la droite de régression. Ensuite, d'autres messages apparaissent : si je clique sur ce triangle rouge, je vois « Ajuster la droite ». Je peux envoyer n'importe quelle autre commande ultérieurement. J'aurais même pu l'envoyer après le lancement. Mais je vais utiliser « Ajuster le polynôme ». Vous voyez qu'il y a ce sous-menu. Nous allons donc utiliser ces arguments. Ensuite, j'envoie ce message à biv, « Ajuster le polynôme », pour obtenir le polynôme quadratique ou du second ordre. J'exécute cette droite. Cela me donne un deuxième ajustement. En faisant défiler vers le haut, vous pouvez voir que ce deuxième ajustement est superposé au graphique. J'ai deux menus en forme de triangle rouge : un pour l'ajustement linéaire et un pour l'ajustement polynomial. Chacun possède ses propres commandes, différentes de celles du niveau d'ajustement bivarié, en haut de la fenêtre. Par exemple, si je souhaite obtenir un ajustement ombré des bandes de confiance des ajustements linéaires (commande « Ajustement Ombré Confid »), je dois effectuer une opération spécifique. Je dois d'abord communiquer avec l'ajustement linéaire. Le résultat de l'ajustement linéaire recevant ce message est ensuite envoyé à l'ajustement bivarié. Le script utilisé ici (nous appelons le premier « Courbe ») utilise l'indice « Ajustement Ombré Confid ». Ce message est mis entre parenthèses. C'est ce message que reçoit biv. Sans ces parenthèses, biv essaierait de comprendre « Courbe », ce qui, bien sûr, n'est pas présent dans les sous-menus ni dans le menu principal. Et « Ajustement Ombré Confid » n'est pas présent ici. Il est associé à cette courbe, appelée « Ajustement Linéaire » dans le rapport. Si j'exécute la ligne, j'obtiens des bandes de confiance ombrées sur ma droite de régression. De même, dans l'un ou l'autre de ces menus triangulaires rouges, je clique sur celui à côté de « Ajustement polynomial », pour modifier la couleur de la ligne. La valeur par défaut est rouge pour le premier ajustement, verte pour le second, et ainsi de suite. Supposons que je veuille la changer en bleu. Je peux l'envoyer à la deuxième courbe, l'insérer entre parenthèses, et c'est le message qui est transmis à Bivariate. J'exécute la ligne. Vous pouvez constater que la couleur de la ligne a changé. Ceci est également important. Si vous souhaitez savoir comment écrire ce script et que vous n'avez pas besoin de l'envoyer comme message à la plateforme après son lancement (et que vous souhaitez l'inclure au lancement), vous pouvez le faire de manière interactive, puis demander à JMP d'enregistrer ce script dans la fenêtre de script et de l'utiliser de cette façon. Dans ce cas, « Ajustement ombré Confid » deviendra un argument de « Ajustement de la ligne ». Vous devez également utiliser le polynôme comme argument pour lancer. La couleur de ligne est un argument. Nous allons enfin examiner la plateforme bivariée, avec une variable dans le rôle « Par », afin d'obtenir des objets bivariés distincts pour chaque niveau de cette variable. Je ferme la fenêtre de script et le rapport bivarié. Dans le journal de cours, je clique sur « Script bivarié groupé ». Comme dans le script précédent, je lance la plateforme bivariée en envoyant le message à la table de données Béton et en stockant le résultat dans la variable « biv », avec « Force » dans le rôle « Y » et « X » dans le rôle « Humidité ». Je place également le type Béton dans le rôle « Par ». Voyons à quoi cela ressemble lorsque je parcours les lignes. Nous avons donc six objets bivariés dans cette fenêtre de rapport. Le journal indique qu'une liste de six éléments a été attribuée. À quoi ressemble cette liste ? Je retourne à la fenêtre de l'éditeur de script et survole « biv ». Il s'agit d'une liste de six objets bivariés. Je peux donc envoyer un message à biv. Tous les objets répondront, comme dans la ligne lorsque j'envoie Fit Line. Le journal affiche la liste de tous les objets ayant répondu. Dans la fenêtre, je vais regrouper tous ces ajustements linéaires en maintenant la touche Ctrl enfoncée et en cliquant sur le bouton d'affichage du contour à côté du premier ajustement linéaire. Ce maintien de la touche Ctrl diffusera l'information à tous les rapports de la fenêtre, ce qui facilitera le défilement. Vous pouvez voir que nous avons l'ajustement bivarié pour Consolidated Reinforced, Consolidated Standard, EZMix Reinforced, EZMix Standard, etc. Et si je ne souhaite cibler que certains objets, et non tous les objets bivariés ? J'utilise des indices. Et je pourrais utiliser un indice individuel pour n'en cibler qu'un seul. Prenons deux exemples où nous souhaitons que plusieurs objets répondent. Pour l'indice, nous fournissons la liste des valeurs d'index des objets auxquels nous voulons répondre. Je souhaite que les premier et troisième objets bivariés s'ajustent à ce modèle quadratique, le polynôme de degré. J'exécute donc la commande line. J'utilise à nouveau la touche Ctrl pour réduire l'élément de contour « Ajustement polynomial » afin de faciliter le défilement. Le premier objet bivarié a un ajustement polynomial. Le deuxième, non. Le troisième, oui. Et bien sûr, les quatrième, cinquième et sixième, non. Dans le dernier exemple, j'utilise la fonction Index, à nouveau avec son opérateur, l'opérateur infixe de deux doubles deux-points. Cela comptera du premier au deuxième nombre par incréments de. Cela ira à et « Ajuster la spline » est une option du menu triangulaire rouge sous « Flexible ». Vous pouvez voir tous les arguments que vous pouvez lui fournir. Nous utilisons donc une spline assez flexible pour effectuer une bivariation. J'exécute la ligne. Notez que dans le journal, j'ai oublié de le signaler. Lorsque j'envoie un message à deux objets, j'obtiens une liste contenant deux objets. Et tout à l'heure, lorsque j'envoie un message à trois objets, j'obtiens une liste de ces trois objets. Si nous regardons attentivement, nous constatons que les premier et deuxième ajustements bivariés n'ont pas reçu de spline. Le troisième, le quatrième, le cinquième et le sixième non. Nous pouvons donc utiliser un rôle « Par » et avoir des analyses distinctes, des objets distincts, pour chaque niveau de cette variable « Par ». Nous pouvons ensuite communiquer avec tous ces objets ensemble ou individuellement. Voici quelques exemples de lancement et d'interaction avec la couche d'analyse sur certaines plateformes JMP courantes.