Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

understanding synergy asymmetry #252

Closed
Francesco-Marini opened this issue Mar 4, 2021 · 3 comments
Closed

understanding synergy asymmetry #252

Francesco-Marini opened this issue Mar 4, 2021 · 3 comments
Assignees
Labels
help wanted Extra attention is needed

Comments

@Francesco-Marini
Copy link

Hi,

Thanks for sharing the package, it is very interesting. I'm trying to understand how synergy works more in detail, but I haven't find a satisfactory answer so far.

1. If synergy (as well as redundancy) relies on the SHAP interaction values, which are symmetric, how do you make it asymmetric ? How would you describe the big steps to compute this metric ?

Intuitively, I better understand what a symmetric interaction is - in a certain way, it quantifies what are the additional contributions on the output when the features are together - but giving an asymmetric definition is harder. In the examples, you mention terms such as "the feature is autonomous" or "a feature gets you much closer to a prediction than another" but it is a bit vague and/or I don't see how this is related to feature interaction, but rather to feature importance / correlation.

2. From a practical standpoint, redundancy is a bit easier to understand and can lead to some feature selection (basically if features share the same info, you could think of removing one), but what are the implications of synergy ?

If for example a feature pair has high synergy in one direction and low in the other, what should I conclude ? Should I do some feature selection with it ?

3. Also, if you have some details about the math behind it (a paper or a description), it would be great ! I looked into the code but it is a bit hard to understand it from there

Thanks a lot !

@konst-int-i konst-int-i added the help wanted Extra attention is needed label Mar 4, 2021
@j-ittner
Copy link
Member

Hi Francesco,

thanks for your note! We are working on a paper to explain the math - I will have to ask for your patience and we'll make it available here on GitHub once we are done; we are also working on some simplifications to the calculation approach so hopefully the explainer code in FACET 1.1 will be a bit easier to follow.

Good questions on synergy! As an intuition of asymmetry, consider that a feature A might hold more information that is also represented by B than the other way round. Then A has more to contribute to B, than vice-versa. So an asymmetry in the matrix reflects an asymmetry in how relevant information is distributed across a pair of features.

From a practical perspective, redundancy may well serve as a means of feature reduction, however one main use is to ensure that a feature is independent before using it in a simulation / partial dependence plot. This is to prevent simulations of impossible scenarios: redundancy between two features tells us that the value of one features imposes constraints on the value of another feature.

Synergy can be ignored in that context, but can give you insights into where interactions take place among features if you are looking for new hypotheses to explain a certain effect, for example.

So in that sense, redundancy is a backward-looking view of dependencies (between values of the input features), whereas synergy is a forward-looking view into impact on predictions.

Hope that makes sense!

@alielabridi
Copy link

Hi Jan,

Would it be possible to give a high-level idea on how SHAP values are used to calculate synergy and redundancy, or code pointers on where the main logic of it is?

Thanks,
Ali

@j-ittner
Copy link
Member

@Francesco-Marini @alielabridi sorry for the delay! We have now published a preprint on Arxiv that explains the formal aspects of the synergy/redundancy/independence approach. Happy to hear your comments!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants