R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化

信用风险建模是金融领域的重要课题,通过建立合理的信用风险模型,可以帮助金融机构更好地评估借款人的信用状况,从而有效降低信贷风险。

由Kaizong Ye,Weilong Zhang撰写

本文使用了 R 语言中的逻辑回归(logistic)模型,利用国泰安数据库中的103个上市公司的数据进行信用风险建模,其中包括51个正常公司和52个ST公司。


在这个数据集中,我们选取了经营活动产生的现金流量净额、净资产收益率、每股收益和每股净资产等指标来分析其对公司是否为ST股票的影响。

研究目的

 通过对某股票数据分析,了解经营活动产生的现金流量净额、净资产收益率… 每股收益和每股净资产对股票是否ST的影响。


可下载资源


本文分析的数据分享至会员群


数据介绍

某年度随机抽取的 102个股票。因变量是否为ST股票(0=非ST,1=ST)。为了能够预测是否为ST,我们采集了下面这些来自当年的指标:经营活动产生的现金流量净额、净资产收益率、每股收益、每股净资产。  

我们做完整的逻辑回归分析,包括参数估计、假设检验,以及预测评估和模型评价;


视频

逻辑回归Logistic模型原理和R语言分类预测冠心病风险实例

探索见解

去bilibili观看

探索更多视频


视频

分类模型评估精确率、召回率、ROC曲线、AUC与R语言生存分析时间依赖性ROC实现

探索见解

去bilibili观看

探索更多视频

数据分析与模型建立

首先,我们对数据进行了可视化分析,绘制了变量之间的散点图和计算了它们之间的相关系数。从散点图和相关系数可以看出,每股收益和每股净资产呈正相关关系,并且ST股票和非ST股票的4个变量具有显著差异,非ST股票的各项指标要高于ST股票的变量值。接着,我们进行了完整的逻辑回归分析,包括参数估计、假设检验以及预测评估和模型评价。

读取数据后查看前几行数据

image.png

js head(data)

image.png

 

因变量(是否为ST)

STindex

image.png

hero-math-of-acos-1136585848.jpg

数据分享|python分类预测职员离职:逻辑回归、梯度提升、随机森林、XGB、CatBoost、LGBM交叉验证可视化

阅读文章


可以看到ST股票和非ST股票的4个变量具有显著差异。

非ST股票的各项指标要高于ST股票的变量值。

因此进行逻辑回归模型的分析。


随时关注您喜欢的主题


逻辑回归

在逻辑回归分析中,我们将数据集随机抽取2/3作为训练集,然后进行模型拟合和评价。拟合结果显示,经营活动产生的现金流量净额、净资产收益率、每股收益和每股净资产对应的回归系数均达到了统计显著性水平,说明这些指标对股票是否为ST具有显著影响。此外,我们还对模型的预测能力进行了评价,绘制了混淆矩阵和ROC曲线,得到了较高的AUC值,表明模型具有较好的预测效果和识别能力。

随机抽取2/3作为训练集

split <- sample(1:nrow(data),nrow(data)*(2/3))
summary(fit)
image.png

从输出结果可以看出 ,回归方程为ST=   1.285e+ 1.532e-10经营活动产生的现金流量净额 +3.023e-01 净资产收益率-2.078e+00每股收益-4.586e-01 股净资产 ,变量和的统计量的估计值分别为1.285e+00、1.532e-10、3.023e-01、-2.078e+00和-4.586e-01 ,每股收益和每股净资产对应的值都比显著性水平0.05小,可得2个偏回归系p数在显著性水平0.05下均显著不为零。因此,可以认为每股收益 、每股净资产  具有显著的影响。进一步地剩余方差的估计值,deviance统计量的估计值为96.716 ,说明,回归方程效果较好。

置信区间是给定自变量值后,由回归方程得到的的流失预测值(实0y际上是的平均值)的置信区间;预测区间是实际值的置信区间,在这里称为预测区间。

可视化混淆矩阵

QQ截图20231128144503.png
image.png

可视化ROC曲线

image.png

performanedict, real ),  "auc" )@y.values[[1]]

image.png

从AUC的值来看,达到了0.8,因此可以认为模型具有较好的预测效果,同时可以看到roc曲线靠近图的左上方,说明模型对客户是否流失具有较好的识别能力,因此该模型可以作为预警系统。然后对模型的残差进行评估。

残差分析

我们进一步对模型进行了残差分析,检验了随机误差项是否独立同分布,并找出了一些离群点。针对发现的异常点,我们进行了剔除处理,并重新建立了模型。重新建立的模型同样进行了混淆矩阵和ROC曲线的评价,结果显示新模型依然具有较好的预测效果和识别能力。

残差分析可以对回归模型的假设条件即随机误差项是否独立同分布进行检验,同时还可以找出离群点。命令语句为plot(lm.1),显示结果如下

image.png

左上图是拟合值与残差的散点图,从图上可以发现,除去第3个离群点外,所有点基本上是随机地分散在纵坐标值为-1和+1的两条平行线之间,这说明随机误差项具有同方差性;左下图是拟合值与残差的标准差的散点图,其意义与上面类似;右上图表明随机误差项是服从正态分布的,其原因是正态Q-Q图近似地可以看成一条直线;右下图的CooK距离图进一步证实第3个观测值是一个离群点,它对回归方程的影响是比较大的,要根据具体问题,讨论出现这一观测值的实际背景。

异常点检测

找到异常点后进行剔除,然后进行建模

outlier=c(34,45,94 )
image.png

混淆矩阵可视化

image.png
image.png

roc曲线

image.png
performancedict, real ),  "auc" )@y.values[[1]]
image.png

从AUC的值来看,达到了0.8,因此可以认为模型具有较好的预测效果,同时可以看到roc曲线靠近图的左上方,说明模型对客户是否流失具有较好的识别能力,因此该模型可以作为预警系统。然后对模型的残差进行评估。

结论

通过本文的研究,我们建立了逻辑回归模型来分析公司是否为ST股票与其经营活动产生的现金流量净额、净资产收益率、每股收益和每股净资产之间的关系。我们发现,每股收益对股票是否为ST具有较大影响。然而,需要指出的是,ST股票的形成可能受多种因素影响,本研究只是对其中部分因素进行了分析。未来的研究可以进一步扩大样本量,引入更多潜在因素,不断完善信用风险建模方法,以提高模型的预测精度和鲁棒性。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds