次のスクリプトを使用してグラフを作成し、新しいグラフに基準線と 2 つの ROC 曲線を配置することができます。
ROC 曲線の値は、分析ウィンドウで取得した ROC 曲線グラフを右クリックして「カスタマイズ」を選択すると取得され、スクリプト ウィンドウで行のスクリプトが取得されます。それらをコピーして、現在の行を置き換えて下のスクリプトに貼り付けることができます。追加するすべての ROC 曲線に対してこれを繰り返します。
これが役に立つことを願っています。

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]
);
);
);1 つの方法は、ROC プロットの作成を選択した後に存在する ROC テーブルを使用することです。基本的に、各テストで ROC テーブルをデータ テーブルにし、ソース テーブルを識別する新しい列を作成するオプションを使用してそれらを連結し、ソース テーブルごとにグループ化されたプロットでオーバーレイ プロットを使用し、グループによるオーバーレイをオンにします。これは対話的に行うことも、対話的に実行した後にスクリプトを保存してまとめた次の例のように行うこともできます。
dt = open("$SAMPLE_DATA/Fitness.jmp");
fm = dt << 適合モデル(
Y( :性別 )、
効果(:オキシ)、
性格(名目ロジスティック)、
モデルを実行(
ポジティブ
レベル(「M」)、
尤度比検定(1)
ヴァルド
テスト( 0 ),
中華民国
曲線(1)、
ロジスティック
プロット(1)、
レポートに送信(
ディスパッチ({"受信機の動作
特性"}、"ROCテーブル"、アウトラインボックス、閉じる( 0 ) )
)
)
);
fmReport = レポート( fm );
fmReport["ROCテーブル"][テーブルボックス(1)] <<データにする
テーブル;
データテーブル(1) << set name("Oxy");
fm = dt << 適合モデル(
Y( :性別 )、
効果(:ランタイム)、
性格(名目ロジスティック)、
モデルを実行(
ポジティブ
レベル(「M」)、
尤度比検定(1)
ヴァルド
テスト( 0 ),
中華民国
曲線(1)、
ロジスティック
プロット(1)、
レポートに送信(
ディスパッチ({"受信機の動作
特性"}、"ROCテーブル"、アウトラインボックス、閉じる( 0 ) )
)
)
);
fmReport = レポート( fm );
fmReport["ROCテーブル"][テーブルボックス(1)] <<データにする
テーブル;
データテーブル(1) << set name("Runtime");
連結(
データテーブル(「ランタイム」)、
データテーブル(「Oxy」)、
出力テーブル(「両方」)、
ソース列の作成
);
オーバーレイプロット(
X( :名前( "1-特異性" ) ),
Y( :感度 )、
グループ化(:ソーステーブル)、
オーバーレイグループ、
ステップ(1)
ポイントを表示(0)
レポートに送信(
急送(
{},
「106」、
スケールボックス(2)、
{Format( "Best", 10 ), 主要グリッドを表示(
1 )}
)、
急送(
{}、"101"、ScaleBox( 2 )、{主グリッドを表示( 1 )} )
)
);
スタイル="margin-bottom: 0.0001pt; 行の高さ: normal;">
style="font-size: 10pt; font-family: "Courier New"; color: navy;">
style="font-size: 10pt; font-family: "Courier New"; color: black;">