Minimierungsfunktionsfehler: "Konvergenzfehler: ZIELFUNKTION KANN NICHT VERRINGERT WERDEN"Ich arbeite an einem Projekt in JMP 16, in dem ich die "Minimize" -Funktion verwende. Beim Ausführen der Funktion tritt häufig der Fehler "Konvergenzfehler: Ziel kann nicht verringert werden" auf. Die endgültigen Ergebnisse des Skripts sind wie erwartet. Es scheint daher, dass der Fehler wenig Einfluss auf die Endergebnisse hat. Um die Gültigkeit des Skripts sicherzustellen, möchte ich jedoch die Gründe für den Fehler kennen.Ich hatte Schwierigkeiten, eine Dokumentation zu diesem bestimmten Fehler zu finden, und hoffte daher, dass jemand in der JMP-Community helfen könnte, die Ursache zu identifizieren.
Unter Verwendung der Option "<< Details (Both)" für die Minimierungsfunktion wurde das folgende Bild des Protokolls erhalten:

Freundliche Grüße,
Louis
AnalytikSkriptingBetreff: Minimierungsfunktionsfehler: "Konvergenzfehler: ZIELFUNKTION KANN NICHT VERRINGERT WERDEN"Was ist der von Ihnen verwendete Funktionsaufruf Minimize ()? Was ist der zu bewertende Ausdruck? Was sind die Parameter im Ausdruck und wie werden sie initialisiert? Sind im JMP-Protokoll weitere Informationen verfügbar, wenn Sie diese Funktion aufrufen?
Betreff: Minimierungsfunktionsfehler: "Konvergenzfehler: ZIELFUNKTION KANN NICHT VERRINGERT WERDEN"Hallo Mark,
Danke für Ihre Antwort.
So beantworten Sie Ihre Fragen:
- Der Funktionsaufruf zum Minimieren lautet wie folgt:
minfun = Minimize (mfun, {df},<<USENUMERICDERIV></USENUMERICDERIV> - Der auszuwertende Ausdruck lautet wie folgt:
mfun = Expr( Log10( (ChiSquare Quantile( alpha, df ) / df - Vratio) ^ 2 ) );
- Die Parameter der Funktion werden wie folgt initialisiert:
- df: Dies wird auf 2 gesetzt, bevor die Funktion Minimize () ausgeführt wird
- Sowohl Alpha als auch Vratio wurden zuvor im Skript berechnet. In der besonderen Situation, in der es fehlschlägt, haben die Parameter die folgenden Werte:
- Alpha = 0,025
- Vratio = 0,39135
- Hier kann hinzugefügt werden, dass bei Verwendung von Vratio = 0.94917 die Warnung nicht auftritt.
Freundliche Grüße,
Louis
Betreff: Minimierungsfunktionsfehler: "Konvergenzfehler: ZIELFUNKTION KANN NICHT VERRINGERT WERDEN"Ich habe dieses Skript basierend auf Ihren Antworten verwendet.
Names Default to Here( 1 );
alpha = 0.025;
variance ratio = 0.94917 ;
df = 2;
expression = Expr( Log10( (Chi Square Quantile( alpha, df ) / df - variance ratio) ^ 2 ) );
Minimize( expression, { df( 2, 1000 ) }, << Use Numeric Deriv( "true" ) );
Mit den beiden Varianzverhältnissen, die Sie mir gegeben haben, erhalte ich Folgendes:
//:*/
Names Default to Here( 1 );
alpha = 0.025;
variance ratio = 0.39135;
df = 2;
expression = Expr( Log10( (Chi Square Quantile( alpha, df ) / df - variance ratio) ^ 2 ) );
Minimize( expression, { df( 2, 1000 ) }, << Use Numeric Deriv( "true" ) );
/*:
Optimization failed: Failed: Cannot Decrease Objective Function
-19.6490758040614
//:*/
Names Default to Here( 1 );
alpha = 0.025;
variance ratio = 0.94917 ;
df = 2;
expression = Expr( Log10( (Chi Square Quantile( alpha, df ) / df - variance ratio) ^ 2 ) );
Minimize( expression, { df( 2, 1000 ) }, << Use Numeric Deriv( "true" ) );
/*:
-2.91402948948765Betreff: Minimierungsfunktionsfehler: "Konvergenzfehler: CANNOT DECREASE OBJECTIVE FUNCTION"Wenn man sich den Profiler für die Funktion (siehe unten und die angehängte Datentabelle) ansieht, sieht es so aus, als ob Minimize() eine gute Antwort gibt.
Womöglich @chris_gotwalt1 kann eine Erklärung der Fehlermeldung geben, die Sie vom Aufruf von Minimize() erhalten.
