NLIN プロシジャにおける収束ステータス

[OS] ALL
[リリース] SAS System 8以降
[キーワード] NLIN, CovergenceStatus

[質問]

NLIN プロシジャを実行した際、推定の過程において収束しているかの情報を、 以下のようなプログラムにてデータセットに出力しています。


   ODS OUTPUT ConvergenceStatus=out1;
                     /* ODS機能でデータセットOUT1を作成 */
   PROC NLIN DATA=one;
     PARMS b0=5 b1=3 b2=2;
     MODEL y=b0+b1*exp(b2*x);
   RUN;

この場合、作成されたデータセットに含まれる変数 Status はどのような値になるのでしょうか。

[回答]

変数 Status の値は、収束に関する情報を 0 から 3 までの整数で表しています。
各値における解釈に関しては、以下の通りです。 ただし、Status=2 はSAS 9.2 以降のみで出力されます。

0 収束基準を満たしています。
1 収束基準を満たしていますが、ログ画面に何らかの問題を報告している可能性のある NOTE メッセージが表示されています。
2 収束基準を満たしていますが、ログ画面に警告を示す WARNING メッセージが表示されています。
3 収束基準が満たされていません。(この場合、反復過程における最後の数値がパラメータ推定値として表示されます)