Que dois-je faire si, après avoir exécuté la régression non linéaire, le message suivant apparaît sur le panneau de configuration : "Considérez des critères de convergence plus souples ou sélectionnez "accepter les estimations actuelles" sous "options d'itération". Échec : impossible de diminuer la fonction objectifLe code fonctionne bien pour d'autres échantillons, mais pour quelques échantillons, il montre que le graphique n'est pas convergent.
"Envisagez des critères de convergence plus souples ou sélectionnez "accepter les estimations actuelles" sous "options d'itération". Échec : impossible de diminuer la fonction objectif
Le code est le suivant et je joins les exemples pour lesquels il ne fonctionne pas bien.
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 ),
);
Automatisation et scriptsRe : Que dois-je faire si, après avoir exécuté la régression non linéaire, le message suivant apparaît sur le panneau de configuration : "Envisagez des critères de convergence plus souples ou sélectionnez "accepter les estimations actuelles" sous "options d'itération". Échec : impossible de diminuer la fonction objectifMerci d'avoir fourni l'exemple. C’est bénéfique pour diagnostiquer le problème.
J'ai lancé de manière interactive Nonlinear et ajusté le modèle pour chaque échantillon. Je vois le même avis. Il est basé sur les critères que vous avez utilisés pour déterminer la convergence. Aucun des critères n'était rempli. Par contre, vous êtes bien placé ! Le SSE est relativement petit.
Je ne pense pas qu'il s'agisse d'un problème de données ou d'un modèle inapproprié. En fait, j'ai cliqué sur Réinitialiser puis sur Go. Il a convergé selon le critère du gradient la deuxième fois pour chaque échantillon.
Re : Que dois-je faire si, après avoir exécuté la régression non linéaire, le message suivant apparaît sur le panneau de configuration : "Envisagez des critères de convergence plus souples ou sélectionnez "accepter les estimations actuelles" sous "options d'itération". Échec : impossible de diminuer la fonction objectifMerci monsieur, en cliquant sur Reset and Go, les données sont convergées selon le critère de gradient. Mais que se passerait-il si je voulais l'automatiser dans le script au lieu de réinitialiser le graphique parce que je voulais utiliser cette sortie pour une analyse plus approfondie. Et seuls ces échantillons ne convergent pas du premier coup, alors comment automatiser cela à l'aide du script.
Re : Que dois-je faire si, après avoir exécuté la régression non linéaire, le message suivant apparaît sur le panneau de configuration : "Envisagez des critères de convergence plus souples ou sélectionnez "accepter les estimations actuelles" sous "options d'itération". Échec : impossible de diminuer la fonction objectifs'il semble qu'un échec de convergence nécessite un seul Reset and Go, alors votre script pourrait envoyer les messages successivement à chaque échantillon. Consultez l’index des scripts pour les messages Reset and Go.
