L'une de mes nouvelles fonctionnalités préférées dans la conception d'expériences JMP 11 est la conception de remplissage flexible rapide (FFF) dans la plate-forme de conception de remplissage d'espace. Quand le Aperçus JMP 11 ont été libérés, Brad Jones a montré un exemple d'utilisation de conceptions FFF placer des contrôleurs de la qualité de l’air sur l’état de la Caroline du Nord. Ce billet de blog expliquera comment créer un modèle FFF pour une carte utilisant l'état de Géorgie.
Pour créer un dessin FFF pour une forme de carte, vous avez besoin d’un fichier XY avec la latitude et la longitude des limites de la carte (voir Créer des cartes du Livre de graphisme essentiel dans le menu Aide ou documentation en ligne pour plus de détails).
Obtenir les coordonnées de la forme de la carte
Je suppose que vous ne disposez pas d'un fichier XY de la Géorgie. Accédez au répertoire Maps (vous le trouverez probablement sous Windows: C: / Programmes / SAS / JMP / 11 / Maps ou Macintosh: / Bibliothèque / Application Support / JMP / 11 / Maps) et ouvrez US-State-XY. jmp et US-State-Name.jmp. Notez à partir du fichier de noms d’États que l’identité de forme 11 correspond à Géorgie. Créez une nouvelle table de données en utilisant US-State-XY.jmp avec les colonnes X et Y pour les lignes correspondant à Georgia. Vous pouvez obtenir les coordonnées sous une forme utilisable par Space Filling Design Platform à l'aide d'un script simple:
dt = current data table();
mymap = dt << get as matrix ({X, Y});
xx = mymap [0,1];
yy = mymap [0,2];
show (min (xx), max (xx));
show (min (aa), max (aa));
show (xx, yy);
Le résultat dans le journal de show (xx, yy) est la pièce dont vous avez besoin, et les minimum et maximum pour la latitude et la longitude seront utiles à l'étape suivante.
Configuration pour une conception FFF avec des combinaisons non autorisées
Nous sommes maintenant prêts à ouvrir la plate-forme Space Filling Design. Notez que j'ai renommé les longitude et latitude X1 et X2. Sur la base des valeurs minimales et maximales de la forme de la carte, j'ai choisi une longitude variant de -86 à -80 et une latitude de 30 à 36. Assurez-vous que vos plages définissent une zone contenant la carte, et vous devriez généralement être OK. Vous voudrez vous assurer de ne pas définir une plage trop grande pour que la forme de votre carte n'en représente qu'une petite fraction. Ma table de facteurs apparaît dans la figure ci-dessous.
Vous devez maintenant déclarer que les points ne doivent apparaître que dans la forme de la carte. La forme de la carte est un polygone défini par les coordonnées de l'étape ci-dessus. La fonction JSL «In Polygon» peut donc spécifier les points devant apparaître dans la forme de la carte par le biais de combinaisons non autorisées. Dans le menu en forme de triangle rouge pour la conception de remplissage d'espace, sélectionnez Combinaisons non autorisées.

JMP fournit désormais une zone d'édition dans laquelle vous pouvez coller une expression excluant les combinaisons de variables d'entrée infaisables. Cette expression doit renvoyer une valeur non nulle pour les valeurs infaisables. La boîte de dialogue Combinaisons non autorisées est identique à celle utilisée dans le concepteur personnalisé. Une façon de faire est de créer une expression booléenne dont le résultat sera true ou false. Par exemple, si les facteurs X1 et X2 vont de -1 à 1 et que vous souhaitez que des points apparaissent dans le cercle des unités, vous devez spécifier que les combinaisons non autorisées sont X1 ^ 2 + X2 ^ 2> 1. Autrement dit, n'autorisez aucun point situé en dehors du cercle d'unités. Pour cet exemple, nous avons besoin d'une expression qui évalue si un point tombe en dehors de la forme de la carte.

Vous avez besoin des vecteurs pour la forme de la carte, que vous pouvez obtenir de show (xx, aa) ci-dessus, et! In Polygon ( longitude, latitude, xx, yy ) . Notez le "!" Devant "! In Polygon", car vous souhaitez interdire tout point en dehors de la forme de la carte. Dans ce cas, le script à copier dans la fenêtre pour les combinaisons non autorisées se présente comme suit:
xx = [-83.108535, -83.3386899940506, -83.034712, -82.876864, -82.556835, -82.32448, -82.186154, -81.926336, -81.939737, -81.743835, -81.492253, -81.41866, -81.186829, -81.117234, -80.885517, -80.862814, -81.203572, -81.133493, -81.260076, -81.177254, -81.2884027924215, -81.493651, -81.444124, -81.949787, -82.043795, -82.036825, -82.165192, -82.214839, -84.864693, -85.002368, -85.107516, -85.041305, -85.140731, -85.061144, -84.890894303099, -85.007103, -84.96303, -85.1844, -85.605165, -84.321869];
yy = [35.000771, 34,6820015115479, 34,483495, 34,475303, 33,945353, 33,820033, 33,62088, 33,462937, 33,344941, 33,14145, 33,009342, 32,629392, 32,464086, 32,117605, 32,0346, 31,969346, 31,719448, 31,623348, 31,54828, 31,517074, 31,211065104271, 30,977528, 30,709714, 30,827493 , 30.729641, 30.377884, 30.358035, 30.568591, 30.711542, 31.000682, 31.186451, 31.540987, 31.857461, 32.134065, 32.2615038439169, 32.328362, 32.424244, 32.424244, 32.984617, 34.984617, 34.984617, 34.984617, 34.984617, 34.984617, 34.984617, 34.984617, 34.984617
! En polygone (longitude, latitude, xx, yy)
Cliquez sur OK et continuer, et nous sommes prêts à créer le design. Vous remarquerez qu’en raison des combinaisons non autorisées, le remplissage flexible et rapide est le seul choix disponible.
Créer le design
Changez le nombre d'essais sur 100 pour mieux visualiser le résultat, puis cliquez sur le bouton «Remplissage flexible rapide» pour créer le dessin.

La conception sera affichée et le bouton Créer une table créera une table de données contenant la conception. Vous pouvez maintenant jeter un coup d'œil à la conception via Graph Builder. En utilisant l’option Fond de carte, vous devriez obtenir quelque chose de similaire à la figure ci-dessous.

La JSL pour recréer ceci est:
Générateur de graphes (
Afficher le panneau de configuration (0),
Variables (X (: longitude), Y (: latitude)),
Éléments (points (X, Y, légende (1), gigue (1))),
SendToReport (
Envoi(
{},
"longitude",
ScaleBox,
{Echelle ("US géodésique"), Format ("Latitude DDD", 12, 0),
Min (-86,66255), Max (-79,83745), Inc (1),
Tiques mineures (0)}
),
Envoi(
{},
"latitude",
ScaleBox,
{Echelle ("US géodésique"), Format ("Longitude DDD", 12, 0),
Min (29,9), Max (35,6), Inc (1),
Tiques mineures (0)}
),
Envoi(
{},
"Graph Builder",
FrameBox,
{Carte d'arrière-plan (limites ("États américains")), Ordre de quadrillage (2),
Commande de ligne de référence (3)}
)
)
)
Dernières pensées
Si vous utilisez des cartes qui se divisent en plusieurs parties (par exemple, des États dotés de plusieurs numéros d'identification de partie), je vous recommande de créer des conceptions FFF pour chaque élément individuellement. Sur une carte, une conception FFF est différente du prélèvement d’un échantillon aléatoire simple de points sur la forme de la carte. Une conception FFF a pour but de mieux répartir les points de conception et d’améliorer la couverture de la carte.