JSL pour les bandes de confiance sur les parcelles modèles, de meilleures idées ?J'aimerais obtenir un tracé de mes données, superposé aux résultats d'un modèle, avec des bandes de confiance ombrées.
Un tracé comme celui-ci de Fit Model par exemple mais avec des intervalles de confiance ombrés autour des lignes d'ajustement :

Je suis conscient que pour cet exemple particulier, je pourrais obtenir ce que je recherche dans FitYbyX :

Cela montre donc ce que je recherche mais cela ne fonctionne pas pour certains ajustements - par exemple si je voulais faire cet ajustement et le contraindre à la même pente pour chaque sexe.
De plus, je vois des articles dans lesquels d'autres ont demandé des choses similaires, mais impliquant également des ajustements de courbe d'ajustement ou non linéaires :
Résolu : Comment ajouter les intervalles de confiance à un tracé de régression logistique ? - Communauté d'utilisateurs JMP
tracer des intervalles de confiance dans la "courbe d'ajustement" JMP - JMP User Community
Deux des suggestions contenues dans ces discussions ne me satisfont pas entièrement :
La première est qu’il existe des bandes de confiance dans le profileur. Bien, mais cela n'aide pas ce genre d'exemple où j'aimerais que les ajustements soient superposés.
(J'apprécie également qu'il pourrait facilement y avoir trop de facteurs pour que le modèle d'ajustement puisse même créer ce diagramme de régression, c'est peut-être pour cela qu'il n'est pas si complet - on s'attend à ce que vous l'utilisiez avec des modèles plus complexes que vous devez explorer avec profileur ? Mais il y a des cas où le tracé simple ou celui avec des courbes superposées est utile).


Une autre façon était d'ombrer les courbes dans le générateur de graphiques à l'aide des valeurs prédites enregistrées.
Résolu : Comment créer un intervalle de confiance ombré sur un tracé Graph Builder ? - Communauté d'utilisateurs JMP
C'est également bien dans certains cas, mais je souhaite que les prédictions soient une courbe lisse s'étendant au-delà des données réelles.
Cela semble nécessiter de capturer les formules des bandes de confiance à partir de la plate-forme, puis de les utiliser dans un script graphique.
Je pense que je vois le chemin vers cela, mais cela semble suffisamment pénible pour que je me demande si je manque un moyen plus intelligent avant d'aller trop loin. Ou est-ce que cela a déjà été démontré quelque part ?
Dans mon exemple, la formule ressemble à ceci (pour la limite de confiance inférieure uniquement) :

Je dois y faire une substitution et créer une courbe Y pour chaque sexe :

Voici juste tracer ces lignes de limite inférieure, jusqu'ici tout va bien...

Je peux répéter pour la prédiction elle-même et la ligne de confiance supérieure, puis pour ombrer... Je peux créer un polygone en utilisant une série de points le long de chaque paire de courbes... pouah, je vois que je peux le faire mais cela semble trop compliqué... Est-ce qu'il me manque un moyen plus simple, même pour cette partie de vouloir ombrer entre les fonctions Y ? ou est-ce vraiment la bonne voie ?
En bref:
Existe-t-il réellement un moyen d'extraire plus directement ce type d'intrigue de ces plates-formes de modélisation ? (sinon, je pense que cela pourrait être un élément de liste de souhaits intéressant.).
Sinon, de meilleures idées sur la façon de créer l'intrigue souhaitée que les scripts graphiques que j'ai décrits ?
Sinon, est-ce qu'il me manque quelque chose de plus simple qu'un polygone pour faire l'ombrage entre les courbes Y dans un script graphique ?
Merci!
Modélisation statistique avancéeAutomatisation et scriptsAnalyse et modélisation des données de baseRe : JSL pour les bandes de confiance sur les parcelles modèles, de meilleures idées ?Salut @hardner ,
Je pense que vous devriez pouvoir faire ce que vous voulez via la plateforme Fit Y by X, du moins comme je comprends ce que vous recherchez. Je ne suis pas sûr de la plate-forme non linéaire et si vous pouvez faire de même.
Quoi qu'il en soit, si vous accédez au triangle rouge à côté de l'ajustement bivarié et sélectionnez Ajustement spécial... au lieu de Ajuster la ligne, vous pouvez alors effectuer des transformations des données ou contraindre les ajustements linéaires pour avoir une certaine pente ou interception. En utilisant votre exemple, je l'ai fait en utilisant une pente de 0,113.


Et les bandes de confiance s’étendront au-delà des points de données, il vous suffira d’ajuster la plage sur les axes.

D'après ce que vous décrivez dans votre message, je pense que c'est ce que vous recherchiez. Ou peut-être que je ne comprends pas bien ce que vous voulez.
J'espère que cela t'aides,
DS
Re : JSL pour les bandes de confiance sur les parcelles modèles, de meilleures idées ?Salut @SDF1 ,
Merci! Le problème, c'est que ces bandes de confiance sont très étroites parce que vous lui avez indiqué quelle était la pente - il est très confiant dans cette partie et n'a ajusté que l'interception. Vous pouvez ajuster la pente dans le modèle d'ajustement, puis la spécifier ici pour voir les lignes d'ajustement joliment superposées - et voir les équations d'ajustement bien affichées par rapport au modèle d'ajustement. Et cela attirera bien les bandes de confiance. Donc, oui, c'est tout à fait le genre d'image que je recherchais et pour certains ajustements, FitYbyX fonctionne - mais ce ne sont pas les bandes de confiance que je veux.
Re : JSL pour les bandes de confiance sur les parcelles modèles, de meilleures idées ?Salut @hardner ,
Je suppose que je ne comprends toujours pas ce que vous cherchez.
Vous avez mentionné dans votre message d'origine : "... par exemple, si je voulais faire cet ajustement et le contraindre à la même pente pour chaque sexe." C'est pourquoi, dans l'exemple que j'ai donné, je faisais exactement cela, en fixant la pente pour chaque sexe.
Dans votre message le plus récent, vous dites : "mais ce ne sont pas les bandes de confiance que je souhaite". Quelles bandes de confiance recherchez-vous ? Il existe deux courbes de confiance dans la plateforme Fit Y by X : Confid Curves Fit -- pour la valeur attendue de la moyenne, et Confid Curves Indiv -- qui sont les limites de confiance pour une valeur prédite individuelle qui reflète la variation de l'erreur et du paramètre. estimations. (résumé de la page d'aide en ligne de JMP). Est-ce que ce sont les courbes Indiv que vous recherchez ?
DS
Re : JSL pour les bandes de confiance sur les parcelles modèles, de meilleures idées ?Salut @SDF1 ,
Merci de continuer à réfléchir à mon problème. Désolé, je n'ai pas rendu plus clair mon exemple où, pour autant que je sache, Fit Y by X ne fonctionne pas pour les bandes de confiance.
Le problème est que pour que la pente soit la même pour chaque sexe, je veux toujours que cette pente soit ajustée. Dans Fit Y by X, vous pouvez contraindre la pente mais vous devez spécifier la valeur, pas seulement qu'elle soit la même pour chaque groupe (je pense).
Si je fais l'ajustement dans Fit Model, je peux en fait ajuster à la fois les pentes et les intersections tout en le forçant à créer les mêmes pentes (ou intersections) pour chaque sexe.

Ensuite, je peux (sous "enregistrer les colonnes") enregistrer des valeurs ou une formule pour les limites de confiance moyennes.
Ci-dessous, j'ai tracé ces limites à l'aide du générateur de graphiques à droite (c'est la solution à mon problème que je n'ai pas aimé car elle est limitée à des points spécifiques du tableau mais elle montre les bandes de confiance que je souhaite pour ce cas, au moins sur un gamme limitée). À gauche se trouve le FitYby X où je lui dis simplement de se limiter à la valeur de pente que j'ai obtenue de Fit Model. Ces bandes de confiance (je veux les moyennes - les bandes les plus sombres et les plus serrées - mais j'ai également ajouté l'Indiv) sont linéaires - elles ne se déploient pas à un poids plus élevé ou plus faible car il y a une confiance à 100 % dans la pente spécifiée. Au milieu des données, ils sont très proches car les ajustements Y par X concernent uniquement la variation verticale - dans l'ajustement des interceptions.

Les courbes Indiv ne correspondent pas à ce que je souhaite, c'est-à-dire une confiance dans les points individuels tombant dans la bande. Je veux des bandes de confiance concernant la moyenne, mais je veux qu'elles concernent l'ajustement sur la pente ainsi que les interceptions.
Il semble que FitYbyX soit la seule plate-forme qui effectue une belle superposition des données d'origine, des ajustements et des bandes de confiance, mais il y a des raisons pour lesquelles vous ne pouvez pas tout faire ici. Je pense que les autres plates-formes comme Fit Model, Nonlinear et Fit Curve peuvent effectuer des ajustements que vous ne pouvez pas faire dans FitYbyX (comme ceci n'est qu'un exemple), et dans certains cas où vous pouvez créer de tels tracés car il n'y a que le un X, et à la place, ils ont juste des options pour enregistrer les limites de confiance sur les ajustements, mais pas d'option de tracé de superposition.
Re : JSL pour les bandes de confiance sur les parcelles modèles, de meilleures idées ?Salut @hardner ,
Je comprends mieux votre dilemme maintenant, merci d'avoir pris le temps de reformuler le problème auquel vous êtes confronté.
En bref, je pense que vous avez raison, Fit Y by X est la seule plate-forme qui permet une belle superposition des ajustements où vous pouvez élargir l'intrigue pour voir comment les bandes de confiance changent. Et il est généralement logique que les formules de prédiction enregistrées dans la table de données ne concernent que le nombre de lignes de cette table de données.
Il pourrait cependant exister une solution de contournement assez proche de ce que vous souhaitez. Ce n'est pas parfait, mais c'est probablement le plus proche que vous puissiez obtenir en raison des limitations des différentes plates-formes que vous devez utiliser (telles que d'autres plates-formes d'ajustement de modèles qui ne sont pas Fit Y by X).
L'idée que j'ai eue était de créer des colonnes "factices" avec des lignes factices dans le tableau de données où les valeurs correspondent à la moyenne attendue - de cette façon, cela ne devrait pas gâcher vos bandes de confiance.
Voici les résultats utilisant Graph Builder et le code JSL correspondant, comme ce que vous avez montré.

Graph Builder(
Graph Spacing( 4 ),
Variables(
X( :hidden weight ),
Y( :Lower 95% Mean height ),
Y( :Upper 95% Mean height, Position( 1 ) ),
Y( :Pred Formula height, Position( 1 ) ),
Y( :hidden height, Position( 1 ) ),
Overlay( :sex )
),
Elements(
Area( X, Y( 1 ), Y( 2 ), Legend( 2 ), Area Style( "Range" ) ),
Line( X, Y( 3 ), Legend( 1 ) ),
Points( X, Y( 4 ), Legend( 1 ) )
),
SendToReport( Dispatch( {}, "X title", TextEditBox, {Set Text( "weight" )} ) )
);
Voici les étapes que j'ai suivies pour y arriver (et bien sûr, tout cela peut être codé en JSL, mais cela prendrait un certain temps pour chaque cas avec lequel vous pourriez travailler).
1. Après avoir exécuté le modèle d'ajustement comme vous l'avez fait précédemment, enregistrez les colonnes de formule qui vous intéressent (Pred Mean et +/-95 % Mean CI).
2. Créez deux colonnes factices -- j'ai choisi :hidden height et :hiddenweight pour les noms.
2a. Ajoutez quatre lignes au tableau de données : vous pouvez ainsi avoir deux points (valeurs faibles et élevées) pour les sexes M et F.
3. Transformez chacune de ces colonnes en une formule
3a. Pour :hidden height, cela ressemble à ceci :

3b. Pour :poids caché, cela ressemble à ceci :

REMARQUE : j'ai simplement choisi 0 et 200 pour les valeurs parce qu'elles étaient faciles (l'interception en est une) et l'autre que j'ai choisie simplement comme extrême supérieure, mais celles-ci seraient définies selon vos besoins.
4. Modifiez les formules pour la moyenne de prédiction et les intervalles de confiance de +/-95 % afin qu'au lieu d'utiliser :weight pour effectuer les calculs, ils utilisent :hiddenweight pour les calculs. Un exemple de moyenne de prédiction est ci-dessous.

5. Revenez en arrière et réexécutez votre code JSL, mais remplacez les colonnes :height et :weight par les colonnes factices correspondantes afin qu'elles incluent ces quatre lignes supplémentaires dans la table de données.
6. La dernière chose que j'ai faite a été de modifier les quatre dernières lignes du style de marqueur par défaut au style de marqueur "/" afin que ces points finaux de valeur moyenne soient moins visibles que les données elles-mêmes. Vous avez la possibilité de choisir Autre... et d'utiliser un personnage différent. Je viens d'essayer les guillemets doubles pointant vers la droite (») de MS Word, et cela a très bien fonctionné.

Notez que j'ai également renommé l'axe des X en « poids » afin que le « poids caché » ne soit pas affiché.
Mais, sur la base de ce que vous avez décrit, je pense que cela devrait répondre à ce que vous recherchez. Ce n'est pas le travail le plus simple ou le plus élégant, mais il fait le travail. Je trouve cela plus facile que d'essayer de travailler avec des polygones dans Graph Builder, par exemple.
Quelque chose à considérer et à réfléchir.
J'espère que cela t'aides,
DS
Re : JSL pour les bandes de confiance sur les parcelles modèles, de meilleures idées ?Merci!
Vous l'avez rendu plutôt joli dans le générateur de graphiques ! Je ne veux vraiment pas "falsifier" la table (mon cas d'utilisation sera un outil pour d'autres) mais une copie privée de la table est une possibilité. Quelque chose à penser de toute façon, même si je pense que je devrai au moins essayer la méthode des scripts graphiques, voir si je peux rendre les polygones suffisamment lisses pour être aussi beaux.
J'apprécie particulièrement que d'autres yeux soient d'accord pour convenir que cela semble être la situation et qu'il n'y a pas d'option intégrée évidente qui me manque.