Missing Values

Missing Values in Program Statements

There is one very important reason for using missing values in program statements specifying the values of the objective functions and derivatives: it may not be possible to evaluate the program statements for a particular point $ x$. For example, the extrapolation formula of one of the line-search algorithms may generate large $ x$ values for which the EXP function cannot be evaluated without floating point overflow. The compiler of the program statements may check for such situations automatically, but it would be safer if you check the feasibility of your program statements. In some cases, the specification of boundary or linear constraints for parameters can avoid such situations. In many other cases, you can indicate that $ x$ is a bad point simply by returning a missing value for the objective function. In such cases the optimization algorithms in PROC NLP shorten the step length $\alpha $ or reduce the trust region radius so that the next point will be closer to the point that was already successfully evaluated at the last iteration. Note that the starting point $ x^{(0)}$ must be a point for which the program statements can be evaluated.

Missing Values in Input Data Sets

Observations with missing values in the DATA= data set for variables used in the objective function can lead to a missing value of the objective function implying that the corresponding BY group of data is not processed. The NOMISS option can be used to skip those observations of the DATA= data set for which relevant variables have missing values. Relevant variables are those that are referred to in program statements.

There can be different reasons to include observations with missing values in the INEST= data set. The value of the _RHS_ variable is not used in some cases and can be missing. Missing values for the variables corresponding to parameters in the _TYPE_ variable are as follows:

  • PARMS observations cause those parameters to have initial values assigned by the DECVAR statement or by the RANDOM= or INITIAL= option.

  • UPPERBD or LOWERBD observations cause those parameters to be unconstrained by upper or lower bounds.

  • LE, GE, or EQ observations cause those parameters to have zero values in the constraint.

In general, missing values are treated as zeros.