我有一个关于 SAS-proc nlin 的问题。
我正在执行 10000 次模拟的过程。他们中的许多人没有收敛并给我错误的结果。
我想在我的输出表中添加一个二进制变量,表示此迭代没有收敛。
有谁知道这是怎么做到的吗 ?
非常感谢,
佩里
我有一个关于 SAS-proc nlin 的问题。
我正在执行 10000 次模拟的过程。他们中的许多人没有收敛并给我错误的结果。
我想在我的输出表中添加一个二进制变量,表示此迭代没有收敛。
有谁知道这是怎么做到的吗 ?
非常感谢,
佩里
您需要使用 ODS 从 PROC NLIN 中提取 ConvergenceStatus 输出。将其添加到您的过程代码中,如下所示:
PROC NLIN data = ...;
...;
ods output ConvergenceStatus = conv;
RUN;
这为您提供了一个包含两个变量的数据集:
因此,将该数据集的结果附加到每个模拟轮次,并为状态是否 > 0 创建一个二进制指标,您应该已经准备就绪。