cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
Choose Language Hide Translation Bar
kevin_davis1
Level I

Assumptions of JMP Stability Test

Hello,

 

I am currenly using the Stability Test within the Degredation Data Analysis platform to estimate shelf-life of a pharmaceutical product and had a question about the assumptions of the analysis. 

 

I'm currently analyzing data for 10 batches of product with data points for some batches available through 18 months. When I run the analysis, the best model is identified as different intercepts and common slopes with an earliest crossing time of 35.35 months based on the batch estimated to cross the lower specification the soonest. When I analyze these same batches in Fit Y by X and fit regression lines for each individual batch, the fit line for only one batch returns a p < 0.05 (it happens to be my "worst-case" batch from the Stability Test). The confidence interval for this batch in the Fit Y by X platform crosses the lower specification around 17 Months. 

 

Does the Stability Test automatically assume that all batches are actually changing over time? If the other batches are not inf fact trending toward change, is it appropriate to use the shelf-life estimate considering that it is based on a common slope across the batches?

 

Thanks in advance for your help. 

3 REPLIES 3

Re: Assumptions of JMP Stability Test

The analysis is based on the combined data from all 10 batches. It fits a linear regression model with four terms: intercept, batch, time, and batch*time interaction. This way is most powerful and realistic. Isolating one batch at a time is not a best practice or recommended.

 

This analysis uses a hierarchical model, so a series of hypothesis tests on the estimates of the model parameters are performed to determine if a common intercept or slope may be used. 

peng_liu
Staff

Re: Assumptions of JMP Stability Test

These models are linear regression models. They have intercepts and slopes. Your question of whether to assume batches changing/trending over time is equivalent to the question whether the slopes are zeros. None of the models in this procedure force slopes to be zero.

I guess one of the related question of yours is what to do if the slope comes out insignificant. The answer is nothing. And you definitely shouldn't force the slope to be zero and fit a new model. That is not one of the options.

But how to look at the case when the slopes are insignificant? The procedure derives the expiration based on quantifying uncertainties. The slope estimate may be insignificant, but we cannot ignore the uncertainties in the estimates. So whether the slope is significant or not is not the major concern of the procedure.

Last, about your specific case. The stability procedure also tries to identify the differences and similarities among batches, from statistical perspectives. What you find is one batch is different from the rest. Now the question is whether that is due to randomness in sampling, or it implies something otherwise? There is no absolution answer here, in my opinion, whether you should report Stability procedure result, or your Fit Y by X results. But you need to justify your conclusion. If the standing-out batch is due to sampling randomness, I guess the Stability procedure result can be accepted. Otherwise, I think your case is out of the reach of what the Stability procedure is designed to address.

Byron_JMP
Staff

Re: Assumptions of JMP Stability Test

If you are following ICH Q1e to estimate your expiration date (crossing time) then make sure you follow it or had a good justification for not following it.

If you use JMP's Stability tool (analyze>Reliability>Degradation>Stability) JMP will calculate the a crossing time for you. Please note that this crossing time for the worst case lot uses unpooled variance, and ICH Q1e mentions using pooled variance which will give you a different crossing time, which is often later than the unpooled variance crossing time. 

 

Fit Y by X can give you a picture of the unpooled variance crossing time but not an actual estimate.  

Try using Analyze>Fit Model.

Response goes in the Y role, Time, Batch and the cross term of Time and Batch (time*batch) goes into the effects role. 

From the red triangle menu in the launch dialog, turn off Centered Polynomials. 

After you click run, go to the red triangle menu in the report, Estimates>inverse prediction.   Enter your upper or lower spec limit in the dialog, and make sure to click the button for all your batches (left side), also change alpha to 0.1, because you need a two sided 95% CI. 

In the table at the bottom on the report you'll see the the crossing times and CI for each batch. The worst case CI is the one you're looking for.   This CI is based on the pooled variance, and is likely tighter than unpooled.

You can use Fit model to get the unpooled variance too. Its the same procedure, except that Only time is in the Effects role, and Batch goes into the By role. 

 

 

 

JMP Systems Engineer, Health and Life Sciences (Pharma)