回归模型评估
协变类型描述的是模型中协变量不同值的特定组合,对于一个含有分类自变量的模型来说,数据所含的协变类型的数目由每个分类自变量的情况所决定。
构造统计量:
,其中j=1,2,…,J,J是协变类型的种类数目。Oj和Ej分别为第j类协变类型中的观测频数和预测频数。
的自由度是协变类型数目与参数数目之差。
统计量很小意味着预测值与观测值之间没有显著差别,表示模型很好地拟合了数据,
统计量为0时表示模型与数据两者完全吻合;与此相反,若
统计量很大,拟合不佳。(当拟合不好时,可以用残差和其他诊断测量来描述每个自变量对模型拟合的影响,以便寻找模型不合理的原因。)
注:只适合于自变量是分类类型的情况,若模型中自变量有连续数值类型,需要事先进行离散化处理。
1.2 偏差检验
以作为设定模型所估计的最大似然值,概括了样本数据由这一模型所拟合的程度。但是这一统计量不能独立于样本规模,因此不能仅根据它的值来估计模型的拟合优度。对于同一套数据我们还必须有一个基准模型作为比较所设模型拟合优度的标准。一种基准模型为“饱和模型”,它可以完美地预测观测值。饱和模型的最大似然值为
(=1)。偏差D的公式为:
偏差越小,模型的似然概率值越大,拟合优度越好。
注:当在建立模型中涉及连续自变量时,偏差和皮尔森不适合用来检验模型拟合优度,因为这时有些协变量(即连续性自变量)有过多的不同值,导致大量的协变类型存在,从而使得许多协变类型只有很少的观测案例。因此,若要用这两种方法进行模型拟合优度检验,须事先对连续自变量进行离散化处理。
1.3 Hosmer-Lemeshow检验
这种检验首先将观测数据按照预测概率做升序排列,然后根据预测概率值将数据分为大致相同的n(eg. n=10)个组,而不管模型中有多少协变类型。第一组包括估计概率最小的那些观察案例,而最后一组包括估计概率最大的那些观测案例。Hosmer-Lemeshow(HL)指标是一种类似于pearson 统计量的指标,公式如下:
其中,表示第g组样本的观测数量,
表示第g组样本的预测数量(
),
为第g组的案例数,
为第g组的平均预测概率。
该统计量符合自由度为(n-2)的分布。和
检验类似,HL统计量很小意味着预测值与观测值之间没有显著差别,表示模型很好地拟合了数据;统计量为0时表示模型与数据两者完全吻合;与此相反,若统计量很大,拟合不佳。
1.4 信息测量指标
Akaike’s Information Criterion (AIC)
AIC的定义如下所示:
其中,K为模型中自变量的数目;S为因变量类别总数减1(对于logistic回归有S=2-1=1);n是观测数量,是所设模型的估计最大似然值的对数。当模型中的参数数量越大时,似然值也就越大,-2
的值就会变得很小,因此,将2(K+S)加到AIC公示的分子中抵消参数数量产生的影响。由于观测数也会影响似然值,因此公式中通过除以n来取得每一观测对于-2
的贡献。在其他条件不变的情况下,较小的AIC值表示拟合模型较好,AIC指标还常常用于比较不同样本的模型。
Schwarz准则 (SC)
SC指标是对AIC的一种修正,这一指标根据自变量数目和观测数量对-2值进行另外一种调整。其定义为:
其中ln(n)是观测数量的自然对数。这一指标只能用于比较对同一数据所设的不同模型。在其它条件相同时,一个模型的SC值越小说明模型拟合越好。
Bayesian Information Criterion (BIC)
定义如下:
d.f.s为模型的自由度,它等于样本规模与模型估计系数数目之差(即d.f.s=n-K-1);ln(n)为样本规模总数的自然对数。BIC具有绝对值更大的负值的模型更好。
2. 预测准确性
线性回归中的有一种十分诱人的解释特性,即它描述因变量的变动中由模型的自变量所“解释”的百分比。但是,在逻辑回归分析中却没有相应的统计指标。不过,在模型似然值对数的基础上,可以为logistic回归模型计算某种类似
的指标。
似然比指数(LRI, Likelihood Ratio Index):
与R2类似,LRI的值域是0至1,当自变量与因变量完全不相关时(即所有的回归系数为0时),LRI=0。当模型的拟合程度提高时,LRI值增加。拟合得越好,LRI值越接近1。只有当模型“完全”拟合数据时,LRI值达到1。在实际应用中,LRI的只可能非常接近1,但不会等于1。
广义线性模型判定系数:
,其中
与
分别表示所设模型与零假设模型各自的似然值,n为样本规模。这种一般定义对于线性模型能够得到经典的R2指标,但对于逻辑回归,这样定义的最大值R2的最大值却小于1。这一最大值可以通过下列公式计算:
Logistic回归的调整类判定系数:
2.2 排序相关系数(Rank Correlation Coefficient, RCC)
RCC有多种度量,这里选用Spearman排序相关系数进行度量。Spearman排序相关系数是用来衡量两个变量之间统计相关性的非参数度量。它用来评估利用一个单调函数是否能够很好地描述两个变量之间的关系。Spearman相关系数的值在-1和+1之间,这两个值代表了“完美”Spearman相关,表示其中每一个变量都是其他一个变量的完美单调函数。
Spearman相关系数被定义为“排序变量之间的Pearson相关系数”。对于n个样本,设其预测分数为Xi,观察分数为Yi,将原始分数转坏为排序数据xi,yi(比如Xi按照升序排序,其对应的Yi也按升序排序),则Spearman相关系数ρ如下式所示:
遇到相等预测值的情况,做如下处理:
Position in the descending order | ||
0.8 | 5 | 5 |
1.2 | 4 | |
1.2 | 3 | |
2.3 | 2 | 2 |
18 | 1 | 1 |
Spearman系数的一个更加简单的计算方法:
,其中,di=xi-yi是预测变量的值与观测变量的值之间的差异。
举例:
86 | 0 | 1 | 1 | 0 | 0 |
97 | 20 | 2 | 6 | −4 | 16 |
99 | 28 | 3 | 8 | −5 | 25 |
100 | 27 | 4 | 7 | −3 | 9 |
101 | 50 | 5 | 10 | −5 | 25 |
103 | 29 | 6 | 9 | −3 | 9 |
106 | 7 | 7 | 3 | 4 | 16 |
110 | 17 | 8 | 5 | 3 | 9 |
112 | 6 | 9 | 2 | 7 | 49 |
113 | 12 | 10 | 4 | 6 | 36 |
为了对logistic回归模型进行有意义的解释,要求模型中所包含的自变量必须对因变量有显著的解释能力。也就是说所设模型必须要比零假设模型(即指包含常数项的模型)要好。在多元线性回归及ANOVA模型中,常用自由度分别为K和n-K-1的F检验(其中K为自变量个数,n为样本规模)来检验“除常数项外所有系数都等于0”的无关假设。而在logistic回归中,服务于同一目的的检验却是“似然比检验”(Likelihood Ratio Test),它可以用来检验logistic回归模型是否统计性显著。似然比统计量近似地服从于分布。
所谓模型定义为零假设模型与所设模型在
上的差距。模型
的自由度为零假设模型自由度与所设模型自由度之间的差,即回归系数个数。实际上,模型
与多元线性回归中的F检验十分类似。模型
作为一种
统计量来检验零假设:“除常数项外的所有系数都等于0”。通常表示为:
。如果模型
的统计量显著,便拒绝零假设,认为自变量所提供的信息有助于更好地预测事件是否发生。似然比统计量公式如下:
必须强调,模型值不是关于模型对数据拟合优度的检验,而只是关于自变量是否与所研究事件的对数发生比(log odds)线性相关的检验。按照理想情况,最好是模型
统计性显著而拟合优度统计性不显著,但是,我们有时发现,模型
和拟和指标都是显著的,尤其是在大样本的情况下,这种矛盾现象可能出现。这种现象说明模型并不能很好地拟合数据,另一方面又说明自变量对因变量能够进行很好地解释。两种指标同样重要,如果模型
统计性不显著或拟合优度(尤其是HL指标)统计性显著,那么这个模型应该重新设定。
分类模型评估
1. 混淆矩阵(Confusion Matrix)
1. 正确预测到的负例的数量, True Negative(TN,0->0)
2. 负例预测成正例的数量, False Positive(FP, 0->1)
3. 正例预测成负例的数量, False Negative(FN, 1->0)
4. 正确预测到的正例的数量, True Positive(TP, 1->1)
混淆矩阵是大多数分类性能评估指标的基础。
2. 由混淆矩阵派生出的评估标准
2.1 准确率
准确(分类)率=正确预测的正负例数/总数
Accuracy=(TP+TN)/(TP+TN+FP+FN)
2.2 误分类率
误分类率=错误预测的正负例数/总数
Error Rate=(FP+FN)/(TP+TN+FP+FN)
2.3 (正例)覆盖率
正例覆盖率=正确预测到的正例数/实际正例总数
Recall (TPR, Sensitivity) =TP/(TP+FN)
2.4 (正例)命中率
正例命中率=正确预测到的正例数/预测正例总数
Precision (Positive Predicted Value, PV+) =TP/(TP+FP)
2.5 (负例)覆盖率
负例覆盖率=正确预测到的负例数/实际负例总数
Specificity(TNR) =TN/(FP+TN)
2.6 (负例)命中率
负例命中率=正确预测到的负例数/预测负例总数
PV- (Positive Predicted Value) =TN/(TN+FN)
2.7 F1度量
2.8 Lift(提升指数)
,该指标衡量的是,与不利用模型相比,模型的预测能力“变好”了多少。不利用模型,我们只能利用“正例的比例是TP+FN/TN+FP+FN+TP”这个样本信息来估计正例的比例(baseline model),而利用模型之后,我们不需要从整个样本中挑选正例,只需要从我们预测为正例的那个样本的子集(TP+FP)中挑选正例,这时预测的准确率为TP/TP+FP。显然,lift(提升指数)越大,模型的运行效果越好。如果这个模型的预测能力跟baseline model一样,那么TP/TP+FP就等于TP+FN/TN+FP+FN+TP(lift等于1),这个模型就没有任何“提升”了。
2.9 ROC (Receiver Operating Characteristic Curve)
ROC曲线就是不同的阈值下,以下两个变量的组合:
Sensitivity(覆盖率,True Positive Rate)
1-Specificity (Specificity, 负例的覆盖率,True Negative Rate)
上图那条曲线就是ROC曲线,横轴是1-Specificity,纵轴是Sensitivity。随着阈值的减小,Sensitivity和1-Specificity也相应增加(也即Specificity相应减少),所以ROC呈递增态势。那条45度线是作为参照(baseline model)出现的,就是说,ROC的好坏,是跟45度线相比的。在不使用模型的情况下,Sensitivity和1-Specificity之比恒等于1,这就是45度线的来历。一个模型要有所提升,首先就应该比这个baseline表现要好。ROC曲线就是来评估模型比baseline好坏的一个著名图例。
在最好的情况下,Sensitivity为1(正确预测到的正例就刚好等于实际的正例总数),同时Specificity为1(正确预测到的负例个数就刚好等于实际的负例数),在上图中,就是左上方的点(0,1)。因此,ROC曲线越往左上方靠拢,Sensitivity和Specificity就越大,模型的预测效果就越好。
2.10 AUC (Area Under ROC Curve)
ROC曲线是根据与45度线的偏离来判断模型好坏。图示的好处是直观,不足就是不够精确。到底好在哪里,好了多少?这就要涉及另一个评估指标,AUC(Area Under the ROC Curve,ROC曲线下的面积)。AUC也只是ROC的一个派生而已。
对于ROC曲线,45度线下的面积是0.5。ROC曲线与它偏离越大,ROC曲线就越向左上方靠拢,它下面的面积(AUC)也就应该越大。我们就可以根据AUC的值与0.5相比,来评估一个分类模型的预测效果。关于AUC的计算有多种方法,本平台中采用的方法如下:
设正例样本数为M,负例样本数为N,样本数n=M+N。首先对score从大到小排序,然后令最大score对应的sample的rank为n,第二大score对应的sample的rank为n-1,以此类推。然后计算,得到的就是所有样本中有多少正例样本的score大于负例样本的score,最后除以M×N。需要特别注意的地方是,在存在score相等的情况时,需要赋予相同的rank值,具体操作是把所有这些score相同的样本的rank取平均。
2.11 多类AUC
前节所述AUC指标适用于二元分类情况,为了适应多类分类模型的性能评估,在二类AUC的基础上扩展出了“多类AUC”: