Vous pouvez créer un graphique en utilisant les scripts suivants qui placent sur un nouveau graphique la ligne de référence et deux lignes de courbe ROC.
Les valeurs des courbes ROC sont obtenues en cliquant avec le bouton droit sur le graphique de la courbe ROC que vous avez obtenu dans la fenêtre d'analyse et en choisissant "personnaliser", puis dans la fenêtre de script, vous obtenez le script de la ligne. Vous pouvez les copier et les coller dans le script ci-dessous en remplaçant les lignes qui y sont actuellement. Répétez cette opération pour chaque courbe ROC que vous souhaitez ajouter.
J'espère que cela aide.

New Window( "ROC Curve",
Graph Box(
FrameSize( 600, 600 ),
X Scale( 0, 1 ),
Y Scale( 0, 1 ),
//add axis titles
xName( "1-Specificity" ),
yName( "Sensitivity" ),
//add reference line
Line Style( 0 );
Y Function( XTemp , XTemp );
//add first line
Line Style( 1 );
Text Size( 12 );
Text({0.45, 0.2}, "......... Group, BMI; AUC = 0.88");
pen size(2);
Line(
[0, 0, 0, 0, 0, 0, 0, 0.153846153846154, 0.230769230769231, 0.230769230769231,
0.307692307692308, 0.384615384615385, 0.384615384615385, 0.461538461538462,
0.461538461538462, 0.538461538461539, 0.615384615384615, 0.692307692307692,
0.769230769230769, 0.846153846153846, 0.923076923076923, 1, 1],
[0, 0.111111111111111, 0.222222222222222, 0.333333333333333, 0.444444444444444,
0.555555555555556, 0.666666666666667, 0.666666666666667, 0.666666666666667,
0.777777777777778, 0.777777777777778, 0.777777777777778, 0.888888888888889,
0.888888888888889, 1, 1, 1, 1, 1, 1, 1, 1, 1]
);
//add second line
Line Style( 4 );
Text Size( 12 );
Text( {0.45, 0.1}, "_.._.._.._ Group, BMI, Endo; AUC = 0.96" );
Line(
[0, 0, 0, 0, 0, 0, 0, 0.0833333333333333, 0.0833333333333333, 0.166666666666667,
0.25, 0.25, 0.333333333333333, 0.416666666666667, 0.5, 0.583333333333333,
0.666666666666667, 0.75, 0.833333333333333, 1, 1],
[0, 0.222222222222222, 0.333333333333333, 0.444444444444444, 0.555555555555556,
0.666666666666667, 0.777777777777778, 0.777777777777778, 0.888888888888889,
0.888888888888889, 0.888888888888889, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
);
);
);Une façon de procéder consiste à utiliser la table ROC qui existe après avoir choisi de créer le tracé ROC. En gros, pour chaque test, transformez la table ROC en table de données, concaténez-les à l'aide de l'option permettant de créer une nouvelle colonne identifiant les tables sources, puis utilisez le tracé de superposition avec les tracés regroupés par table source et en activant le tracé de superposition par groupes. Vous pouvez le faire de manière interactive ou avec quelque chose comme l'exemple suivant que j'ai assemblé en enregistrant des scripts après l'avoir fait de manière interactive :
dt = open("$SAMPLE_DATA/Fitness.jmp");
fm = dt << Ajuster le modèle(
Y( :Sexe),
Effets ( :Oxy ),
Personnalité (Logistique Nominale),
Exécuter le modèle (
Positif
Niveau ("M" ),
Tests de rapport de vraisemblance (1),
Forêt
Essais( 0 ),
ROC
Courbe( 1 ),
Logistique
Terrain( 1 ),
EnvoyerAuRapport(
Envoi( {"Récepteur en fonctionnement
"Caractéristique"}, "Tableau ROC", OutlineBox, Close( 0 ) )
)
)
);
fmReport = Rapport( fm );
fmReport["Tableau ROC"][Boîte de tableau( 1 )] << transformer en données
tableau;
tableau de données(1) << définir le nom ("Oxy");
fm = dt << Ajuster le modèle(
Y( :Sexe),
Effets( :Runtime ),
Personnalité (Logistique Nominale),
Exécuter le modèle (
Positif
Niveau ("M" ),
Tests de rapport de vraisemblance (1),
Forêt
Essais( 0 ),
ROC
Courbe( 1 ),
Logistique
Terrain( 1 ),
EnvoyerAuRapport(
Envoi( {"Récepteur en fonctionnement
"Caractéristique"}, "Tableau ROC", OutlineBox, Close( 0 ) )
)
)
);
fmReport = Rapport( fm );
fmReport["Tableau ROC"][Boîte de tableau( 1 )] << transformer en données
tableau;
table de données(1) << set name("Runtime");
Enchaîner(
Tableau de données (« Runtime »),
Tableau de données (« Oxy »),
Tableau de sortie (« Les deux »),
Créer une colonne source
);
Tracé de superposition (
X( :Nom( "1-Spécificité" ) ),
Y( :Sensibilité),
Regroupement( :Tableau source),
Groupes de superposition,
Étape (1),
Afficher les points (0),
EnvoyerAuRapport(
Expédition(
{},
"106",
Boîte d'échelle( 2 ),
{Format( "Meilleur", 10 ), Afficher la grille principale(
1 )}
),
Expédition(
{}, "101", ScaleBox( 2 ), {Afficher la grille principale( 1 )} )
)
);
style="marge-inférieure : 0,0001 pt ; hauteur-de-ligne : normal ;">
style="font-size: 10pt; font-family: "Courier New"; color: bleu marine;">
style="font-size: 10pt; font-family: "Courier New"; color: noir;">