BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Trent
Fluorite | Level 6

 

Hi folks,

 

 

Apologies in advance if this belongs in a different forum, but it's posted here because I'm doing all this in Enterprise Guide.

 

I have problem whereby a proc hpsplit program running on my local machine (SAS 9.4, local server) does not display expected ODS output - it only shows 'PerformanceInfo' and 'DataAccessInfo tables.

 

The procedure is running without an issue and happily produces other output including dataset, rules file and code file, but the SAS report output stubbornly refuses to show all the other extremely useful tables like Model Information, Confusion Matrices etc.

 

Doubly confusing because testing the same proc hpsplit on a different machine (SAS server installation using EG 5.1 x64), all expected ODS results do appear.

 

I've tried changing various options in the hpsplit procedure itself to no avail.

 

I have almost zero working knowledge of ODS but got as far as locating the reference below:

SAS Documentation - HPSPLIT Procedure - ODS Table Names

 

I tried running an ODS TRACE ON on the offending machine to see what was being produced, and only these two tables appeared in the logs: 

 

Output Added:
-------------
Name: PerformanceInfo
Label: Performance Information
Template: HPA.Common.PerfInfo
Path: HPSplit.PerformanceInfo
-------------
Output Added:
-------------
Name: DataAccessInfo
Label: Data Access Information
Template: HPA.Common.DataAccessInfo
Path: HPSplit.DataAccessInfo
-------------

 

I then tried running an ODS TRACE ON on the SAS server-based installation, and all the expected tables appeared.

 

 

Output Added:
-------------
Name: PerformanceInfo
Label: Performance Information
Template: HPA.Common.PerfInfo
Path: HPSplit.PerformanceInfo
-------------
Output Added:
-------------
Name: DataAccessInfo
Label: Data Access Information
Template: HPA.Common.DataAccessInfo
Path: HPSplit.DataAccessInfo
-------------
NOTE: PROC HPSPLIT is modeling the event TARGET_THING=1 for sensitivity, specificity, AUC, and ROC curve calculations.

Output Added:
-------------
Name: ModelInfo
2 The SAS System 10:54 Tuesday, April 18, 2017
Label: Model Information
Template: HPStat.HPSplit.ModelInfo
Path: HPSplit.ModelInfo
-------------
Output Added:
-------------
Name: NObs
Label: Observation Information
Template: HPStat.HPSplit.NObs
Path: HPSplit.NObs
-------------
Output Added:
-------------
Name: ConfusionMatrix
Label: Confusion Matrices
Template: HPStat.HPSplit.ConfusionMatrix
Path: HPSplit.ModelAssessment.ConfusionMatrix
-------------
Output Added:
-------------
Name: TreePerformance
Label: Fit Statistics
Template: HPStat.HPSplit.TreePerformance
Path: HPSplit.ModelAssessment.TreePerformance
-------------
Output Added:
-------------
Name: VarImportance
Label: Variable Importance
Template: HPStat.HPSplit.VarImportance
Path: HPSplit.ModelAssessment.VarImportance

 

I also checked installed modules on both local and remote server environments using proc setinit, and they both appear the same (ie both have among other things SAS/STAT and High Performance Suite installed)

 

Any suggestions would be greatly appreciated.

 

1 ACCEPTED SOLUTION

Accepted Solutions
ChrisHemedinger
Community Manager

Can you verify the version of SAS that you have locally? PROC HPSPLIT was greatly expanded in the releases of SAS/STAT 12.1 through 14.2.  Check the opening log output from your local SAS. If using EG, you can find your the relevant parts of your SAS log with this technique.

It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.

View solution in original post

11 REPLIES 11
ChrisHemedinger
Community Manager

I moved this thread to the Stat Procs board, since this is where the experts for HPSPLIT will be.

 

Since you're running in EG, you might want to make sure that you include:

 

 ods graphics on;

 

At the start of your program -- that will influence how the PROC generates the graphics.

 

Also, make sure the data you're using is the same between the environments you tested.  Maybe grab one of the HPSPLIT code examples from the SAS doc and run it in each environment.

It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.
Trent
Fluorite | Level 6

Thanks for the suggestions Chris,

 

Unfortunately there was no change at all on the local server machine after adding ODS GRAPHICS ON above procedure (although this did add extra output to the SAS server machine's report - see attached GoodOutput.png), or

 

Comparing identical code on both installations (pasted below) still yields exactly the same results - the two Performance and Data access tables only on the local server machine, but a wealth of useful tables and charts on the remote SAS server machine.

  

I try all combinations of ods select / graphics / trace on and off, and apart from being able to turn off the same two tables the program still wont produce any other table or graph in the report (see attached BadOutput.png).

 

Would you have any other ideas for what may be inhibiting ODS output?

 

FYI - Test code used on both machines: 

 

/*tried with various combinations of ods statements below*/

ods trace on; ods graphics on;
ods select all; proc hpsplit data=sashelp.cars; target origin / level=nominal; input msrp cylinders length wheelbase mpg_city mpg_highway invoice weight horsepower / level=interval; input enginesize / level=ordinal; input drivetrain type / level=nominal; output nodestats=nstat; run;

 

 


BadOutput.pngGoodOutput.png
ChrisHemedinger
Community Manager

Can you verify the version of SAS that you have locally? PROC HPSPLIT was greatly expanded in the releases of SAS/STAT 12.1 through 14.2.  Check the opening log output from your local SAS. If using EG, you can find your the relevant parts of your SAS log with this technique.

It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.
Trent
Fluorite | Level 6

Thanks for the tip Chris, I think you may have the explanation.

 

For the 'problem' machine the, log says

 

NOTE: Updated analytical products:

SAS/STAT 13.2

 

 

For the 'good' machine the log says

 

NOTE: Updated analytical products:
      
SAS/STAT 14.1

 

 

Lo and behold, in the "What’s New in SAS/STAT14.1" guide...

 

"HPSPLIT Procedure The HPSPLIT procedure supports the MODEL and CLASS statements, making its syntax comparable to that of other SAS/STAT modeling procedures. Cost-complexity pruning is supported, with k-fold cross validation as the default method of selecting the penalty parameter. ODS tables provide confusion matrices for training and validation data; fit statistics for the selected tree; and information about cross validation, nodes, and variable importance. You can generate tree plots, cross validation plots, and ROC curves. You can save observationwise results, including node and leaf assignments, predicted levels, posterior probabilities for classification trees, and predicted response values for regression trees in an output data set"

 

 

So I'll mark this one as answered.  Hopefully I can get that SAS/STAT module updated on my local machine.

 

Thanks again,

Trent

 

 

cvnation
Calcite | Level 5

I've been trying for a couple of hours to get this to work on Unix batch program.  After searching the internet and not finding anything to help, this answered my problem.  We are running SAS/STAT 13.1......time to upgrade!

Rick_SAS
SAS Super FREQ

The simplest test is to put

ODS SELECT ALL;

before your call to the procedure and see if that changes anything. Perhaps there is an ODS SELECT or ODS EXCLUDE statement that you are not aware of.

Trent
Fluorite | Level 6

Thanks Rick,

 

This didn't have any effect either (see above reply to Chris) - the local machine still stubbornly displays only the two basic tables with zero model information, even with ODS SELECT ALL or ODS GRAPHICS ON.

 

This makes me wonder about differences in the two SAS environments.  They both have SAS/STAT and High Performance Suite intalled, and both outputs say executionp mode was 'Single-Machine', but perhaps there is some hidden difference?

JTho
Calcite | Level 5

I am running into the same issue...PROC HPSPLIT results are not displaying. I confirmed HPSPLIT is, in fact, building a classificaiton tree by outputting node statitistics (output nodestats=nstat). HPSPLIT is generating all sorts of output, but none appears in the Results window.

 

I realize I'm a few weeks late to the discussion, but any new insights.

 

Much appreciated.

 

 

ChrisHemedinger
Community Manager

Hey @JTho - can you confirm the version of SAS that you're running?  Run:

 

proc product_status; run;

 

Sample output:

For Base SAS Software ...
   Custom version information: 9.4_M4
   Image version information: 9.04.01M4P110916
For SAS/STAT ...
   Custom version information: 14.2
For SAS/GRAPH ...
   Custom version information: 9.4_M4
For SAS/ETS ...
   Custom version information: 14.2
It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.
JTho
Calcite | Level 5
Thank you. Here it is.


For Base SAS Software ...

Custom version information: 9.4_M1

Image version information: 9.04.01M1P120413

For SAS/STAT ...

Custom version information: 13.1

For SAS/GRAPH ...

Custom version information: 9.4_M1

For SAS/ETS ...

Custom version information: 13.1

For SAS/OR ...

Custom version information: 13.1

For SAS/IML ...

Custom version information: 13.1

For SAS/QC ...

Custom version information: 13.1

For SAS/CONNECT ...

Custom version information: 9.4_M1

For SAS Enterprise Miner ...

Custom version information: 13.1

For SAS Integration Technologies ...

Custom version information: 9.4_M1

For SAS/Secure 168-bit ...

Custom version information: 9.4

Image version information: 9.04.01M0P061913

For High Performance Suite ...

Custom version information: 2.1_M1

For SAS/ACCESS Interface to PC Files ...

Custom version information: 9.4_M1

For SAS/ACCESS Interface to Microsoft SQL Server ...

Custom version information: 9.4

Image version information: 9.04.01M0P061913

NOTE: PROCEDURE PRODUCT_STATUS used (Total process time):

real time 0.25 seconds

cpu time 0.03 seconds

ChrisHemedinger
Community Manager

Looks like tree plots and some other output were added in SAS/STAT 14.1:

 

http://support.sas.com/documentation/cdl/en/statug/68162/HTML/default/viewer.htm#statug_whatsnew_sec...

It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 11 replies
  • 7165 views
  • 4 likes
  • 5 in conversation