北航经管学院石哓军副教授的文章《Logistic违约率模型最优样本配比与分界点的模拟分析》里面详细描述了使用Logistic回归来构建违约率模型的过程。原来一直以为Logistic回归很简单,就是线性回归的推广,拿数据放入SPSS/MATLAB中算一下就成了,但是这样做确实忽略了其中的很多细节。
在预测或回归的问题当中,数据集经常是这样的:
X1 X2 X3 …… Xn Y
其中X1……Xn是备选指标,在违约率模型中经常是一些客户的财务指标和经营指标等。Y是目标变量,在违约率模型中是二元离散变量,1表示违约,0表示正常。
在这么多预测模型中,Logistic回归因为对变量分布无要求被业界广泛应用,而且估计和检验方法相当成熟。下面结合石教授的那篇文章,来谈谈Logistic回归的应用:
1. 指标筛选
1.1 首先要做的是数据的正态性检验。
做正态性检验的目的就是在做统计推断时,对样本数据进行假设检验(U、T检验)要求样本数据服从正态分布。当样本数据为非正态分布或为小样本或两样本方差不等时则要用非参数检验(卡方、符号、秩和等)。
样本的正态性分布检验通常采用Shapiro-Wilk检验和Kolmogorov-Smirnov检验。Shapiro-Wilk检验适用于完全样本,样本量在8~50之间。而绝大多数情况下,样本数肯定是大于50的,因此采用Kolmogorov-Smirnov检验:
用SAS软件检验正态性:
(A)正规的正态性检验可以通过PROC UNIVARIATE中的选择项NORMAL来实现。输出结果包括6部分。其中第4部分输出正态检验结果:
当样本数N<2000时,shapiro-wilk的W统计量检验正态性;
当样本数N>2000时,Kolmogorov-Smirnov的D统计量检验正态性;检验时,根据样本计算一个统计量即检验统计量D。它把样本分布的形状和正态分布相比较,比较得出一个数值p(0<p<1,即实际的显著性水平)来描述对这个想法的怀疑程度。如果p值小于0.05(给定的显著性水平),则原假定非常可疑,认为数据不是来自正态分布,反之则认为数据来自正态分布。
(B)附加检验之一,观察正态概率图,如果数据来自正态分布,图形的散点应该呈现一条直线。用Plot绘制正态分布的概率图,里面的“+”构成一条直线(正态分布数据概率图散点应该成一条直线),“*”代表样本数据散点。根据“*”覆盖 “+”的程度,说明样本数据是否来自正态分布数据。
(C)附加检验之二,绘制数据的条形图,如果数据来自正态分布,条形图呈现“钟形”分布。用histogram绘制直方图/normal在直方图中拟合正态分布的密度曲线,可以看到,曲线几乎是个标准钟形,可以认为数据是正态分布。
(D)附加检验之三,观察描述性统计量中偏度系数(Skewness)g1和峰度系数(Kurtosis)g2,如果数据来自正态分布,则两者都应该是0(适合大样本,仅当N>30时才有效)。用g1,g2,бg1,бg2来计算U值,用U检验法。U1= 同理计算U2,要两个都小于1.96,即p大于0.05才可以。
(E)附加检验之四,茎叶图(适合小样本)
1.2 指标区分能力检验,考察每个变量对违约这个目标变量的影响是否显著.
(A)对于满足正态分布的变量采用参数检验中的检验;
(B)对于不满足正态分布的变量采用非参数检验中的Kruskal-Wallis单向评秩方差分析和Kolmogorov-Smirnov Z检验分析两种方法。
1.3 多重共线性检验
使用容许度(TOL)和方差膨胀因子(VIF)两个指标,其中TOL=1/VIF。
一般来说TOL<0.2可以认为多重共线性存在,TOL<0.1则说明多重共线性现象很严重。
建议方法:删除一些变量,再做共线性分析,直至满足要求为止。
2. 将经过筛选留下的指标设计为Logistic回归中的变量,放入到程序中去,得到系数估计值和Wald统计量。
3. 对模型的估计结果评价上,文章采用了Hosmer-Lemeshow拟合优度和预测能力两类指标。
一般地,违约的情况很少,导致了数据中的目标变量绝大多数都是标记为正常。因此需要配比抽样,也就是说如果现在全部样本总发生违约的客户只有100个,那假设配比比率为M,则需要在正常的样本中抽取100*M个样本连同全部违约的客户样本一起,组成整个模型的训练集。这样就有一个问题:设定多大的配比比率M是合适的呢?文章在不同配比比率下,得到不同的模型,再计算各个模型的Hosmer-Lemeshow拟合优度指标并比较它们,作者发现M=3时是最优的。
附件:Hosmer-Lemeshow拟合优度指标,是由Hosmer和Lemeshow在1989年研制出来的一种对Logistic模型进行拟合优度检验的方法。这种检验方法根据预测率值将数据分为大致相同规模的10个小组,按照小组内目标变量的某个取值(比如1)的预测个数多少升序排列:第一组包括预测目标变量1最小的那些样本点,最后一组包括预测目标变量1最多的那些样本点。统计量计算公式如下:
HL=∑(i=1-10)[(y(i)-n(i)*p(i))/(n(i)*p(i)*(1-p(i)))]
其中n(i)为第i组的样本个数,y(i)为第i组事件的观测数,p(i)为第i组事件的概率数,n(i)*p(i)为事件的预测数。