제 팀은 종종 Degradation Stability Test 분석을 사용하여 예측된(95% 신뢰도) 값과 반응(y 값)에 대한 상한 및 하한을 결정합니다. 이 시점에서 우리는 각 y 변수(동일한 x 시점 값 시리즈)에 대해 Degradation Stability Test를 실행한 다음 종단 예측 시간을 수동으로 변경하고 예측을 새 데이터 창에 저장한 다음 예측, 상한 및 하한 값을 별도의 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% 신뢰 구간 값을 계산하는 해결 방법을 찾았습니다.