当特征系数的符号在逻辑回归中发生变化时,如何根据特征系数做出决策/解释结果?
Posted
技术标签:
【中文标题】当特征系数的符号在逻辑回归中发生变化时,如何根据特征系数做出决策/解释结果?【英文标题】:How do I make decision/ interpret results from the feature coefficients when their signs change in Logistic Regression? 【发布时间】:2020-09-08 20:22:51 【问题描述】:我有一个逻辑回归模型。大约有 10 个特征,其中 3 个基本上是高度相关的(我们称它们为 x_5、x_6、x_7)。实际上 x_5 + x_6 = x_7。但它们在商业意义上都很重要。
我对数据做了一个对数转换,因为有很多零,所以我也给所有数据加了1。这意味着:
1) x_5 + x_6 = x_7
2) 我做了 log(1 + x_5)、log(1 + x_6) 和 log(1 + x_7)(还有其他功能)
然后我在不同情况下拟合逻辑回归,并检查系数。(我们分别称它们为 beta_5、beta_6、beta_7 为 x_5、x_6、x_7)。案例总结如下。 (零表示我省略了变量,即在案例 2 中我省略了 x_7)
有些事情我觉得很困惑。
1) beta_5 和 beta_6 的符号从案例 1 变为案例 2。我知道这是因为多重共线性问题。但这会影响我的 Logistic 模型的可预测性吗?
2) 从案例 1 到案例 3,beta_7 的值下降非常明显。案例 3 是否更好地解释了 x_7 的重要性?
3) 基于这一发现,我应该使用哪种情况?或者我应该如何做决定?
感谢您的帮助!
【问题讨论】:
【参考方案1】:因为你有控制方程 x5+x6 = x7,那么你可以从一开始就放弃其中一个。 为了对最终解决方案有信心,您可以申请 regularization using Lasso 以了解可以删除哪些功能。
【讨论】:
以上是关于当特征系数的符号在逻辑回归中发生变化时,如何根据特征系数做出决策/解释结果?的主要内容,如果未能解决你的问题,请参考以下文章
如何将从逻辑回归模型获得的系数映射到pyspark中的特征名称