我正在尝试为电信客户流失建立Logistic回归模型。
某些背景:为预测客户流失,我们的数据集包含变量的数据,例如Account_Age,Current_Bill_Amount,Avg_Days_Delinquent(自未付账单以来的天数),投诉,Avg_Calls等。
我的问题与投诉变量有关。如图所示,投诉变量已转换为5个虚拟变量,因为有6个投诉类别。创建了5个虚拟列,从而排除了“定价”投诉。
现在,如有关“通话质量”的图像投诉所示,“结算问题”具有较高的绝对率和百分比流失率,而其他投诉类型对流失率的影响不大。
图片可能不会在您的末尾显示,因此它们的链接为:https://imgur.com/88zHamt https://imgur.com/8WR19C0
关于投诉对客户流失的影响,我有两个问题。
问题1:
该算法未将“通话质量”视为重要变量,并且P值为0.527。假设有81%的客户(参考图片)抱怨“通话质量”,该算法给出了矛盾的结果。无法理解为什么会这样,通话质量肯定会影响客户流失率。请分享您对此的想法。
问题2:
模型显着变量的系数(P <0.05)“账单问题”,“支票帐户”和“移动”分别为-1.0033,-2.5675和-2.1132。常识是,当有投诉时,应增加客户流失率,因此系数应为正。那为什么这3个虚拟变量算法要计算负系数呢?
让我知道您是否需要更多信息或需要澄清。
import statsmodels.api as sm
logReg=sm.Logit(Y_train,X_train)
logistic_regression=logReg.fit()
logistic_regression.summary()
对问题1和2的答案是预期的结果。
答案 0 :(得分:3)
问题1:
p值是系数不为null的概率,不是特征的重要性,即使它经常被解释为它。 您在这里可以真正得出的结论是,不可能(很有把握地)断定该系数不为空。检查您的值的95%置信区间,该区间会很宽泛,并包括系数的正值。
作为一个例子,一个可能的解释可能是该变量与其他变量一起携带了冗余信息,这可以解释为什么算法无法说明其有用性。 尝试向前或向后选择以删除迭代选择的相关变量,这可能会更改最终选择。
问题2:
系数绝对为负绝对没有问题。
实际上,您要使用逻辑回归建模的是:
P(客户流失)= 1 /(1 + exp(sum(beta_i * x_i))(see on wikipedia as an example)
beta_i是变量x_i的系数
您会看到负系数降低了流失几率。
在这里,您使用的用户组带有已报告的投诉(我看不到“不投诉”类别),根据链接的图片,用户流失的概率为48.5%。
因此,“默认”流失概率为48.5%, 但是,虚拟变量“移动”的流失概率仅为13.7%。 因此,添加用户抱怨类别为“移动”的信息可以降低流失的可能性。因此,负系数与“帐单问题”和“支票帐户”相同。
现在,如果您添加整个用户组,则任何类型的投诉都可能会增加流失率,并且您将获得正系数。