最小化功能错误:“收敛失败:无法降低目标功能”我正在JMP 16中的一个项目上工作,在这里我使用“最小化”功能。 运行该函数时,我经常会遇到错误“会聚失败:无法降低目标”。 查看脚本的最终结果,它们与预期的一样。 因此,该误差似乎对最终结果影响很小。 但是,为了确保脚本的有效性,我仍然想知道错误背后的原因。我很难找到有关此特定错误的任何文档,因此希望JMP社区中的某人可以帮助确定原因。
使用最小化功能的“ << Details(Both)”选项,获得以下日志图像:

最好的祝福,
路易
分析工具脚本编写回复:最小化功能错误:“收敛失败:无法减少目标功能”您使用了什么Minimize()函数调用? 要评估的表达式是什么? 表达式中的参数是什么,如何对其进行初始化? 调用此函数时,JMP日志中是否还有其他可用信息?
回复:最小化功能错误:“收敛失败:无法减少目标功能”嗨,马克,
感谢您的答复。
要回答您的问题:
- 最小化函数调用如下:
minfun = Minimize (mfun, {df},<<USENUMERICDERIV></USENUMERICDERIV> - 要评估的表达式如下:
mfun = Expr( Log10( (ChiSquare Quantile( alpha, df ) / df - Vratio) ^ 2 ) );
- 该函数的参数初始化如下:
- df:在运行Minimize()函数之前将其设置为2
- alpha和Vratio都是先前在脚本中计算的。 在失败的特定情况下,参数具有以下值:
- alpha = 0.025
- 比例= 0.39135
- 在这里可以添加,使用Vratio = 0.94917我没有遇到警告。
最好的祝福,
路易
回复:最小化功能错误:“收敛失败:无法减少目标功能”我根据您的答案使用了此脚本。
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" ) );
使用您给我的两个方差比,我得到以下信息:
//:*/
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.91402948948765回复:最小化函数错误:“收敛失败:无法减少目标函数”查看函数的探查器(见下文和附加的数据表),看起来 Minimize() 确实给出了一个很好的答案。
可能@chris_gotwalt1可以解释您从调用 Minimize() 收到的错误消息。
