Mon équipe utilise fréquemment l'analyse du test de stabilité de la dégradation pour déterminer les valeurs prédites (confiance à 95 %) et les limites supérieure et inférieure d'une réponse (valeur y). À ce stade, nous avons exécuté le test de stabilité de la dégradation pour chaque variable y (même série de valeurs de points temporels x), puis nous avons modifié manuellement l'heure de prédiction longitudinale, enregistré les prédictions dans une nouvelle fenêtre de données, puis extrait les valeurs prédites, supérieures et inférieures dans un fichier Excel séparé. J'essaie d'écrire un script qui peut exécuter le test de stabilité pour un certain nombre de points temporels de prédiction longitudinale présélectionnés et enregistrer toutes les données (valeur prédite, valeurs de limites supérieure et inférieure) dans une nouvelle table de données. Cependant, je continue à rencontrer des erreurs et je ne suis pas sûr que ce que j'essaie d'accomplir soit possible dans la version actuelle de JMP (v17.1.1). J'ai joint mon script ci-dessous.
// 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 WindowJe crois qu'il y a des erreurs de programmation.
Voici probablement ce que vous devez faire.

Tout d'abord, sur la ligne 59, vous avez besoin d'un appel « report », enveloppant l'objet renvoyé par l'appel de plate-forme. Ce « report » vous donne un affichage true, que vous pouvez parcourir en utilisant l'abonnement à la boîte de contour, etc.
À la ligne 60, il renvoie un objet scriptable, auquel vous pouvez envoyer des commandes que vous voyez dans le menu déroulant. Comme ceci :

Ligne 61, envoyez une telle commande, comme si vous cliquiez sur l'élément de menu.
Ligne 62, vous faites quelque chose avec les chiffres dont vous avez besoin.
Enfin, vous fermez cette table de données sans rien enregistrer, car vous en avez terminé avec elle.
J'ai depuis trouvé une solution de contournement qui calcule les valeurs de l'intervalle de confiance à 95 % à l'aide de la fonction bivariée.