在SAS NLIN中记录非收敛

时间:2013-11-27 10:28:23

标签: statistics sas nonlinear-functions convergence

我对SAS-proc nlin有疑问。

我正在执行10000次模拟的程序。很多都没有收敛,给我错误的结果。

我想在输出表中添加一个二进制变量,表示此迭代没有收敛。

有谁知道怎么做?

非常感谢,

佩里

1 个答案:

答案 0 :(得分:0)

您需要使用ODS从PROC NLIN中提取ConvergenceStatus输出。将其添加到您的过程代码中:

PROC NLIN data = ...;
  ...;
  ods output ConvergenceStatus = conv;
RUN;

这为您提供了一个包含两个变量的数据集:

  1. 状态(0表示收敛,否则在此处描述1,2或3:https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_nlin_sect031.htm)。
  2. 原因(收敛问题的描述)。
  3. 因此,将该数据集的结果附加到每个模拟轮次,并创建状态>的二进制指示符。 0,你应该全部设定。