12
§
PROC DMNEURL: Approximation to PROC NEURAL
Even though accuracy did not improve, the SSE value still dropped from 710 to 703
during the last stage.
Goodness-of-Fit Criteria (Ordered by SSE, Stage 4)
Run
Activation
SSE
RMSE
Accuracy
1
SQUARE
702.89979
0.343418
83.724832
8
EXP
703.29556
0.343515
83.691275
3
ARCTAN
705.24309
0.343990
83.775168
6
SIN
705.50816
0.344055
83.691275
2
TANH
705.63451
0.344086
83.708054
4
LOGIST
705.73259
0.344110
83.708054
7
COS
707.29243
0.344490
83.842282
5
GAUSS
708.65994
0.344823
83.791946
The following summary table shows the improvements in SSE and Accuracy rates
across the 5 stages:
Summary Table Across Stages
Stage Activation Link
SSE
RMSE
Accuracy
AIC
0 SQUARE
IDENT__702.8998_0.34342_83.72483_-11740'>IDENT__741.9776_0.35284_83.28859_-12018__2_SQUARE'>LOGIST 805.1902 0.36756 81.61074 -11730
1 SQUARE
IDENT
741.9776 0.35284 83.28859 -12018
2 SQUARE
IDENT
721.1185 0.34784 83.47315 -11988
3 SIN
IDENT
709.7786 0.34510 83.79195 -11882
4 SQUARE
IDENT
702.8998 0.34342 83.72483 -11740
All 40 optimizations were very efficient with about 5 iterations per optimization and
less than 10 function calls per optimization:
*** Total Number of Runs through Data :
27
*** Total Number of NL Optimizations
:
40
*** Total Number of Iterations in NLP :
219
*** Total Number Function Calls in NLP:
392
In this application those solutions were selected which had the smallest Sum-of-
Squares Error. By specifying the selcrit=acc option we can instead select the so-
lutions with the largest accuracy rate:
proc dmneurl data=dmdbout dmdbcat=outcat
outclass=oclass outest=estout out=dsout outfit=ofit
ptable maxcomp=3 maxstage=5 selcrit=acc;
var LOAN MORTDUE VALUE REASON JOB YOJ DEROG DELINQ
CLAGE NINQ CLNO DEBTINC;
target BAD;
run;
Purpose of PROC DMNEURL
§
13
The following output only shows the summary table. For this example, the total ac-
curacy was slightly increased in all stages except the second. However, this behavior
must not always be true for other examples.
Summary Table Across Stages
Stage Activation Link
SSE
RMSE
Accuracy
AIC
0 ARCTAN
LOGIST 805.8911 0.36772 81.77852 -11725
1 SQUARE
IDENT
746.6223 0.35394 83.27181 -11981
2 LOGIST
IDENT
730.7282 0.35015 83.85906 -11909
3 EXP
IDENT
714.0782 0.34614 84.02685 -11846
4 COS
IDENT
711.5807 0.34553 83.97651 -11667
Application: HMEQ Data Set:
Interval Target LOAN
Now we show the specification and results of PROC DMNEURL for the interval
target LOAN. First we have to obtain the DMDB data set and catalog from the raw
data set:
libname sampsio ’/sas/a612/dmine/sampsio’;
proc dmdb batch data=sampsio.hmeq out=dmdbout dmdbcat=outcat;
var LOAN MORTDUE VALUE YOJ DELINQ CLAGE NINQ CLNO DEBTINC;
class BAD(ASC) REASON(ASC) JOB(ASC) DEROG(ASC);
target LOAN;
run;
The PROC DMNEURL call is very similar, but here 5 stages with each 3 components
(
Ô
) are specified:
proc dmneurl data=dmdbout dmdbcat=outcat
outclass=oclass outest=estout out=dsout outfit=ofit
ptable maxcomp=3 maxstage=6;
var BAD MORTDUE VALUE REASON JOB YOJ DEROG DELINQ
CLAGE NINQ CLNO DEBTINC;
target LOAN;
run;
The link function for interval target is by default specified as the identity:
The DMNEURL Procedure
Interval Target
LOAN
Number Observations
5960
NOBS w/o Missing Target
5960
Target Range
[ 1100, 89900]
Link Function
IDENT
Selection Criterion
SSE
Optimization Criterion
SSE