*-------------------------------------------------------------*; * START_CHUNK 1458223461.4:T25V0GSK *; *-------------------------------------------------------------*; * ; * TOOL : Input Data Source ; * TYPE : SAMPLING ; * NODE : RCLIB.FEVTRAIN [T25V0GSK] ; * ; *-------------------------------------------------------------*; *-------------------------------------------------------------*; * END_CHUNK 1458223461.4:T25V0GSK *; *-------------------------------------------------------------*; *-------------------------------------------------------------*; * START_CHUNK 1458223911.1:T3BG_I70 *; *-------------------------------------------------------------*; * ; * TOOL : Tree ; * TYPE : MODEL ; * NODE : Tree [T3BG_I70] ; * ; *-------------------------------------------------------------*; * ; * MODEL NAME : FEVExample ; * DESCRIPTION : ; * ; * TARGET : FEV ; *-------------------------------------------------------------*; ****************************************************************; ****** DECISION TREE SCORING CODE ******; ****************************************************************; ****** LENGTHS OF NEW CHARACTER VARIABLES ******; LENGTH _WARN_ $ 4; ****** LABELS FOR NEW VARIABLES ******; LABEL _NODE_ = 'Node'; LABEL _LEAF_ = 'Leaf'; LABEL P_FEV = 'Predicted: FEV'; LABEL V_FEV = 'Validated: FEV'; LABEL R_FEV = 'Residual: FEV'; LABEL _WARN_ = 'Warnings'; ****** TEMPORARY VARIABLES FOR FORMATTED VALUES ******; LENGTH _ARBFMT_4 $ 12; DROP _ARBFMT_4; _ARBFMT_4 = ' '; /* Initialize to avoid warning. */ LENGTH _ARBFMT_3 $ 12; DROP _ARBFMT_3; _ARBFMT_3 = ' '; /* Initialize to avoid warning. */ DROP _DECNUM; _DECNUM=1; ****** ASSIGN OBSERVATION TO NODE ******; /* USING SURROGATES SPLITS */ DROP _BRANCH_; _BRANCH_ = -1; IF NOT MISSING(HGT ) AND HGT < 61.75 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND 61.75 <= HGT THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(AGE ) AND AGE < 9.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 9.5 <= AGE THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN DO; _ARBFMT_4 = PUT( SMOKE , BEST12.); %DMNORMIP( _ARBFMT_4); IF _ARBFMT_4 IN ('0' ) THEN DO; _BRANCH_ = 1; END; ELSE IF _ARBFMT_4 IN ('1' ) THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 1; IF _BRANCH_ EQ 2 THEN DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; IF NOT MISSING(HGT ) AND HGT < 66.25 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND 66.25 <= HGT THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; _ARBFMT_3 = PUT( SEX , BEST12.); %DMNORMIP( _ARBFMT_3); IF _ARBFMT_3 IN ('0' ) THEN DO; _BRANCH_ = 1; END; ELSE IF _ARBFMT_3 IN ('1' ) THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(AGE ) AND AGE < 12.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 12.5 <= AGE THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 1; IF _BRANCH_ EQ 2 THEN DO; IF NOT MISSING(AGE ) AND 16.5 <= AGE THEN DO; _NODE_ = 15; _LEAF_ = 21; P_FEV = 4.82616666666666; V_FEV = 3.91025; _DECNUM = 1; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; _ARBFMT_3 = PUT( SEX , BEST12.); %DMNORMIP( _ARBFMT_3); IF _ARBFMT_3 IN ('1' ) THEN DO; _BRANCH_ = 1; END; ELSE IF _ARBFMT_3 IN ('0' ) THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(AGE ) AND 8.5 <= AGE THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND AGE < 8.5 THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 1; IF _BRANCH_ EQ 2 THEN DO; _NODE_ = 29; _LEAF_ = 20; P_FEV = 3.189125; V_FEV = 3.18727272727272; _DECNUM = 1; END; ELSE DO; IF NOT MISSING(HGT ) AND 70.75 <= HGT THEN DO; _NODE_ = 45; _LEAF_ = 19; P_FEV = 4.39685714285714; V_FEV = 4.487; _DECNUM = 1; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; IF NOT MISSING(AGE ) AND AGE < 12.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 12.5 <= AGE THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; _ARBFMT_4 = PUT( SMOKE , BEST12.); %DMNORMIP( _ARBFMT_4); IF _ARBFMT_4 IN ('0' ) THEN DO; _BRANCH_ = 1; END; ELSE IF _ARBFMT_4 IN ('1' ) THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(HGT ) AND HGT < 66.75 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND 66.75 <= HGT THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 2; IF _BRANCH_ EQ 1 THEN DO; _NODE_ = 68; _LEAF_ = 17; P_FEV = 3.63188235294117; V_FEV = 3.6669; _DECNUM = 1; END; ELSE DO; _NODE_ = 69; _LEAF_ = 18; P_FEV = 4.01455555555555; V_FEV = 3.95388888888888; _DECNUM = 1; END; END; END; END; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; IF NOT MISSING(AGE ) AND AGE < 10.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 10.5 <= AGE THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; _ARBFMT_3 = PUT( SEX , BEST12.); %DMNORMIP( _ARBFMT_3); IF _ARBFMT_3 IN ('1' ) THEN DO; _BRANCH_ = 1; END; ELSE IF _ARBFMT_3 IN ('0' ) THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 2; IF _BRANCH_ EQ 1 THEN DO; _NODE_ = 12; _LEAF_ = 14; P_FEV = 2.77311111111111; V_FEV = 2.5535238095238; _DECNUM = 1; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; IF NOT MISSING(HGT ) AND HGT < 63.25 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND 63.25 <= HGT THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; _ARBFMT_3 = PUT( SEX , BEST12.); %DMNORMIP( _ARBFMT_3); IF _ARBFMT_3 IN ('0' ) THEN DO; _BRANCH_ = 1; END; ELSE IF _ARBFMT_3 IN ('1' ) THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 2; IF _BRANCH_ EQ 1 THEN DO; _NODE_ = 26; _LEAF_ = 15; P_FEV = 2.90379166666666; V_FEV = 2.733625; _DECNUM = 1; END; ELSE DO; _NODE_ = 27; _LEAF_ = 16; P_FEV = 3.1558125; V_FEV = 3.11173333333333; _DECNUM = 1; END; END; END; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; IF NOT MISSING(HGT ) AND HGT < 58.75 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND 58.75 <= HGT THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(AGE ) AND AGE < 8.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 8.5 <= AGE THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN DO; _ARBFMT_4 = PUT( SMOKE , BEST12.); %DMNORMIP( _ARBFMT_4); IF _ARBFMT_4 IN ('0' ) THEN DO; _BRANCH_ = 1; END; ELSE IF _ARBFMT_4 IN ('1' ) THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 1; IF _BRANCH_ EQ 2 THEN DO; IF NOT MISSING(AGE ) AND AGE < 8.5 THEN DO; _NODE_ = 10; _LEAF_ = 8; P_FEV = 2.2905; V_FEV = 2.30633333333333; _DECNUM = 1; END; ELSE DO; IF NOT MISSING(HGT ) AND HGT < 59.25 THEN DO; _NODE_ = 22; _LEAF_ = 9; P_FEV = 2.3508; V_FEV = 2.2534; _DECNUM = 1; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; _ARBFMT_3 = PUT( SEX , BEST12.); %DMNORMIP( _ARBFMT_3); IF _ARBFMT_3 IN ('1' ) THEN DO; _BRANCH_ = 1; END; ELSE IF _ARBFMT_3 IN ('0' ) THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(AGE ) AND AGE < 9.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 9.5 <= AGE THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 2; IF _BRANCH_ EQ 1 THEN DO; IF NOT MISSING(HGT ) AND 60.75 <= HGT THEN DO; _NODE_ = 55; _LEAF_ = 11; P_FEV = 2.551875; V_FEV = 2.53833333333333; _DECNUM = 1; END; ELSE DO; _NODE_ = 54; _LEAF_ = 10; P_FEV = 2.4124; V_FEV = 2.22116666666666; _DECNUM = 1; END; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; IF NOT MISSING(AGE ) AND AGE < 9.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 9.5 <= AGE THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(HGT ) AND HGT < 59.75 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND 59.75 <= HGT THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 2; IF _BRANCH_ EQ 1 THEN DO; _NODE_ = 56; _LEAF_ = 12; P_FEV = 2.52063636363636; V_FEV = 2.53; _DECNUM = 1; END; ELSE DO; _NODE_ = 57; _LEAF_ = 13; P_FEV = 2.71627777777777; V_FEV = 2.76933333333333; _DECNUM = 1; END; END; END; END; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; IF NOT MISSING(HGT ) AND HGT < 55.25 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND 55.25 <= HGT THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(AGE ) AND AGE < 6.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 6.5 <= AGE THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN DO; _ARBFMT_3 = PUT( SEX , BEST12.); %DMNORMIP( _ARBFMT_3); IF _ARBFMT_3 IN ('1' ) THEN DO; _BRANCH_ = 1; END; ELSE IF _ARBFMT_3 IN ('0' ) THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 1; IF _BRANCH_ EQ 2 THEN DO; IF NOT MISSING(HGT ) AND HGT < 56.75 THEN DO; _NODE_ = 18; _LEAF_ = 6; P_FEV = 1.86064285714285; V_FEV = 1.90666666666666; _DECNUM = 1; END; ELSE DO; _NODE_ = 19; _LEAF_ = 7; P_FEV = 2.00960975609756; V_FEV = 2.06846666666666; _DECNUM = 1; END; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; IF NOT MISSING(HGT ) AND HGT < 49.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND 49.5 <= HGT THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(AGE ) AND AGE < 4.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 4.5 <= AGE THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 2; IF _BRANCH_ EQ 1 THEN DO; _NODE_ = 16; _LEAF_ = 1; P_FEV = 1.1735; V_FEV = 1.536; _DECNUM = 1; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; _ARBFMT_3 = PUT( SEX , BEST12.); %DMNORMIP( _ARBFMT_3); IF _ARBFMT_3 IN ('1' ) THEN DO; _BRANCH_ = 1; END; ELSE IF _ARBFMT_3 IN ('0' ) THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(HGT ) AND 50.5 <= HGT THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND HGT < 50.5 THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 1; IF _BRANCH_ EQ 2 THEN DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; IF NOT MISSING(AGE ) AND AGE < 5.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 5.5 <= AGE THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(HGT ) AND HGT < 50.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND 50.5 <= HGT THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 2; IF _BRANCH_ EQ 1 THEN DO; _NODE_ = 48; _LEAF_ = 4; P_FEV = 1.35; V_FEV = 1.259; _DECNUM = 1; END; ELSE DO; _NODE_ = 49; _LEAF_ = 5; P_FEV = 1.60186666666666; V_FEV = 1.57266666666666; _DECNUM = 1; END; END; ELSE DO; /* USING SURROGATES SPLITS */ _BRANCH_ = -1; IF NOT MISSING(HGT ) AND HGT < 53.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(HGT ) AND 53.5 <= HGT THEN DO; _BRANCH_ = 2; END; IF _BRANCH_ LT 0 THEN DO; IF NOT MISSING(AGE ) AND AGE < 7.5 THEN DO; _BRANCH_ = 1; END; ELSE IF NOT MISSING(AGE ) AND 7.5 <= AGE THEN DO; _BRANCH_ = 2; END; END; IF _BRANCH_ LT 0 THEN _BRANCH_ = 1; IF _BRANCH_ EQ 2 THEN DO; _NODE_ = 47; _LEAF_ = 3; P_FEV = 1.74127272727272; V_FEV = 1.99085714285714; _DECNUM = 1; END; ELSE DO; _NODE_ = 46; _LEAF_ = 2; P_FEV = 1.61283333333333; V_FEV = 1.607; _DECNUM = 1; END; END; END; END; END; END; IF MISSING( FEV ) THEN R_FEV = .; ELSE R_FEV = FEV - P_FEV; ****************************************************************; ****** END OF DECISION TREE SCORING CODE ******; ****************************************************************; *-------------------------------------------------------------*; * END_CHUNK 1458223911.1:T3BG_I70 *; *-------------------------------------------------------------*;