Degradation
Destructive Degradation
Example 1
Summary: Fits a destructive degradation model to analyze device lifetimes, accounting for censoring and incorporating effects of average load, moisture, vibration, solar exposure, and location coordinates.
Code:
// Destructive Degradation Fit
// Open data table
dt = Open("data_table.jmp");
// Destructive Degradation Fit
Destructive Degradation(
Y( :Strength ),
Time( :Weeks ),
Censor( :Censor ),
X( :Degrees ),
Censor Code( "Right" ),
Model(
"Log10", "Sqrt", "Normal",
"Individual Path with Intercept"
),
Control(
"Log10", "Sqrt", "Normal",
"Individual Path with Intercept"
)
);
Code Explanation:
- Open data table.
- Perform destructive degradation fit.
- Set response variable.
- Define time variable.
- Specify censor variable.
- Include covariate.
- Set censor code.
- Choose model types.
- Apply control settings.
- Execute analysis.
Example 2
Summary: Fits a destructive degradation model to analyze device lifetimes, accounting for censoring and including effects of average load, moisture, vibration, solar exposure, and location coordinates.
Code:
dt = Open("data_table.jmp");
obj = dt << Destructive Degradation(
Y( :Strength ),
Time( :Weeks ),
Censor( :Censor ),
X( :Degrees ),
Censor Code( "Right" ),
Use Condition Temperature( "Celsius" ),
Model(
"Log",
"Sqrt",
"Normal",
"Arrhenius Rate",
Degradation Profiler(
Profiler( 1, Confidence Intervals( 1 ), Term Value( Weeks( 8, Lock( 0 ), Show( 1 ) ), Degrees( 60, Lock( 0 ), Show( 1 ) ) ) )
),
Probability(
Profiler(
1,
Confidence Intervals( 1 ),
Term Value(
Weeks( 8, Lock( 0 ), Show( 1 ) ),
Degrees( 60, Lock( 0 ), Show( 1 ) ),
Strength( 58.5225826501035, Lock( 0 ), Show( 1 ) )
)
)
),
Crossing Time Quantile Profiler(
Profiler(
1,
Confidence Intervals( 1 ),
Term Value(
Degrees( 35, Min( 35 ), Lock( 0 ), Show( 1 ) ),
Probability( 0.02, Lock( 0 ), Show( 1 ) ),
Strength( 50, Lock( 0 ), Show( 1 ) )
)
)
)
),
Control( "Log", "Sqrt", "Normal", "Arrhenius Rate" ),
);
Code Explanation:
- Open data table.
- Fit destructive degradation model.
- Set response variable.
- Define time variable.
- Specify censor variable.
- Include covariate.
- Set censor code.
- Use Celsius temperature unit.
- Select models: Log, Sqrt, Normal, Arrhenius Rate.
- Configure profilers for degradation, probability, and crossing time.
Example 3
Summary: Fits a proportional hazards model to analyze device lifetimes, including effects of average load, average moisture, average vibration, and location coordinates, while accounting for censoring.
Code:
dt = Open("data_table.jmp");
obj = dt << Destructive Degradation( Y( :Strength ), Time( :Weeks ), Censor( :Censor ), X( :Degrees ), Censor Code( "Right" ), );
rpt = obj << report;
Code Explanation:
- Open data table.
- Launch Destructive Degradation analysis.
- Set response variable.
- Set time variable.
- Specify censor variable.
- Include covariate variable.
- Define censor code.
- Generate analysis report.
Example 4
Summary: Runs a destructive degradation analysis to fit a proportional hazards model for device lifetimes, incorporating effects of average load, moisture, vibration, solar exposure, and location coordinates while accounting for censoring.
Code:
dt = Open("data_table.jmp");
obj = dt << Destructive Degradation(
Y( :Strength ),
Time( :Weeks ),
Censor( :Censor ),
X( :Degrees ),
Censor Code( "Right" ),
Use Condition Temperature( "Celsius", 50 ),
Model( "Linear", "Linear", "Lognormal", "First Order Kinetics Type1" ),
Control( "Linear", "Linear", "Lognormal", "First Order Kinetics Type1" )
);
rpt = obj << report;
Code Explanation:
- Open data table.
- Perform destructive degradation analysis.
- Set response variable.
- Define time variable.
- Specify censoring variable.
- Include covariate.
- Set censoring code.
- Define condition temperature.
- Select models for analysis.
- Generate report.
Example 5
Summary: Runs a destructive degradation analysis to model device lifetimes, incorporating effects of average load, moisture, vibration, solar exposure, and location coordinates while accounting for censoring.
Code:
::ArrheniusConstant = 1.7;
dt = Open("data_table.jmp");
obj1 = dt << Destructive Degradation(
Y( :Strength ),
Time( :Weeks ),
Censor( :Censor ),
X( :Degrees ),
Censor Code( "Right" ),
Use Condition Temperature( "Celsius", 50 ),
Model( "Linear", "Linear", "Lognormal", "First Order Kinetics Type1" ),
Control( "Linear", "Linear", "Lognormal", "First Order Kinetics Type1" )
);
Eval(
Eval Expr(
dt << New Column( "lossformula",
Formula(
Parameter(
{b0 = 4, b1 = 0, b2 = 13, b3 = -2, sigma = 0.4},
ArrX0 = (Expr( ::ArrheniusConstant ) / (60 + 273.15));
ArrX = (Expr( ::ArrheniusConstant ) / (:Degrees + 273.15));
mu = b0 + b1 * Exp( -b2 * Exp( b3 * (ArrX0 - ArrX) ) * :Weeks );
zz = (Log( :Strength ) - mu) / sigma;
If( :Censor == "Right",
-Log( 1 - Normal Distribution( zz ) ),
Log( sigma ) + Log( :Strength ) + (zz ^ 2) / 2 + 0.5 * Log( 2 * Pi() )
);
)
)
)
)
);
Code Explanation:
- Define Arrhenius constant.
- Open data table.
- Perform destructive degradation analysis.
- Set response variable.
- Set time variable.
- Set censor variable.
- Set condition variable.
- Specify censor code.
- Define condition temperature.
- Choose models and controls.
Repeated Measures Degradation
Example 1
Summary: Performs a repeated measures degradation analysis to model the length of specimens over multiple cycles, utilizing Bayesian models and Monte Carlo iterations.
Code:
// Repeated Measures Degradation of Length by MCycles
// Open data table
dt = Open("data_table.jmp");
// Repeated Measures Degradation of Length by MCycles
Repeated Measures Degradation(
Y( :Length ),
Time( :MCycles ),
Label( :Specimen ),
Bayesian Models(
Y Transformation( "Linear" ),
X Transformation( "Linear" ),
Degradation Path Name(
"Paris-Erdogan Crack Growth with Initial Condition"
),
Models(
Model(
Parameter(
{"b1", "Normal"},
{"b2", "Normal"}
),
Prior(
{"μ[b1]",
Distribution(
"<Normal>"
),
Prior Parameter(
"Lower 99% Limit",
2
),
Prior Parameter(
"Upper 99% Limit",
5
)},
{"σ[b1]",
Distribution(
"Half Cauchy"
),
Prior Parameter(
"Scale", 0.2
)},
{"μ[b2]",
Distribution(
"<Normal>"
),
Prior Parameter(
"Lower 99% Limit",
4
),
Prior Parameter(
"Upper 99% Limit",
6
)},
{"σ[b2]",
Distribution(
"Half Cauchy"
),
Prior Parameter(
"Scale", 0.2
)},
{"ρ[b1, b2]",
Distribution(
"Normal"
),
Prior Parameter(
"Location", 0
),
Prior Parameter(
"Scale", 4
)},
{"σ[ε]",
Distribution(
"Half Cauchy"
),
Prior Parameter(
"Scale", 3
)}
),
Random Seed( 32323 ),
Number of Monte Carlo Iterations(
10000
),
Warmup Laps( 10 ),
Auto Thinning( 1 ),
Thinning( 1 ),
N Chains( 1 )
)
)
),
Control(
"Linear", "Linear",
"Paris-Erdogan Crack Growth with Initial Condition"
)
);
Code Explanation:
- Open data table.
- Perform repeated measures degradation analysis.
- Specify length as response variable.
- Use MCycles as time variable.
- Label specimens accordingly.
- Apply Bayesian models.
- Transform Y and X linearly.
- Define degradation path name.
- Set model parameters and priors.
- Configure Monte Carlo iterations and settings.
Example 2
Summary: Visualizes the degradation of power drop over time, accounting for device-specific effects and temperature variations using Bayesian models in JMP.
Code:
// Repeated Measures Degradation
// Open data table
dt = Open("data_table.jmp");
// Repeated Measures Degradation
Repeated Measures Degradation(
Y( :Power Drop ),
Time( :Hours ),
Label( :Device ),
X( :Degrees C ),
Reference Temperature(
"Celsius", 195
),
Bayesian Models(
Y Transformation( "Linear" ),
X Transformation( "Linear" ),
Degradation Path Name(
"First Order Kinetics Type 2"
),
Models(
Model(
Parameter(
{"b1", "Lognormal"},
{"b2", "Lognormal"}
),
Prior(
{"μ[log|b1|]",
Distribution(
"<Normal>"
),
Prior Parameter(
"Lower 99% Limit",
-1
),
Prior Parameter(
"Upper 99% Limit",
3
)},
{"σ[log|b1|]",
Distribution(
"Half Cauchy"
),
Prior Parameter(
"Scale", 0.5
)},
{"μ[log|b2|]",
Distribution(
"<Normal>"
),
Prior Parameter(
"Lower 99% Limit",
-10
),
Prior Parameter(
"Upper 99% Limit",
-5
)},
{"σ[log|b2|]",
Distribution(
"Half Cauchy"
),
Prior Parameter(
"Scale", 0.5
)},
{"ρ[b1, b2]",
Distribution(
"Normal"
),
Prior Parameter(
"Location", 0
),
Prior Parameter(
"Scale", 3
)},
{"b3",
Distribution(
"<Normal>"
),
Prior Parameter(
"Lower 99% Limit",
-10
),
Prior Parameter(
"Upper 99% Limit",
10
)},
{"σ[ε]",
Distribution(
"Half Cauchy"
),
Prior Parameter(
"Scale", 3
)}
),
Random Seed( 32323 ),
Number of Monte Carlo Iterations(
5000
),
Warmup Laps( 20 ),
Auto Thinning( 1 ),
Thinning( 1 ),
N Chains( 1 )
)
)
),
Control(
"Linear", "Linear",
"First Order Kinetics Type 2"
)
);
Code Explanation:
- Open data table.
- Set Y variable.
- Set time variable.
- Set label variable.
- Set X variable.
- Define reference temperature.
- Specify Bayesian models.
- Define Y transformation.
- Define X transformation.
- Set degradation path name.
Example 3
Summary: Runs a repeated measures degradation analysis to model the relationship between Power Drop, Hours, and Degrees C, using Bayesian models with linear transformations and first-order kinetics type 2 degradation path.
Code:
dt = Open("data_table.jmp");
obj = dt << Repeated Measures Degradation(
Y( :Power Drop ),
Time( :Hours ),
Label( :Device ),
X( :Degrees C ),
Reference Temperature( "Celsius", 195 ),
Bayesian Models(
Y Transformation( "Linear" ),
X Transformation( "Linear" ),
Degradation Path Name( "First Order Kinetics Type 2" ),
Models(
Model(
Parameter( {"b1", "Lognormal"}, {"b2", "Lognormal"} ),
Prior(
{"μ[log|b1|]", Distribution( "<Normal>" ), Prior Parameter( "Lower 99% Limit", -1 ),
Prior Parameter( "Upper 99% Limit", 3 )},
{"σ[log|b1|]", Distribution( "Half Cauchy" ), Prior Parameter( "Scale", 0.5 )},
{"μ[log|b2|]", Distribution( "<Normal>" ), Prior Parameter( "Lower 99% Limit", -10 ),
Prior Parameter( "Upper 99% Limit", -5 )},
{"σ[log|b2|]", Distribution( "Half Cauchy" ), Prior Parameter( "Scale", 0.5 )},
{"ρ[b1, b2]", Distribution( "Normal" ), Prior Parameter( "Location", 0 ), Prior Parameter( "Scale", 3 )},
{"b3", Distribution( "<Normal>" ), Prior Parameter( "Lower 99% Limit", -10 ), Prior Parameter( "Upper 99% Limit", 10 )},
{"σ[ε]", Distribution( "Half Cauchy" ), Prior Parameter( "Scale", 3 )}
),
Random Seed( 32323 ),
Number of Monte Carlo Iterations( 5000 ),
Warmup Laps( 20 ),
Auto Thinning( 1 ),
Thinning( 1 ),
N Chains( 1 )
)
)
),
Control( "Linear", "Linear", "First Order Kinetics Type 2" ),
);
Code Explanation:
- Open data table;
- Launch repeated measures degradation analysis.
- Set response variable to Power Drop.
- Define time variable as Hours.
- Use Device as label.
- Include Degrees C as covariate.
- Set reference temperature to Celsius 195.
- Configure Bayesian models.
- Apply linear transformations to Y and X.
- Select first order kinetics type 2 degradation path.
Example 1
Summary: Performs a degradation analysis on temperature data, comparing Fahrenheit measurements across different thermometer types using the Repeated Measures Degradation platform in JMP.
Code:
// Degradation
// Open data table
dt = Open("data_table.jmp");
// Degradation
Degradation(
Y( :Crack Size ),
Time( :Cycles ),
Label( :Unit ),
Application(
Repeated Measures Degradation
),
Connect Data Markers( 1 ),
Show Fitted Lines( 0 ),
Show Median Curves( 0 ),
Show Legend( 0 ),
No Tab List( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval(
No Interval
),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale(
{{"Linear",
Function( {x}, x ),
Function( {x}, x )}}
),
Add Custom Y Scale(
{{"Linear",
Function( {x}, x ),
Function( {x}, x )}}
),
Slope Constaint( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "-1/x" )
),
Nonlinear Path
),
Model Report(
Simple Linear Path(
X Scale( Linear ),
Y Scale( "-1/x"n ),
Intercept( Different ),
Slope( Different )
)
),
Simple Linear Path( 1 ),
Mean Path( 1 ),
Model Report( Select Model( 1 ) ),
SendToReport(
Dispatch(
{"Overlay",
"Model Specification"},
"Crack Size Transformation",
OutlineBox,
{Close( 0 )}
)
)
);
Code Explanation:
- Open data table.
- Define degradation analysis.
- Specify response variable.
- Specify time variable.
- Specify label variable.
- Choose repeated measures application.
- Connect data markers.
- Hide fitted lines.
- Hide median curves.
- Hide legend.
Example 2
Summary: Performs a degradation analysis on temperature data from different thermometer types, using the Repeated Measures Degradation platform in JMP to visualize and compare Fahrenheit measurements.
Code:
// Degradation
// Open data table
dt = Open("data_table.jmp");
// Degradation
Degradation(
Y( :Power Drop ),
Time( :Hours ),
Label( :Device ),
X( :Degrees C ),
Application(
Repeated Measures Degradation
)
);
Code Explanation:
- Open table.
- Analyze degradation data.
- Set response variable.
- Define time variable.
- Specify label variable.
- Include covariate.
- Choose analysis method.
Example 3
Summary: Opens a data table, performs a degradation analysis with repeated measures, and generates various visualizations including ANOM charts and mean diamonds.
Code:
// Degradation
// Open data table
dt = Open("data_table.jmp");
// Degradation
Degradation(
Y( :Current ),
Time( :Hours ),
Label( :Unit ),
Application(
Repeated Measures Degradation
),
Connect Data Markers( 1 ),
Show Fitted Lines( 0 ),
Show Spec Limits( 1 ),
Show Median Curves( 0 ),
Show Legend( 0 ),
No Tab List( 0 ),
Use Pooled MSE for Nonpoolable Model(
0
),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval(
No Interval
),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale(
{{"Linear",
Function( {x}, x ),
Function( {x}, x )}}
),
Add Custom Y Scale(
{{"Linear",
Function( {x}, x ),
Function( {x}, x )}}
),
Slope( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "Linear" )
),
Nonlinear Path
),
Simple Linear Path( 1 ),
Mean Path( 1 )
);
Code Explanation:
- Open table.
- Define degradation analysis.
- Set response variable.
- Set time variable.
- Set label variable.
- Choose repeated measures application.
- Connect data markers.
- Hide fitted lines.
- Show spec limits.
- Hide median curves.
Example 4
Summary: Opens a data table, applies the Degradation platform to analyze temperature data across different thermometer types, and generates visualizations such as ANOM charts and mean diamonds.
Code:
// Degradation
// Open data table
dt = Open("data_table.jmp");
// Degradation
Degradation(
Y( :Percent Increase ),
Time( :kHours ),
Label( :Resistor ),
X( :Degrees C ),
Application(
Repeated Measures Degradation
)
);
Code Explanation:
- Open data table.
- Call Degradation function.
- Set Y variable.
- Set Time variable.
- Set Label variable.
- Set X variable.
- Specify application type.
Example 5
Summary: Opens a data table, performs a degradation analysis with specified variables and settings, and generates various visualizations.
Code:
// Degradation
// Open data table
dt = Open("data_table.jmp");
// Degradation
Degradation(
Y( :"Concentration (mg/Kg)"n ),
Time( :Time ),
Label( :Batch Number ),
Application( Stability Test ),
Connect Data Markers( 0 ),
Show Fitted Lines( 1 ),
Show Median Curves( 0 ),
Show Legend( 1 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( 99 ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval(
No Interval
),
Inverse Prediction Alpha( 0.05 )
);
Code Explanation:
- Open table.
- Define degradation analysis.
- Set response variable.
- Set time variable.
- Set label variable.
- Apply stability test.
- Disable data markers.
- Enable fitted lines.
- Disable median curves.
- Enable legend.
Example 6
Summary: Degradation analysis on temperature data, comparing Fahrenheit measurements across different thermometer types and generating various comparative visualizations.
Code:
dt under test = Open("data_table.jmp");
obj = Degradation(
Y( :Crack Size ),
Time( :Cycles ),
Label( :Unit ),
Connect Data Markers( 1 ),
Show Fitted Lines( 0 ),
Show Median Curves( 0 ),
Show Legend( 0 ),
No Tab List( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Add Custom Y Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Slope Constaint( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "-1/x" )
),
Nonlinear Path
),
Model Report( Simple Linear Path( X Scale( Linear ), Y Scale( Name( "-1/x" ) ), Intercept( Different ), Slope( Different ) ) ),
Simple Linear Path( 1 ),
Mean Path( 1 ),
Model Report( Select Model( 1 ) ),
SendToReport( Dispatch( {"Overlay", "Model Specification"}, "Crack Size Transformation", OutlineBox, {Close( 0 )} ) )
);
Code Explanation:
- Open data table.
- Initiate degradation analysis.
- Set response variable.
- Set time variable.
- Set label variable.
- Connect data markers.
- Disable fitted lines.
- Disable median curves.
- Disable legend.
- Configure path specifications.
Example 7
Summary: Degradation analysis on temperature data using the Degradation platform, comparing Fahrenheit measurements across different thermometer types and generating various comparative visualizations.
Code:
dt under test = Open("data_table.jmp");
obj = Degradation(
Y( :Crack Size ),
Time( :Cycles ),
Label( :Unit ),
Connect Data Markers( 1 ),
Show Fitted Lines( 0 ),
Show Spec Limits( 1 ),
Show Median Curves( 0 ),
Show Legend( 0 ),
No Tab List( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Add Custom Y Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Slope( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "-1" )
),
Nonlinear Path
),
Model Report( Simple Linear Path( X Scale( "Linear" ), Y Scale( "-1" ), Intercept( Different ), Slope( Different ) ) ),
Simple Linear Path( 1 ),
Mean Path( 1 ),
Model Report( Select Model( 1 ) ),
SendToReport( Dispatch( {"Overlay", "Model Specification"}, "Crack Size Transformation", OutlineBox, {Close( 0 )} ) )
);
Code Explanation:
- Open data table;
- Create degradation analysis object.
- Set response variable.
- Set time variable.
- Label units.
- Connect data markers.
- Hide fitted lines.
- Show spec limits.
- Hide median curves.
- Hide legend.
Example 8
Summary: Runs the specification and fitting of a custom linear model for degradation analysis, utilizing repeated measures and system ID-based fitting.
Code:
dt = Open("data_table.jmp");
obj = dt << Degradation( Y( :Current ), Time( :Hours ), Label( :Unit ), Application( Repeated Measures Degradation ), );
obj << Specify and Fit Path(
Formula Name( "custom linear model 1" ),
Formula( Model Type( "Custom Linear" ), Parameter( {b0 = 0, b1 = 0, b2 = 0}, b0 + b1 * Hours + b2 * Hours ^ 2 ) ),
Fit by System ID()
);
rpt = obj << report;
est = rpt[Number Col Edit Box( 1 )] << get as matrix;
Code Explanation:
- Open data table.
- Launch degradation analysis.
- Specify custom linear model.
- Define formula parameters.
- Fit model by system ID.
- Generate analysis report.
- Extract estimate values.
Example 9
Summary: Degradation analysis on temperature data using the Degradation platform, comparing Fahrenheit measurements across different thermometer types and generating various comparative visualizations.
Code:
dt = Open("data_table.jmp");
obj = dt << Degradation(
Y( :Strength ),
Time( :Weeks ),
Censor( :Censor ),
X( :Degrees ),
Application( Destructive Degradation ),
Censor Code( "Right" ),
Connect Data Markers( 0 ),
Show Fitted Lines( 0 ),
Show Spec Limits( 1 ),
Show Median Curves( 1 ),
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 ),
Longitudinal Prediction Time( 52 ),
Longitudinal Prediction Interval( Prediction Interval ),
Longitudinal Prediction Alpha( 0.05 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Add Custom Y Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Slope( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "Linear" ),
Location Parameter Path( Lognormal )
),
Nonlinear Path(
Add Formula(
Formula Name( "Custom Model" ),
Formula( Parameter( {b1 = 50, b2 = 50, b3 = -1}, b1 * Degrees + b2 * Exp( b3 * Sqrt( Weeks ) ) ) ),
Initial Values( [-0.0280647947384581, 6.094714323873, -0.0323082976858807, 0.193319701159847] ),
Lower( [-0.0354731281638972, 5.63428389791153, -0.0399644272744453, 0.149037352216101] ),
Upper( [-0.020656461313019, 6.55514474983446, -0.0246521680973161, 0.237602050103593] ),
Fitting Method( QuasiNewton BFGS ),
Fixed( [0, 0, 0, 0] ),
Location Parameter Path( Lognormal )
),
Select Formula( "Custom Model" ),
Location Parameter Path( Lognormal )
)
),
Nonlinear Path( 1 ),
Location Parameter Path( 1 ),
Set Baseline( 25 )
);
rpt = obj << report;
txt = rpt[Outline Box( "Overlay" )][Tab Page Box( 3 )][Outline Box( "Prediction Plot" )][AxisBox( 2 )] << get journal;
Code Explanation:
- Open table.
- Perform degradation analysis.
- Specify response variable.
- Define time variable.
- Identify censor variable.
- Include covariate.
- Apply destructive degradation method.
- Set censor code.
- Disable data markers.
- Enable spec limits.
Example 10
Summary: Degradation analysis on temperature data using the Oneway platform, comparing Fahrenheit measurements across different thermometer types and generating ANOM charts and mean diamonds.
Code:
dt = Open("data_table.jmp");
obj = dt << Degradation( Y( :Current ), Time( :Hours ), Label( :Unit ), Application( Repeated Measures Degradation ) );
obj << Get Inverse Prediction Results;
Code Explanation:
- Open table.
- Perform degradation analysis.
- Set response variable.
- Set time variable.
- Set label variable.
- Specify application type.
- Retrieve inverse prediction results.
Example 11
Summary: Degradation analysis on temperature data, comparing Fahrenheit measurements across different thermometer types and generating comparative visualizations using the Degradation platform.
Code:
dt = Open("data_table.jmp");
dg = dt << Degradation(
Y( :Power Drop ),
Time( :Hours ),
Label( :Device ),
X( :Degrees C ),
Application( Repeated Measures Degradation ),
Upper Spec Limit( 0 ),
Lower Spec Limit( -1.45 ),
Censoring Time( 4001 )
);
bef = N Items( Window() );
dg << Relaunch Analysis;
wn = Window()[bef + 1];
rm = wn[Tab Page Box( 1 )];
Code Explanation:
- Open data table.
- Initiate degradation analysis.
- Set response variable.
- Define time variable.
- Specify label variable.
- Include covariate.
- Choose repeated measures model.
- Set upper spec limit.
- Set lower spec limit.
- Define censoring time.
Example 12
Summary: Degradation analysis on temperature data, comparing Fahrenheit measurements across different thermometer types and generating various comparative visualizations.
Code:
stab = Open("data_table.jmp");
dg = stab << Degradation(
Y( :Name( "Concentration (mg/Kg)" ) ),
Time( :Time ),
Label( :Batch Number ),
Upper Spec Limit( 110 ),
Lower Spec Limit( 99 ),
Application( Stability Test )
);
bef = N Items( Window() );
dg << Relaunch Analysis;
wn = Window()[bef + 1];
st = wn[Tab Page Box( 3 )];
Code Explanation:
- Open data table.
- Launch Degradation platform.
- Set response variable.
- Set time variable.
- Set label variable.
- Define upper spec limit.
- Define lower spec limit.
- Specify application type.
- Count initial windows.
- Relaunch analysis.
- Access new window.
- Select third tab page.
Example 13
Summary: Degradation analysis on temperature data, comparing Fahrenheit measurements across different thermometer types and generating various comparative visualizations.
Code:
dt = Open("data_table.jmp");
obj = dt << Degradation(
Y( :Current ),
Time( :Hours ),
Label( :Unit ),
Application( Repeated Measures Degradation ),
Connect Data Markers( 1 ),
Show Fitted Lines( 0 ),
Show Median Curves( 0 ),
Show Legend( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Add Custom Y Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Slope Constaint( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "Linear" )
),
Nonlinear Path
),
Simple Linear Path( 1 ),
Mean Path( 1 )
);
rpt = obj << report;
tm = 500 :: 2000 :: 500;
For( i = 1, i <= N Cols( tm ), i++,
obj << Longitudinal Prediction Time( tm[i] );
txt = rpt[Outline Box( "Prediction Plot" )][Text Box( 3 )] << get text;
);
Code Explanation:
- Open data table.
- Perform degradation analysis.
- Set response variable.
- Set time variable.
- Set label variable.
- Choose repeated measures application.
- Connect data markers.
- Hide fitted lines.
- Hide median curves.
- Hide legend.
Example 14
Summary: Selects and analyzes temperature data from different thermometer types, utilizing the Degradation platform to generate ANOM charts and mean diamonds.
Code:
dt = Open("data_table.jmp");
obj = dt << Degradation();
For( i = N Items( Window() ), i >= 1, i--,
lnchWin = (Window()[i]);
winTtl = lnchWin << get window title;
If( winTtl == "Degradation Data Analysis",
Break()
);
);
Code Explanation:
- Open data table.
- Access Degradation platform.
- Loop through all windows.
- Get current window title.
- Check for "Degradation Data Analysis".
- Break loop if title matches.
- End loop.
Example 15
Summary: Degradation analysis on temperature data, comparing Fahrenheit measurements across different thermometer types and generating various comparative visualizations, including ANOM charts and mean diamonds.
Code:
dt = Open("data_table.jmp");
obj = dt << Degradation(
Y( :Power Drop ),
Time( :Hours ),
Label( :Device ),
X( :Degrees C ),
Application( Repeated Measures Degradation ),
Connect Data Markers( 1 ),
Show Fitted Lines( 0 ),
Show Spec Limits( 1 ),
Show Median Curves( 0 ),
Show Legend( 0 ),
No Tab List( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Add Custom Y Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Slope( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "Linear" )
),
Nonlinear Path
),
Simple Linear Path( 1 ),
Mean Path( 1 )
);
rpt = obj << report;
Code Explanation:
- Open data table.
- Perform degradation analysis.
- Set response variable.
- Set time variable.
- Set label variable.
- Set covariate variable.
- Specify repeated measures model.
- Enable data marker connection.
- Disable fitted lines display.
- Enable spec limits display.
Example 16
Summary: Degradation analysis on temperature data, comparing Fahrenheit measurements across different thermometer types and generating various comparative visualizations, including ANOM charts and mean diamonds.
Code:
dt = Open("data_table.jmp");
obj = dt << Degradation(
Y( :Strength ),
Time( :Weeks ),
Censor( :Censor ),
X( :Degrees ),
Application( Destructive Degradation ),
Censor Code( "Right" ),
Connect Data Markers( 0 ),
Show Fitted Lines( 0 ),
Show Spec Limits( 1 ),
Show Median Curves( 1 ),
Show Legend( 1 ),
No Tab List( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Nonlinear Path(
Add Formula(
Formula Name( "custom model" ),
Formula(
Parameter(
{a1 = 50, a2 = 50, a3 = 50, b = 50, c = -1},
(:Degrees == 50) * a1 + (:Degrees == 60) * a2 + (:Degrees == 70) * a3 + b * Exp( c * :Weeks )
)
),
Initial Values(
[3.9940336536756, 3.78758378705772, 3.44050130448918, 0.695135749339572, -0.274485502043071, 0.187832949250086]
),
Lower( [3.84797499317043, 3.63164497538109, 3.26979047511123, 0.532188177264295, -0.464822227355543, 0.144922009003584] ),
Upper( [4.14009231418076, 3.94352259873435, 3.61121213386713, 0.85808332141485, -0.0841487767305982, 0.230743889496588] ),
Fitting Method( QuasiNewton BFGS ),
Fixed( [0, 0, 0, 0, 0, 0] ),
Location Parameter Path( Lognormal )
),
Select Formula( "custom model" ),
Location Parameter Path( Lognormal )
)
),
Model Report( Nonlinear Path( custom model ) ),
Nonlinear Path( 1 ),
Location Parameter Path( 1 ),
Model Report( Select Model( 1 ) )
);
rpt = obj << report;
distProfJrn = rpt[Outline Box( "Model 1 - custom model" )][Outline Box( "Distribution Profiler" )] << get journal;
Code Explanation:
- Open data table.
- Perform degradation analysis.
- Specify response variable.
- Define time variable.
- Identify censor variable.
- Include covariate.
- Set application type.
- Define censor code.
- Configure plot options.
- Generate distribution profiler.
Example 17
Summary: Degradation analysis on temperature data using the Degradation platform, comparing Fahrenheit measurements across different thermometer types and generating various comparative visualizations.
Code:
dt = Open("data_table.jmp");
obj = dt << Degradation(
Y( :Strength ),
Time( :Weeks ),
Label( :Degrees ),
Application( Repeated Measures Degradation ),
Model Report( Simple Linear Path( X Scale( Linear ), Y Scale( Linear ), Intercept( Common ), Slope( Different ) ) )
);
obj << Automatic Recalc( 1 );
obj << Save Script to Script Window;
For( i = 1, i <= N Items( Window() ), i++,
If( Window()[i] << get window title == "Script Window",
lc = ((Window()[i][Script Box( 1 )] << Get Text()));
Window()[i] << Close Window();
Break();
)
);
Code Explanation:
- Open table.
- Run degradation analysis.
- Set response variable.
- Set time variable.
- Set label variable.
- Specify application type.
- Define model report.
- Enable automatic recalculation.
- Save script to window.
- Extract and close script window.
Example 18
Summary: Degradation analysis on temperature data, comparing Fahrenheit measurements across different thermometer types and generating various comparative visualizations.
Code:
dt = Open("data_table.jmp");
obj = dt << Degradation(
Y( :Percent Increase ),
Time( :kHours ),
Label( :Resistor ),
X( :Degrees C ),
Application( Repeated Measures Degradation ),
);
rpt = obj << report;
Code Explanation:
- Open data_table data
- Initiate Degradation analysis.
- Set Percent Increase as response.
- Use kHours as time variable.
- Label results by Resistor.
- Include Degrees C as covariate.
- Apply Repeated Measures model.
- Generate analysis report.
Degradation using Random Reset
Summary: Degradation analysis to visualize the strength of a material over time, accounting for censoring and incorporating predictor variables.
Code:
dt = Open("data_table.jmp");
Random Reset( 5 );
Degradation(
Y( :Strength ),
Time( :Weeks ),
Censor( :Censor ),
X( :Degrees ),
Application( Destructive Degradation ),
Censor Code( "Right" ),
Connect Data Markers( 0 ),
Show Fitted Lines( 0 ),
Show Spec Limits( 1 ),
Show Median Curves( 1 ),
Show Legend( 1 ),
No Tab List( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Add Custom Y Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Slope( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "Linear" ),
Location Parameter Path( Normal )
),
Nonlinear Path
),
Simple Linear Path( 1 ),
Location Parameter Path( 1 ),
SendToReport(
Dispatch( {"Overlay"}, "1", ScaleBox, {Format( "Custom", Formula( Char( In Weeks( value ) ) || " (s)" ), 12 )} ),
Dispatch( {"Overlay", "Strength Residuals by Weeks"}, "7", ScaleBox,
{Format( "Custom", Formula( If( Abs( value ) > 1, "big", "small" ) ), 12 )}
),
Dispatch( {"Overlay", "Strength Residuals by Weeks"}, "13", ScaleBox,
{Format( "Custom", Formula( If( Abs( value ) > 1, "big", "small" ) ), 12 )}
)
)
);
Code Explanation:
- Open data table.
- Reset random seed.
- Define degradation analysis.
- Specify response variable.
- Specify time variable.
- Specify censor variable.
- Specify predictor variable.
- Choose destructive degradation method.
- Set censoring type.
- Configure plot settings.
Degradation using Set Values
Example 1
Summary: Creates and creates a report for a degradation analysis, utilizing the Degradation platform in JMP to visualize and analyze strength data over time.
Code:
dt = Open("data_table.jmp");
:Strength << Set Values( {0, 0, 0} );
obj = Degradation(
Y( :Strength ),
Time( :Weeks ),
Censor( :Censor ),
X( :Degrees ),
Application( Destructive Degradation ),
Censor Code( "Right" ),
Connect Data Markers( 0 ),
Show Fitted Lines( 0 ),
Show Spec Limits( 1 ),
Show Median Curves( 1 ),
Show Legend( 1 ),
No Tab List( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Add Custom Y Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Slope( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "Linear" ),
Location Parameter Path( Normal )
),
Nonlinear Path
),
Simple Linear Path( 1 ),
Location Parameter Path( 1 )
);
rpt1 = obj << report;
expr1 = rpt1 << get journal;
Code Explanation:
- Open table.
- Set Strength values.
- Create degradation object.
- Define Y variable.
- Define Time variable.
- Define Censor variable.
- Define X variable.
- Set application type.
- Set censor code.
- Generate report.
Example 2
Summary: Creates a Degradation report with specified Strength values, censoring information, and predictor variables.
Code:
dt = Open("data_table.jmp");
:Strength << Set Values( {0, 0, 0} );
:Strength << Set Property( "Missing Value Codes", 0 );
obj2 = Degradation(
Y( :Strength ),
Time( :Weeks ),
Censor( :Censor ),
X( :Degrees ),
Application( Destructive Degradation ),
Censor Code( "Right" ),
Connect Data Markers( 0 ),
Show Fitted Lines( 0 ),
Show Spec Limits( 1 ),
Show Median Curves( 1 ),
Show Legend( 1 ),
No Tab List( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Add Custom Y Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Slope( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "Linear" ),
Location Parameter Path( Normal )
),
Nonlinear Path
),
Simple Linear Path( 1 ),
Location Parameter Path( 1 )
);
rpt2 = obj2 << Report;
Code Explanation:
- Open data table.
- Set Strength values to 0.
- Define 0 as missing value code.
- Create Degradation object.
- Specify Strength as response variable.
- Set Weeks as time variable.
- Use Censor for censoring information.
- Include Degrees as predictor.
- Apply destructive degradation model.
- Generate report.
Degradation using Log Capture
Example 1
Summary: Degradation analysis to visualize the relationship between Current and Hours, with interactive plot options and residual/inverse prediction plots.
Code:
dt = Open("data_table.jmp");
lc = Log Capture(
dg = dt << Degradation(
Y( :Current ),
Time( :Hours ),
Label( :Unit ),
Application( Repeated Measures Degradation ),
Connect Data Markers( 1 ),
Show Fitted Lines( 0 ),
Show Median Curves( 0 ),
Show Legend( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Add Custom Y Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Slope Constaint( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "Linear" )
),
Nonlinear Path
),
Simple Linear Path( 1 ),
Mean Path( 1 )
)
);
dg << Automatic Recalc( 1 );
dt << Select Rows( 1 :: 25 ) << Name( "Exclude/Unexclude" );
dg << Set Lower Spec Limit( 0 );
dg << Set Upper Spec Limit( 6 );
dg << Set Censoring Time( 6 );
ndt = dg << Generate Pseudo Failure Data( 0 );
Close( ndt, No Save );
ndt2 = dg << Generate Pseudo Failure Data( 1, .05 );
Code Explanation:
- Open data table.
- Start log capture.
- Create degradation analysis.
- Set response variable.
- Set time variable.
- Set label variable.
- Specify application type.
- Configure plot options.
- Enable residual plot.
- Enable inverse prediction plot.
Example 2
Summary: Creates a degradation plot with custom settings, including pseudo failure data generation and interactive filtering.
Code:
dt = Open("data_table.jmp");
lc = Log Capture(
dg = dt << Degradation(
Y( :Current ),
Time( :Hours ),
Label( :Unit ),
Application( Repeated Measures Degradation ),
Connect Data Markers( 1 ),
Show Fitted Lines( 0 ),
Show Median Curves( 0 ),
Show Legend( 0 ),
Set Upper Spec Limit( . ),
Set Lower Spec Limit( . ),
Set Censoring Time( . ),
Show Residual Plot( 1 ),
Show Inverse Prediction Plot( 1 ),
Inverse Prediction Interval( No Interval ),
Inverse Prediction Alpha( 0.05 ),
Path Specifications(
Simple Linear(
Add Custom X Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Add Custom Y Scale( {{"Linear", Function( {x}, x ), Function( {x}, x )}} ),
Slope Constaint( Different ),
Intercept( Different ),
Select X Scale( "Linear" ),
Select Y Scale( "Linear" )
),
Nonlinear Path
),
Simple Linear Path( 1 ),
Mean Path( 1 )
)
);
dg << Automatic Recalc( 1 );
dt << Select Rows( 1 :: 25 ) << Name( "Exclude/Unexclude" );
dg << Set Lower Spec Limit( 0 );
dg << Set Upper Spec Limit( 6 );
dg << Set Censoring Time( 6 );
ndt = dg << Generate Pseudo Failure Data( 0 );
Code Explanation:
- Open table.
- Create degradation plot.
- Set Y variable.
- Set Time variable.
- Set Label variable.
- Choose application type.
- Configure plot settings.
- Enable residual plot.
- Enable inverse prediction plot.
- Generate pseudo failure data.
Degradation using New Column
Summary: Fits a standard least squares model with multiple effects and generates a profiler plot to analyze reactor data, utilizing degradation analysis and inverse prediction.
Code:
dt = Open("data_table.jmp");
dt << New Column( "extrapolation",
Set Formula(
If(
Lag( :Device, 1 ) == :Device & (Lag( :Power Drop, 1 ) > -.75 > :Power Drop),
(-.75 - Lag( :Power Drop, 1 )) / (:Power Drop - Lag( :Power Drop, 1 )) * (:Hours - Lag( :Hours, 1 )) + Lag( :Hours, 1 ),
Lag( :Device, -1 ) != :Device & :Power Drop > -.75, :Hours,
.
)
)
);
dg = dt << Degradation( Y( :Power Drop ), Time( :Hours ), Label( :Device ), X( :Degrees C ), Application( Repeated Measures Degradation ) );
rp = Report( dg );
dg << Set Lower Spec Limit( -.75 ) << Inverse Prediction( 1 );
dg << Save Crossing Time;
rdt1 = Data Table( 1 );
pred1 = rdt1:Prediction << get values;
Code Explanation:
- Open data table.
- Create new column.
- Define formula for extrapolation.
- Perform degradation analysis.
- Generate report.
- Set lower specification limit.
- Perform inverse prediction.
- Save crossing time.
- Retrieve first data table.
- Extract prediction values.
Degradation using Select Where
Example 1
Summary: Degradation analysis and stability testing on a subset of data, utilizing the Degradation platform to generate reports and extract key metrics.
Code:
dt = Open("data_table.jmp");
dt << Select Where( :Hours == 250 );
dtsub = dt << Subset( Selected Rows( 1 ) );
dg = dtsub << Degradation(
Y( :Current ),
Time( :Hours ),
Label( :Unit ),
Upper Spec Limit( .8 ),
Application( Repeated Measures Degradation )
);
obtry = Try(
Report( dg )["Model Specification"];
1;
,
0
);
If( JMP Version() >= "12",
rpt = (Report( dg )["Inverse Prediction"] << child());
obj = rpt["Inverse Prediction"] << get scriptable object;
ctime = obj << save crossing time;
m = ctime << get as matrix;
d = dtsub << get as matrix;
c = .8 / (d[0, 1] :/ d[0, 3]);
Close( ctime, No Save );
);
Close( dt, No Save );
Close( dtsub, No Save );
dt = New Table( "Test",
New Column( "Time", Values( [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5] ) ),
New Column( "Concentration", Values( [100, 97, 95, 94, 90, 100, 97, 95, 94, 90, 100, 97, 95, 94, 90] ) ),
New Column( "Batch", Nominal, Values( [1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3] ) )
);
dg = dt << Degradation(
Y( :Concentration ),
Time( :Time ),
Label( :Batch ),
Application( Repeated Measures Degradation ),
Set Lower Spec Limit( 90 )
);
dg << Test Stability;
ect = Report( dg )["Stability Tests"][Number Col Box( "Earliest Crossing Time" )] << get as matrix;
mctab = Report( dg )["Stability Tests"][Panel Box( 1 )][Table Box( 1 )] << get as matrix;
mctab exp = [4 0 0 0 1, 2 0 0 0 1, 2 0 0 0 1, 9 5.70000000000003 0.633333333333336 . ., 6 136104.3 22684.05 . .];
sel = Report( dg )["Stability Tests"][Radio Box( 1 )] << get;
Code Explanation:
- Open data table.
- Select rows where Hours=250.
- Create subset of selected rows.
- Perform degradation analysis.
- Try accessing model specification report.
- Check JMP version compatibility.
- Extract inverse prediction report.
- Get scriptable object from report.
- Save crossing time data.
- Close temporary tables without saving.
- Create new test data table.
- Perform degradation analysis on new data.
- Run stability test.
- Extract earliest crossing time.
- Extract stability test results matrix.
- Compare extracted matrix with expected values.
- Retrieve radio box selection from report.
Example 2
Summary: Degradation analysis on a subset of data, specifying the response variable, time variable, label variable, and upper spec limit.
Code:
dt = Open("data_table.jmp");
dt << Select Where( :Hours == 250 );
dtsub = dt << Subset( Selected Rows( 1 ) );
dg = dtsub << Degradation(
Y( :Current ),
Time( :Hours ),
Label( :Unit ),
Upper Spec Limit( .8 ),
Application( Repeated Measures Degradation )
);
obtry = Try(
Report( dg )["Model Specification"];
1;
,
0
);
Code Explanation:
- Open data table.
- Select rows where Hours equals 250.
- Subset selected rows.
- Create degradation analysis.
- Set response variable to Current.
- Set time variable to Hours.
- Set label variable to Unit.
- Set upper spec limit to 0.8.
- Specify application type.
- Try to access model specification report.
Degradation using Column
Summary: Runs the destructive degradation analysis for a dataset, generating reports with negative log-likelihood, AICc, BIC, and standard error values.
Code:
dt = Open("data_table.jmp");
Column( dt, "Degrees" ) << Set Property( "Missing Value Codes", {60} );
obj = dt << Destructive Degradation(
Y( :Strength ),
Time( :Weeks ),
Censor( :Censor ),
X( :Degrees ),
Censor Code( "Right" ),
Model( "Log", "Sqrt", "Normal", "Common Slope" )
);
rpt = obj << report;
nllk = rpt[Number Col Box( "-Loglikelihood" )] << get as matrix;
aicc = rpt[Number Col Box( "AICc" )] << get as matrix;
bic = rpt[Number Col Box( "BIC" )] << get as matrix;
stdErr = rpt[Number Col Box( "Std Error" )] << get as matrix;
Code Explanation:
- Open data table.
- Set missing value code.
- Run destructive degradation analysis.
- Assign report object.
- Extract negative log-likelihood.
- Extract AICc value.
- Extract BIC value.
- Extract standard error.