我正在实施逻辑回归以在R中创建破产预测模型。我的数据包括许多公司的财务比率,我将其归类为"坏"值为0和"良好"具有值1.
但是,某些预测变量似乎完全分开,从而产生以下警告信息:
Warning message:
glm.fit: fitted probabilities numerically 0 or 1 occurred
为了解决这个问题,我使用了一种惩罚性回归形式,即R中的brglm
包。
这导致了一个具有五个预测变量的模型(表示为X1-X5):
final_brglm <- brglm(Good1_Bad0 ~ X1 + X2 + X3 + X4 + X5, data = train_data)
该模型具有非常高的准确性,基于以下原则:
得分&#34; Y&#34; (系数B1 - B5)
Y <- intercept + B1*X2 + B2*X2 + B3*X3 + B4*X4 + B5*X5
并预测概率&#34; pred&#34;
pred <- (exp(Y)/(1+exp(Y))
当Y&gt; 0公司是好的&#34;并且对于Y&lt; 1公司是&#34;坏&#34;。
然而,得到的预测概率非常接近1或非常接近0; Y非常大(maxY = 13389261)或非常小(minY = -4719827)。两者之间没有太大的差异,因此很难在模型周围建立一个分数来预测违约/破产的可能性。
情节也表明了这一点: probability prediction - Y score
我对R比较陌生,我不知道如何处理这件事。这是否意味着分离问题尚未解决?我还读到了关于变量归一化的一些内容,我没有这样做,因为所有预测变量都是财务比率(FE销售/资产)。