Close Menu
    Trending
    • Optimizing Data Transfer in Distributed AI/ML Training Workloads
    • Achieving 5x Agentic Coding Performance with Few-Shot Prompting
    • Why the Sophistication of Your Prompt Correlates Almost Perfectly with the Sophistication of the Response, as Research by Anthropic Found
    • From Transactions to Trends: Predict When a Customer Is About to Stop Buying
    • America’s coming war over AI regulation
    • “Dr. Google” had its issues. Can ChatGPT Health do better?
    • Evaluating Multi-Step LLM-Generated Content: Why Customer Journeys Require Structural Metrics
    • Why SaaS Product Management Is the Best Domain for Data-Driven Professionals in 2026
    ProfitlyAI
    • Home
    • Latest News
    • AI Technology
    • Latest AI Innovations
    • AI Tools & Technologies
    • Artificial Intelligence
    ProfitlyAI
    Home » When Shapley Values Break: A Guide to Robust Model Explainability
    Artificial Intelligence

    When Shapley Values Break: A Guide to Robust Model Explainability

    ProfitlyAIBy ProfitlyAIJanuary 15, 2026No Comments10 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Explainability in AI is important for gaining belief in mannequin predictions and is very necessary for bettering mannequin robustness. Good explainability typically acts as a debugging instrument, revealing flaws within the mannequin coaching course of. Whereas Shapley Values have develop into the business customary for this activity, we should ask: Do they at all times work? And critically, the place do they fail?

    To grasp the place Shapley values fail, the most effective method is to manage the bottom reality. We are going to begin with a easy linear mannequin, after which systematically break down the reason. By observing how Shapley values react to those managed modifications, we are able to exactly establish precisely the place they yield deceptive outcomes and methods to repair them.

    The Toy Mannequin

    We are going to begin with a mannequin with 100 uniform random variables.

    import numpy as np
    from sklearn.linear_model import LinearRegression
    import shap
    
    def get_shapley_values_linear_independent_variables(
        weights: np.ndarray, knowledge: np.ndarray
    ) -> np.ndarray:
        return weights * knowledge
    
    # High examine the theoretical outcomes with shap package deal
    def get_shap(weights: np.ndarray, knowledge: np.ndarray):
        mannequin = LinearRegression()
        mannequin.coef_ = weights  # Inject your weights
        mannequin.intercept_ = 0
        background = np.zeros((1, weights.form[0]))
        explainer = shap.LinearExplainer(mannequin, background) # Assumes unbiased between all options
        outcomes = explainer.shap_values(knowledge) 
        return outcomes
    
    DIM_SPACE = 100
    
    np.random.seed(42)
    # Generate random weights and knowledge
    weights = np.random.rand(DIM_SPACE)
    knowledge = np.random.rand(1, DIM_SPACE)
    
    # Set particular values to check our instinct
    # Function 0: Excessive weight (10), Function 1: Zero weight
    weights[0] = 10
    weights[1] = 0
    # Set maximal worth for the primary two options
    knowledge[0, 0:2] = 1
    
    shap_res = get_shapley_values_linear_independent_variables(weights, knowledge)
    shap_res_pacakge = get_shap(weights, knowledge)
    idx_max = shap_res.argmax()
    idx_min = shap_res.argmin()
    
    print(
        f"Anticipated: idx_max 0, idx_min 1nActual: idx_max {idx_max},  idx_min: {idx_min}"
    )
    
    print(abs(shap_res_pacakge - shap_res).max()) # No distinction

    On this simple instance, the place all variables are unbiased, the calculation simplifies dramatically.

    Recall that the Shapley components relies on the marginal contribution of every function, the distinction within the mannequin’s output when a variable is added to a coalition of recognized options versus when it’s absent.

    [ V(S∪{i}) – V(S)
    ]

    For the reason that variables are unbiased, the particular mixture of pre-selected options (S) doesn’t affect the contribution of function i. The impact of pre-selected and non-selected options cancel one another out throughout the subtraction, having no influence on the affect of function i. Thus, the calculation reduces to measuring the marginal impact of function i immediately on the mannequin output:

    [ W_i · X_i ]

    The result’s each intuitive and works as anticipated. As a result of there isn’t any interference from different options, the contribution relies upon solely on the function’s weight and its present worth. Consequently, the function with the biggest mixture of weight and worth is probably the most contributing function. In our case, function index 0 has a weight of 10 and a price of 1.

    Let’s Break Issues

    Now, we’ll introduce dependencies to see the place Shapley values begin to fail.

    On this state of affairs, we’ll artificially induce good correlation by duplicating probably the most influential function (index 0) 100 instances. This leads to a brand new mannequin with 200 options, the place 100 options are similar copies of our unique prime contributor and unbiased of the remainder of the 99 options. To finish the setup, we assign a zero weight to all these added duplicate options. This ensures the mannequin’s predictions stay unchanged. We’re solely altering the construction of the enter knowledge, not the output. Whereas this setup appears excessive, it mirrors a typical real-world state of affairs: taking a recognized necessary sign and creating a number of derived options (comparable to rolling averages, lags, or mathematical transformations) to higher seize its data.

    Nevertheless, as a result of the unique Function 0 and its new copies are completely dependent, the Shapley calculation modifications.

    Based mostly on the Symmetry Axiom: if two options contribute equally to the mannequin (on this case, by carrying the identical data), they need to obtain equal credit score.

    Intuitively, figuring out the worth of anyone clone reveals the complete data of the group. Consequently, the large contribution we beforehand noticed for the only function is now break up equally throughout it and its 100 clones. The “sign” will get diluted, making the first driver of the mannequin seem a lot much less necessary than it really is.
    Right here is the corresponding code:

    import numpy as np
    from sklearn.linear_model import LinearRegression
    import shap
    
    def get_shapley_values_linear_correlated(
        weights: np.ndarray, knowledge: np.ndarray
    ) -> np.ndarray:
        res = weights * knowledge
        duplicated_indices = np.array(
            [0] + record(vary(knowledge.form[1] - DUPLICATE_FACTOR, knowledge.form[1]))
        )
        # we'll sum these contributions and break up contribution amongst them
        full_contrib = np.sum(res[:, duplicated_indices], axis=1)
        duplicate_feature_factor = np.ones(knowledge.form[1])
        duplicate_feature_factor[duplicated_indices] = 1 / (DUPLICATE_FACTOR + 1)
        full_contrib = np.tile(full_contrib, (DUPLICATE_FACTOR+1, 1)).T
        res[:, duplicated_indices] = full_contrib
        res *= duplicate_feature_factor
        return res
    
    def get_shap(weights: np.ndarray, knowledge: np.ndarray):
        mannequin = LinearRegression()
        mannequin.coef_ = weights  # Inject your weights
        mannequin.intercept_ = 0
        explainer = shap.LinearExplainer(mannequin, knowledge, feature_perturbation="correlation_dependent")    
        outcomes = explainer.shap_values(knowledge)
        return outcomes
    
    DIM_SPACE = 100
    DUPLICATE_FACTOR = 100
    
    np.random.seed(42)
    weights = np.random.rand(DIM_SPACE)
    weights[0] = 10
    weights[1] = 0
    knowledge = np.random.rand(10000, DIM_SPACE)
    knowledge[0, 0:2] = 1
    
    # Duplicate copy of function 0, 100 instances:
    dup_data = np.tile(knowledge[:, 0], (DUPLICATE_FACTOR, 1)).T
    knowledge = np.concatenate((knowledge, dup_data), axis=1)
    # We are going to put zero weight for all these added options:
    weights = np.concatenate((weights, np.tile(0, (DUPLICATE_FACTOR))))
    
    
    shap_res = get_shapley_values_linear_correlated(weights, knowledge)
    
    shap_res = shap_res[0, :] # Take First report to check outcomes
    idx_max = shap_res.argmax()
    idx_min = shap_res.argmin()
    
    print(f"Anticipated: idx_max 0, idx_min 1nActual: idx_max {idx_max},  idx_min: {idx_min}")

    That is clearly not what we meant and fails to offer an excellent clarification to mannequin conduct. Ideally, we would like the reason to mirror the bottom reality: Function 0 is the first driver (with a weight of 10), whereas the duplicated options (indices 101–200) are merely redundant copies with zero weight. As a substitute of diluting the sign throughout all copies, we might clearly favor an attribution that highlights the true supply of the sign.

    Be aware: If you happen to run this utilizing Python shap package deal, you would possibly discover the outcomes are comparable however not similar to our handbook calculation. It is because calculating Shapley values is computationally infeasible. Subsequently libraries like shap depend on approximation strategies which barely introduce variance.

    Picture by creator (generated with Google Gemini).

    Can We Repair This?

    Since correlation and dependencies between options are extraordinarily widespread, we can not ignore this situation.

    On the one hand, Shapley values do account for these dependencies. A function with a coefficient of 0 in a linear mannequin and no direct impact on the output receives a non-zero contribution as a result of it comprises data shared with different options. Nevertheless, this conduct, pushed by the Symmetry Axiom, shouldn’t be at all times what we would like for sensible explainability. Whereas “pretty” splitting the credit score amongst correlated options is mathematically sound, it typically hides the true drivers of the mannequin.

    A number of methods can deal with this, and we’ll discover them.

    Grouping Options

    This method is especially essential for high-dimensional function area fashions, the place function correlation is inevitable. In these settings, trying to attribute particular contributions to each single variable is usually noisy and computationally unstable. As a substitute, we are able to combination comparable options that symbolize the identical idea right into a single group. A useful analogy is from picture classification: if we wish to clarify why a mannequin predicts “cat” as a substitute of a “canine”, inspecting particular person pixels shouldn’t be significant. Nevertheless, if we group pixels into “patches” (e.g., ears, tail), the reason turns into instantly interpretable. By making use of this similar logic to tabular knowledge, we are able to calculate the contribution of the group slightly than splitting it arbitrarily amongst its elements.

    This may be achieved in two methods: by merely summing the Shapley values inside every group or by immediately calculating the group’s contribution. Within the direct methodology, we deal with the group as a single entity. As a substitute of toggling particular person options, we deal with the presence and absence of the group as simultaneous presence or absence of all options inside it. This reduces the dimensionality of the issue, making the estimation sooner, extra correct, and extra steady.

    Picture by creator (generated with Google Gemini).

    The Winner Takes It All

    Whereas grouping is efficient, it has limitations. It requires defining the teams beforehand and infrequently ignores correlations between these teams.

    This results in “clarification redundancy”. Returning to our instance, if the 101 cloned options usually are not pre-grouped, the output will repeat these 101 options with the identical contribution 101 instances. That is overwhelming, repetitive, and functionally ineffective. Efficient explainability ought to cut back the redundancy and present one thing new to the person every time.

    To attain this, we are able to create a grasping iterative course of. As a substitute of calculating all values without delay, we are able to choose options step-by-step:

    1. Choose the “Winner”: Determine the only function (or group) with the very best particular person contribution
    2. Situation the Subsequent Step: Re-evaluate the remaining options, assuming the options from the earlier step are already recognized. We are going to incorporate them within the subset of pre-selected options S within the shapley worth every time.
    3. Repeat: Ask the mannequin: “On condition that the person already is aware of about Function A, B, C, which remaining function contributes probably the most data?”

    By recalculating Shapley values (or marginal contributions) conditioned on the pre-selected options, we be sure that redundant options successfully drop to zero. If Function A and Function B are similar and Function A is chosen first, Function B now not offers new data. It’s mechanically filtered out, leaving a clear, concise record of distinct drivers.

    Picture by creator (generated with Google Gemini).

    Be aware: Yow will discover an implementation of this direct group and grasping iterative calculation in our Python package deal medpython.
    Full disclosure: I’m a co-author of this open-source package deal.

    Actual World Validation

    Whereas this toy mannequin demonstrates mathematical flaws in shapley values methodology, how does it work in real-life situations?

    We utilized these strategies of Grouped Shapley with Winner takes all of it, moreover with extra strategies (which are out of scope for this publish, possibly subsequent time), in complicated scientific settings utilized in healthcare. Our fashions make the most of tons of of options with robust correlation that have been grouped into dozens of ideas.

    This methodology was validated throughout a number of fashions in a blinded setting when our clinicians weren’t conscious which methodology they have been inspecting, and outperformed the vanilla Shapley values by their rankings. Every method contributed above the earlier experiment in a multi-step experiment. Moreover, our workforce utilized these explainability enhancements as a part of our submission to the CMS Well being AI Problem, the place we have been chosen as award winners.

    Picture by the Facilities for Medicare & Medicaid Companies (CMS)

    Conclusion

    Shapley values are the gold customary for mannequin explainability, offering a mathematically rigorous option to attribute credit score.
    Nevertheless, as we have now seen, mathematical “correctness” doesn’t at all times translate into efficient explainability.

    When options are extremely correlated, the sign may be diluted, hiding the true drivers of your mannequin behind a wall of redundancy.

    We explored two methods to repair this:

    1. Grouping: Combination options right into a single idea
    2. Iterative Choice: conditioning on already offered ideas to squeeze out solely new data, successfully stripping away redundancy.

    By acknowledging these limitations, we are able to guarantee our explanations are significant and useful.

    If you happen to discovered this convenient, let’s join on LinkedIn



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleHow to Run Coding Agents in Parallel
    Next Article The Great Data Closure: Why Databricks and Snowflake Are Hitting Their Ceiling
    ProfitlyAI
    • Website

    Related Posts

    Artificial Intelligence

    Optimizing Data Transfer in Distributed AI/ML Training Workloads

    January 23, 2026
    Artificial Intelligence

    Achieving 5x Agentic Coding Performance with Few-Shot Prompting

    January 23, 2026
    Artificial Intelligence

    Why the Sophistication of Your Prompt Correlates Almost Perfectly with the Sophistication of the Response, as Research by Anthropic Found

    January 23, 2026
    Add A Comment
    Leave A Reply Cancel Reply

    Top Posts

    Nano Banana kommer till Google Sök, NotebookLM och Foton

    October 15, 2025

    Agentic AI in Finance: Opportunities and Challenges for Indonesia

    October 22, 2025

    What My GPT Stylist Taught Me About Prompting Better

    May 10, 2025

    Generating Consistent Imagery with Gemini

    September 23, 2025

    New AGI Warnings, OpenAI Suggests Government Policy, Sam Altman Teases Creative Writing Model, Claude Web Search & Apple’s AI Woes

    April 12, 2025
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    Most Popular

    The Machine Learning “Advent Calendar” Day 17: Neural Network Regressor in Excel

    December 17, 2025

    Binance’s CZ Says Satoshi Nakamoto May Not Be Human, Possibly AI From the Future

    April 29, 2025

    Tracking Drill-Through Actions on Power BI Report Titles

    July 14, 2025
    Our Picks

    Optimizing Data Transfer in Distributed AI/ML Training Workloads

    January 23, 2026

    Achieving 5x Agentic Coding Performance with Few-Shot Prompting

    January 23, 2026

    Why the Sophistication of Your Prompt Correlates Almost Perfectly with the Sophistication of the Response, as Research by Anthropic Found

    January 23, 2026
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • About us
    • Contact us
    Copyright © 2025 ProfitlyAI All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.