This example illustrates the use of the SYMBOL and GOPTIONS statements for controlling the appearance of the decision tree diagram. It also uses the ANNOTATE= option to add a customized legend to the diagram.
A typical problem encountered in a research and development setting involves two decisions: whether or not to conduct research, and whether or not to commercialize the results of that research. Suppose that research and development for a specific project will cost $350,000, and there is a 0.4 probability that it will fail. Also suppose that the different levels of market success and their corresponding probabilities are:
Table 7.23: Levels of Market Success and Their Probabilities
Market Success |
Net Return |
Probability |
Great |
$1,000,000 |
0.25 |
Good |
$500,000 |
0.35 |
Fair |
$200,000 |
0.30 |
Poor |
-$250,000 |
0.10 |
The structure of the model is represented in the STAGEIN= data set Stage4
.
/* -- create the STAGEIN= data set -- */ data Stage4; input _STNAME_ $ 1-16 _STTYPE_ $ 17-20 _OUTCOM_ $ 21-32 _REWARD_ dollar12.0 _SUCC_ $ 45-60; datalines; R_and_D D Not_Conduct . . . . Conduct -$350,000 RD_Outcome RD_Outcome C Success . Production . . Failure . . Production D Produce . Sales . . Abandon . . Sales C Great . . . . Good . . . . Fair . . . . Poor . . ;
The probability distributions for the various outcomes of the chance stages are given in the PROBIN= data set named Prob4
.
/* -- create the PROBIN= data set -- */ data Prob4; input _EVENT1_ $ _PROB1_ _EVENT2_ $12. _PROB2_; datalines; Success 0.6 Failure 0.4 Great 0.25 Good 0.35 Fair 0.30 poor 0.1 ;
The payoffs are given in the PAYOFFS= data set Payoff4
.
/* -- create the PAYOFFS= data set -- */ data Payoff4; input _STATE_ $12. _VALUE_ dollar12.0; datalines; Great $1,000,000 Good $500,000 Fair $200,000 Poor -$250,000 ;
The following DATA step builds a data set that contains the Annotate description of a legend. Refer to the chapter on the annotate facility in SAS/GRAPH Software: Reference for a description of the Annotate facility.
/* -- create the ANNOTATE= data set for legend -- */ data Legend; length FUNCTION $ 8; length STYLE $ 16; WHEN = 'B'; POSITION='0'; XSYS='4'; YSYS='4'; input FUNCTION $ X Y STYLE & 16. SIZE COLOR $ TEXT $ & 16.; datalines; move 8 2.1 . . . . draw 12 2.1 . 8 red . label 14 2 Cumberland AMT 0.6 black BEST ACTION symbol 9 3.5 marker 0.6 red A label 14 3.2 Cumberland AMT 0.6 black END NODE symbol 9 4.7 marker 0.6 blue P label 14 4.4 Cumberland AMT 0.6 black CHANCE NODE symbol 9 5.9 marker 0.6 green U label 14 5.6 Cumberland AMT 0.6 black DECISION NODE label 8 7.0 Cumberland AMT 0.6 black LEGEND: move 5 8.5 . . black . draw 35 8.5 . 2 black . draw 35 1 . 2 black . draw 5 1 . 2 black . draw 5 8.5 . 2 black . ;
The following program invokes PROC DTREE, which evaluates the decision tree and plots it on a graphics device using the Annotate
data set Legend
to draw the legend.
/* define symbol characteristics for chance nodes and */ /* links except those that represent optimal decisions */ symbol1 f=marker h=1.8 v=P c=blue w=5 l=1; /* define symbol characteristics for decision nodes */ /* and links that represent optimal decisions */ symbol2 f=marker h=1.8 v=U cv=green ci=red w=10 l=1; /* define symbol characteristics for end nodes */ symbol3 f=marker h=1.8 v=A cv=red; /* define graphics options */ goptions htext=1.2; /* -- define title -- */ title f='Cumberland AMT' h=2.5 'Research and Development Decision'; /* -- PROC DTREE statements -- */ proc dtree stagein=Stage4 probin=Prob4 payoffs=Payoff4 criterion=maxce rt=1800000 graphics annotate=Legend nolg ; evaluate; treeplot / linka=1 linkb=2 symbold=2 symbolc=1 symbole=3 compress name="dt4"; quit;
The SYMBOL1, SYMBOL2, and SYMBOL3 statements create three SYMBOL definitions that contain information for drawing nodes and
links. The Legend
data set and the ANNOTATE= option specified in the PROC DTREE statement cause the procedure to produce a customized legend for the decision tree diagram. The LINKA=, LINKB=, SYMBOLD=, SYMBOLC=, and SYMBOLE= specifications in the TREEPLOT statement tell PROC DTREE how to use SYMBOL definitions to draw the decision tree. Table 7.24 describes the options in SYMBOL definitions used to draw the decision tree diagram.
The decision tree diagram produced by the TREEPLOT statement is shown in Output 7.4.1. As illustrated on the decision tree, the program recommends that one should not conduct the research and development of the product if he or she is risk averse with a risk tolerance of $1,800,000. However, if he or she decides to undertake the research and development and it is a success, then he or she should commercialize the product.
Table 7.24: The Usage of SYMBOL Definitions
SYMBOL Definition |
Specification |
Description |
Used to Draw |
The First |
C=blue |
Color |
All links except |
L=1 |
Line Type |
those that indicate |
|
W=3 |
Thickness |
optimal decisions |
|
C=blue |
Color |
Chance nodes |
|
F=marker |
Font |
||
H=2 |
Height |
||
V=P |
Symbol |
||
The Second |
CI=red |
Color |
All links that |
L=1 |
Line Type |
indicate optimal |
|
W=3 |
Thickness |
decisions |
|
CV=green |
Color |
Decision nodes |
|
F=marker |
Font |
||
H=2 |
Height |
||
V=U |
Symbol |
||
The Third |
CV=red |
Color |
End nodes |
F=marker |
Font |
||
H=2 |
Height |
||
V=A |
Symbol |
Output 7.4.1: Research and Development Decision Tree