Panoramica:
Come posso verificare se un adattamento non lineare è riuscito?
(I dati reali non sempre convergono e potrebbero richiedere una revisione manuale per problemi di automazione/test/prodotto.)
Dettaglio:
Vorrei scrivere una risposta dopo che un adattamento non lineare non riesce a convergere.Se l'adattamento fallisce, devo elaborare in un altro modo e/o eventualmente etichettare per la revisione manuale. (Sto campionando una popolazione, quindi per ogni parte, eseguendo un adattamento non lineare.Generalmente se fallisco la convergenza, c'era un problema di test da qualche parte; In realtà non voglio allentare i criteri di convergenza.)
(messaggio "fallito": "fallito: impossibile ridurre la funzione obiettivo")

Script modificato solo da derivati numerici (Guida > Indice script > "<
(Attualmente in esecuzione JMP 15.2.1)
Names Default To Here( 1 );
dt = Open(
"$SAMPLE_DATA/Nonlinear Examples/US Population.jmp"
);
// Random, intentionally divergent, formula on this dataset
dt << New Column( "Random", Numeric, Formula( Random LogLogistic(5) ) );
dt << New Column( "FancyPredictionFormula",
Numeric,
Continuous,
Formula(
Parameter(
{Rth0 = 735, n = 0.5},
(:year / :pop) * ((1 - ((n - 1) * :pop * Rth0) / (:year
* (300 / :year) ^ n)) ^ (-1 / (n - 1)) - 1)
)
)
);
nonlinear = dt << Nonlinear(
Y( :Name( "Random" ) ),
X( :Name("FancyPredictionFormula") ),
Expand Intermediate Formulas( 1 ),
Numeric Derivatives Only( 1 ),
QuasiNewton SR1,
Interation Limit(50),
Finish,
Plot( 0 ),
Confidence Limits,
Save Estimates
);
// How to check if nonlinear fit succeeded?
Ideale.
Se esiste una variabile di stato bool restituita dalla piattaforma di adattamento non lineare da qualche parte che indica il successo o il fallimento, credo che sarebbe il metodo ideale per verificare il successo.
alternativa 1.
Posso anche tabulare o fare un riepilogo dei dati per vedere se tutti i : Nome ( "Formula Previsione Fantasia" ) i valori sono zero.(I valori sembrano essere 0 se l'adattamento fallisce).
Alternativa 2.
Probabilmente c'è un modo per controllare l'XML e leggere il messaggio "fallito".
Grazie per il vostro tempo e considerazione.
-Aubrey