SHAP分析+立方样条拟合的展示可能的交互作用

SHAP分析+立方样条的拟合展示可能的交互作用

SHAP分析的另一个特点就是对交互作用的分析,计算交互作用的SHAP值,绘制相关的交互作用图表,但是仅局限于xgboost模型,其它的模型不能单独计算相互作用的SHAP值,也就不能绘制交互作用矩阵。根据资料,交互作用值+主效应值=最终预测值,这篇资料可能是全网唯一把SHAP分析交互作用讲清楚的,推荐大家了解。

提示: 以下的观点出自个人研究,仅供大家参考

如何用立方样条回归拟合两个变量

通过SHAP的散点图观察两个变量情况下,SHAP值的变化。可以看到散点图明显分成了两个部分,如果向X轴做垂线,在这条线上的SHAP值受到图右侧变量的影响。这种情况下,认为这两个变量之间具有交互作用,需要将两部分数据分开进行拟合。
在这里插入图片描述
具体做法上,还是采用ggrcs的R包,提供了分组绘制rcs图的功能,唯一需要注意的一点就是我把两个变量的SHAP值进行了相加,形成了一个新的SHAP值,代表了两个变量的共同作用。目前认为这个做法是正确的,SHAP值的特点是通过相加来反映两个变量共同的作用,可能是相互叠加,也可能是相互抵消。
在这里插入图片描述

#形成新的SHAP值
combined_df$Balance_NumOfProducts_shap<-combined_df$Balance_shap+combined_df$NumOfProducts_shap
#用于绘图的模型,方程中两个变量只是简单的相加,而不是进行相乘,这里是不是有瑕疵有待于进一步探讨
fm3<-ols(Balance_NumOfProducts_shap~rcs(Balance)+NumOfProducts_cat,data=combined_df)
注意用于绘图的模型中方程中两个变量只是简单的相加,而不是进行相乘,这里是不是有瑕疵有待于进一步探讨。

单变量的分析的结果,作为对照。
在这里插入图片描述

统计分析的一些考虑

根据统计学知识,交互作用,可以通过分层分析来实现的, 根据其中一个变量进行分组,之后,X变量与y变量之间的关系(这里是SHAP值)发生了较大的变化,则代表变量之间存在交互作用。所以,统计分析部分是不是将SHAP值分层,然后进行student‘s t检验,或者计算OR值等。

计算交互作用SHAP值

交互作用的SHAP值的计算和展示是R包或者python包的固有功能,还是推荐参考文章开头的资料进行深入了解。后续也不排除展示相关的操作。本文涉及代码存储在和鲸网站上的项目中,一键运行,欢迎查看。

总结

立方样条拟合的作用在于展示关键的点,为后续决策提供参考。根据本人已有的知识和拟合的结果来看,认为上述操作是正确的,但是也不排除存在错误的可能,欢迎大家讨论指正。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

预测模型的开发与应用研究

文中代码请大家随意

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值