Previous Page | Next Page

The NLIN Procedure

ODS Table Names

PROC NLIN assigns a name to each table it creates. You can use these names to reference the table when using the Output Delivery System (ODS) to select tables and create output data sets. These names are listed in Table 60.2. For more information about ODS, see Chapter 20, Using the Output Delivery System.

Table 60.2 ODS Tables Produced by PROC NLIN

ODS Table Name

Description

Statement

ANOVA

Analysis of variance

default

CodeDependency

Variable cross reference

LISTDEP

CodeList

Listing of program statements

LISTCODE

ConvergenceStatus

Convergence status

default

CorrB

Correlation of the parameters

default

EstSummary

Summary of the estimation

default

FirstDerivatives

First derivative table

LISTDER

IterHistory

Iteration output

default

MissingValues

Missing values generated by the program

default

ParameterEstimates

Parameter estimates

default

ProgList

Listing of the compiled program

LIST

Convergence Status Table

The "Convergence Status" table can be used to programmatically check the status of an estimation. This table contains the Status variable that takes on the value 0, 1, 2, or 3. If Status takes on a value less than 3, the convergence criterion was met. Specifically, the values mean the following:

Status=0

indicates that the convergence criterion was met and no warning or error messages were issued during the PROC NLIN run. Also, no notes that could indicate a problem with the model were issued.

Status=1

indicates that the convergence criterion was met and notes were written to the log that might indicate a problem with the model.

Status=2

indicates that the convergence criterion was met and one or more warning messages were produced during the PROC NLIN run.

Status=3

indicates that the convergence criterion was not met.

The following sample program demonstrates how the "Convergence Status" table can be used:

   ods output ConvergenceStatus=ConvStatus;
   proc nlin data=YourData;
      parameters a=1 b=1 c=1;
      model wgt = a + x / (b*y+c*z);
   run;
   
   data _NULL_; set ConvStatus;
     if status > 0 then put "A problem occurred";
   run;
Previous Page | Next Page | Top of Page