私のチームでは、劣化安定性テスト分析を頻繁に使用して、応答 (y 値) の予測値 (95% 信頼度) と上限および下限を決定します。この時点で、各 y 変数 (同じ一連の x 時点値) に対して劣化安定性テストを実行し、縦断的予測時間を手動で変更し、予測値を新しいデータ ウィンドウに保存してから、予測値、上限値、および下限値を別の Excel ファイルに抽出しています。事前に選択した縦断的予測時点の数に対して安定性テストを実行し、すべてのデータ (予測値、上限値、および下限値) を新しいデータ テーブルに保存できるスクリプトを作成しようとしています。ただし、エラーが発生し続け、現在のバージョンの JMP (v17.1.1) で実現できるかどうかわかりません。以下にスクリプトを添付しました。
// Use the current data table
dt = Current Data Table();
// Define the longitudinal prediction times
longitudinalPredictionTimes = {18, 24, 36, 48, 60};
// Create a new data table to store the results
resultsTable = New Table( "Prediction Results",
Add Rows( N Items( longitudinalPredictionTimes ) ),
New Column( "Prediction Time", Numeric, "Continuous" ),
New Column( "Prediction", Numeric, "Continuous" ),
New Column( "Lower Bound", Numeric, "Continuous" ),
New Column( "Upper Bound", Numeric, "Continuous" )
);
// Loop through each prediction time and perform the degradation analysis
For( i = 1, i <= N Items( longitudinalPredictionTimes ), i++,
predictionTime = longitudinalPredictionTimes[i];
// Perform degradation analysis
degradationReport = dt << Degradation(
Y( :"Purity (%)" ),
Time( :"Timepoint (days)" ),
Label( :Formulation ),
Application( Stability Test ),
Connect Data Markers( 0 ),
Show Fitted Lines( 1 ),
Show Spec Limits( 1 ),
Show Median Curves( 0 ),
Show Legend( 1 ),
No Tab List( 0 ),
Use Pooled MSE for Nonpoolable Model( 0 ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Show Curve Interval( 1 ),
Longitudinal Prediction Time( predictionTime ),
Longitudinal Prediction Interval( Confidence Interval ),
Longitudinal Prediction Alpha( 0.05 ),
Inverse Prediction Interval( Confidence Interval ),
Inverse Prediction Alpha( 0.05 ),
Inverse Prediction Side( Lower One Sided )
);
// Extract the prediction, lower bound, and upper bound from the report
predictionPlot = degradationReport[Outline Box( "Diagnostics and Predictions" )][Outline Box( "Prediction Plot" )];
prediction = predictionPlot[Number Col Box( "Predicted value of Purity (%) at Timepoint (days)=" || Char( predictionTime ) )][1];
lowerBound = predictionPlot[Number Col Box( "Lower 95% Confidence Limit" )][1];
upperBound = predictionPlot[Number Col Box( "Upper 95% Confidence Limit" )][1];
// Add the results to the new table
resultsTable:Prediction Time[i] = predictionTime;
resultsTable:Prediction[i] = prediction;
resultsTable:Lower Bound[i] = lowerBound;
resultsTable:Upper Bound[i] = upperBound;
);
// Show the results table
resultsTable << Show Windowいくつかプログラミングエラーがあると思います。
おそらく、次のことを行う必要があります。

まず 59 行目に、プラットフォーム呼び出しから返されたオブジェクトをラップする「レポート」呼び出しが必要です。この「レポート」により、アウトライン ボックス サブスクリプションなどを使用してナビゲートできる表示 true が提供されます。
60 行目では、スクリプト可能なオブジェクトを返します。このオブジェクトに、ドロップダウン メニューに表示されるコマンドを送信できます。次のようになります。

61 行目では、メニュー項目をクリックした場合と同じようにコマンドを送信します。
62 行目では、必要な数値に対して何らかの処理を行います。
最後に、データ テーブルの操作は完了したので、何も保存せずに閉じます。
その後、二変量関数を使用して 95% 信頼区間の値を計算する回避策を見つけました。