Estoy tratando de automatizar mi secuencia de comandos de degradación para poder usar la misma secuencia de comandos para ajustar un modelo de degradación a diferentes datos.
Actualmente he logrado ajustar el modelo que quiero a mis datos usando Ajustar modelo y tengo los parámetros como una matriz de columnas.
Luego intenté ingresar la matriz en los valores iniciales para el modelo de degradación, pero solo genera el modelo con todos los parámetros sin cambios. ¿Hay alguna forma en que pueda ingresar una matriz como valores de parámetro, valores iniciales en el siguiente script, en el script de degradación?
Degradation(
Y( :"Output/mV"n ),
Time( :Time in hours ),
Label( :Unit ID ),
Application( Repeated Measures Degradation ),
Connect Data Markers( 1 ),
Show Fitted Lines( 1 ),
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(
Nonlinear Path(
Add Formula(
Formula Name( "Model" ),
Formula(
Parameter(
{a = 200, b = -0.00007},
a[Unit ID] * Exp( b[Unit ID] * Time in hours )
),
),<BR />//Trying to enter my matrix of parameters into the model
Initial Values(A_para),
Fitting Method( QuasiNewton BFGS ),
),
Select Formula( "Model" )
),
Run Model( "Model" )
),
Nonlinear Path( 1 ),
Mean Path( 1 ),
SendToReport(
Dispatch(
{"Overlay", "Output/mV Residuals by Time in hours"},
"7",
ScaleBox,
{Min( -80 ), Max( 210 ), Inc( 50 ), Minor Ticks( 4 )}
),
Dispatch(
{"Overlay", "Output/mV Residuals by Time in hours"},
"13",
ScaleBox,
{Min( -80 ), Max( 210 ), Inc( 50 ), Minor Ticks( 4 )}
),
Dispatch(
{"Overlay", "Model Specification"},
"Empty",
TextEditBox,
{Fixed Size( 1, 100, 19 ), Set Text( "Model" )}
),
)
);obj = Fit Curve(
Y( :"Output/mV"n ),
X( :Time in hours ),
Group( :Unit ID ),
);
//Currently this is using a slighlty different fitting method to the one used by the degredation platform
obj << Fit Exponential 2P;
//Next I want to create the table of parameter estimates
dt_p = obj << (Fit[1] << Make Parameter Table);
//Now create a single column matrix of the parameter estimates
col_scale = Column( dt_p, "Scale" );
col_growth = Column( dt_p, "Growth Rate" );
A_scale = col_scale << Get As Matrix;
A_growth = col_growth << Get As Matrix;
A_para = A_scale |/ A_growth;
//Put values into a column to check I've done it right
dt_temp = Data Table( "Stacked and Transposed New Dates Raw Data" );
col_p = dt_temp << New Column( "Parameters" );
col_p << Set Values(A_para);