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

Hi!  Goldstein, Kapelner, Bleich, and Pitkin developed a nice tool for visualizing models estimated by any supervised learning algorithm, called ICE plots (see "Peeking Inside the Black Box: Visualizing Statistical Learning with Plots of Individual Conditional Expectation" https://www.researchgate.net/publication/257028373_Peeking_Inside_the_Black_Box_Visualizing_Statisti...).  Naturally there is an R package implementation (ICEbox).  Does SAS have an implementation, or any plans for producing one?  Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
rayIII
SAS Employee

Sorry for the late response but I just saw this and happen to be reading the ICE article. 

 

This link shows one way to do partial dependence plots in SAS. The example uses regression but the technique is model agnostic. 

 

https://qizeresearch.wordpress.com/2013/12/12/partial-dependence-plot/

 

For ICE plots you simply skip the aggregation of the yHats, i.e., you plot each observation vector over the range of X values of the variable of interest. I like to overlay the PD function on the individual curves, as it gives you an idea of individual differences around the overall tendency, and it can help to discover interactions and interesting subgroups. There are examples of this in the ICE paper. 

 

Just note that scalability may be in issue with big data (lots of rows or high cardinality inputs) and there may be visualization challenges (clutter) because ICE gives you a separate curve for each observation in your dataset. Thus, you might consider sampling the "other" rows or binning the values of the variable of interest (especially high cardinality interval model inputs). Other tricks can be applied as well to select the interesting curves rather than plotting them all.  

 

Hope this helps. 

 

Ray

 

View solution in original post

2 REPLIES 2
Ksharp
Super User
It is more like EFFECTPLOT statement in SAS.
Check:

http://blogs.sas.com/content/iml/2016/03/21/statistical-analysis-stephen-curry-shooting.html

http://blogs.sas.com/content/iml/2016/06/22/sas-effectplot-statement.html


rayIII
SAS Employee

Sorry for the late response but I just saw this and happen to be reading the ICE article. 

 

This link shows one way to do partial dependence plots in SAS. The example uses regression but the technique is model agnostic. 

 

https://qizeresearch.wordpress.com/2013/12/12/partial-dependence-plot/

 

For ICE plots you simply skip the aggregation of the yHats, i.e., you plot each observation vector over the range of X values of the variable of interest. I like to overlay the PD function on the individual curves, as it gives you an idea of individual differences around the overall tendency, and it can help to discover interactions and interesting subgroups. There are examples of this in the ICE paper. 

 

Just note that scalability may be in issue with big data (lots of rows or high cardinality inputs) and there may be visualization challenges (clutter) because ICE gives you a separate curve for each observation in your dataset. Thus, you might consider sampling the "other" rows or binning the values of the variable of interest (especially high cardinality interval model inputs). Other tricks can be applied as well to select the interesting curves rather than plotting them all.  

 

Hope this helps. 

 

Ray

 

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!

How to choose a machine learning algorithm

Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 2 replies
  • 2099 views
  • 0 likes
  • 3 in conversation