The NLIN Procedure

ODS Graphics

Statistical procedures use ODS Graphics to create graphs as part of their output. ODS Graphics is described in detail in ChapterĀ 24, Statistical Graphics Using ODS.

Before you create graphs, ODS Graphics must be enabled (for example, by specifying the ODS GRAPHICS ON statement). For more information about enabling and disabling ODS Graphics, see the section Enabling and Disabling ODS Graphics in ChapterĀ 24, Statistical Graphics Using ODS.

The overall appearance of graphs is controlled by ODS styles. Styles and other aspects of using ODS Graphics are discussed in the section A Primer on ODS Statistical Graphics in ChapterĀ 24, Statistical Graphics Using ODS.

PROC NLIN assigns a name to each graph it creates using ODS. You can use these names to refer to the graphs when using ODS. The graphs that are controlled by the PLOTS option in the PROC NLIN statement are listed in Table 10, those that are controlled by the options in PROFILE statement are in Table 11.

Table 10: Graphs Controlled by the PLOTS option in the PROC NLIN Statement

ODS Graph Name Plot Description PLOTS Option
ContourFitPlot Contour fit plot for models with two regressors FIT
FitPlot Fit plot for models with one regressor FIT
FitDiagnosticsPanel Panel of fit diagnostics DIAGNOSTICS
LeveragePlot Tangential and Jacobian leverages versus observation number DIAGNOSTICS
LocalInfluencePlot Local influence versus observation number DIAGNOSTICS
ObservedByPredictedPlot Dependent variable versus predicted values DIAGNOSTICS(UNPACK)
ProjectedResidualHistogram A histogram of the projected residuals DIAGNOSTICS(UNPACK)
RawResidualExpectationPlot Raw residual expectation versus predicted values DIAGNOSTICS(UNPACK)
RawResidualHistogram A histogram of the raw residuals DIAGNOSTICS(UNPACK)
ResidualBoxPlot A box plot of the raw and projected residuals DIAGNOSTICS(UNPACK)
ResidualPanel A panel of the raw and projected residuals versus the regressors RESIDUALS
ResidualPlot A plot of the raw and projected residuals versus the regressors RESIDUALS(UNPACK)
ResidualByPredictedPlot Raw and projected residuals versus the predicted values DIAGNOSTICS(UNPACK)
RStudentByJacLeveragePlot Standardized raw and projected residuals versus Jacobian leverage DIAGNOSTICS(UNPACK)
RStudentByPredictedPlot Standardized raw and projected residuals versus the predicted values DIAGNOSTICS(UNPACK)
RStudentByTanLeveragePlot Standardized raw and projected residuals versus tangential leverage DIAGNOSTICS(UNPACK)


Table 11: Graphs Controlled by the PROFILE Statement

ODS Graph Name Plot Description PROFILE Option
ConfidenceCurve Parameter value versus t value CONFCURV
JackknifePlot Absolute relative percentage difference versus observation number JACKKNIFE
ProfiletPlot Likelihood ratio pivotal statistic versus Wald pivotal statistic TPLOT


Table 12: Graphs Controlled by the BOOTSTRAP Statement

ODS Graph Name Plot Description BOOTSTRAP Option
BootstrapHistPlot A histogram of bootstrap parameter estimates BOOTPLOTS(HIST)
BootstrapScatterPlot Pairwise scatter plot of bootstrap parameter estimates BOOTPLOTS(SCATTER)


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;
Last updated: December 09, 2022