The DTREE Procedure

Precision Errors

When PROC DTREE detects an error, it displays a message on the SAS log to call it to your attention. If the error is in a statement other than the PROC DTREE statement and the QUIT statement, and if the ERRHANDLE= QUIT option is not specified, the procedure ignores the erroneous statement and waits for you to enter another statement. This gives you a chance to correct the mistake you made and keep running. You can exit the procedure at any time by specifying the QUIT statement.

If the error is in an input data set, typically, you will have to edit the data set and then reinvoke PROC DTREE. In one case, however, you can use an option to correct the problem. You may receive an error message indicating that the sum of probabilities for a particular chance stage does not equal 1.0. If it is caused by roundoff errors in the summation, then you can reset the TOLERANCE= option to correct this error. For example, suppose that your problem contains a chance stage that has three outcomes, 'Out1', 'Out2' and 'Out3', and each has probability $1/3$. Suppose also that you input their probabilities in the PROBIN= data set as follows:

   Out1    Out2    Out3    0.3333  0.3333  0.3333

Then, PROC DTREE detects the total probabilities for that stage as 0.9999, not equal to 1, and hence displays an error message. The following RESET statement fixes the error:

   reset tolerance=0.00015;

Alternatively, you can specify the AUTOSCALE option to ask the procedure to rescale the probabilities whenever this situation occurs.