Der Code funktioniert bei anderen Beispielen gut, aber bei einigen Beispielen zeigt er, dass das Diagramm nicht konvergent ist.
„Berücksichtigen Sie lockerere Konvergenzkriterien oder wählen Sie unter „Iterationsoptionen“ die Option „Aktuelle Schätzungen akzeptieren“. Fehlgeschlagen: Zielfunktion kann nicht verringert werden
Der Code ist wie folgt und ich füge die Beispiele bei, bei denen er nicht gut funktioniert.
Names Default To Here( 1 );
dt= currentdatatable();
New Column( "Model",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
Parameter(
{p = 0.29, x0 = 15, m0 = 1.2, x1 = 30, m1 = 5},
p * (1 - Exp( -(X_mm / x0) ^ m0 )) + (1 - p) * (1
-Exp( -(X_mm / x1) ^ m1 ))
)
),
);
nlin = dt << Nonlinear(
SendToByGroup( Bygroup Default ),
Y( Ln_C ),
X( :Model ),
Iteration Limit( 1000 ),
Unthreaded( 1 ),
QuasiNewton BFGS,
//Newton,
Finish,
By( Sample_ID ),
);