医学研究中,经常使用HL(Hosmer-Lemeshow)拟合优度检验法来评价模型的准确度情况,即判断预测值和真实值的拟合情况,与此同时,还可以使用校准曲线(calibration curve) 进行直观式分析,校准曲线是HL法的可视化。校准曲线将连续的预测值和真实值数据进行离散化,进而判断模型的预测值是否接近于真实情况。理想情况下,校准曲线是一条对角线,即预测概率等于真实情况。通常是在二元logit回归和Cox回归之后使用它,二元Logit回归后,将预测概率值和真实的01二分类值进行绘制校准曲线,Cox回归时,将预测的风险函数值与真实的01生存状态值进行绘制校准曲线。
当前有一份50个样本数据并且构建过1次二元Logit回归(并且得到其模型预测值),以及构建了两次Cox回归(并且分别得到2次模型的预测风险函数值),如下图所示:
SPSSAU进行校准曲线计算时,其原理如下说明:
1.对预测概率进行bins处理;
Bins是指将样本点分成很多个小块,每块包括多个样本点,bins的策略共有两种,分别是等分位(quantile)和等数(uniform),等分位指每个bins里面的样本点个数一样,等数是指每个bins里面的宽度一样,二者只是bins的划分方式区别,默认为等分位,但二者出现的校准曲线图很容易不一致,尤其是样本量较少的时候。当然研究者也可自行设置bins数量。
2.计算每个bins里面所有样本预测值的平均值,作为横坐标;
3.计算每个bins里面阳性的概率(该bins里面阳性个数/该bins数据个数),作为纵坐标,即纵坐标的意义为真实阳性概率;
4.最后将各散点连成平滑折线。
校准曲线的解读上,如果预测值=真实值,此时校准曲线与参考线完全重合;如果预测值>观察值,点在对角线‘下方’,此时高估风险;如果预测值<观察值,点在对角线‘上方’,此时低估风险。
本例子中操作截图如下,将3个预测值放入‘预测概率值’框中,便于对比3个预测值的校准度情况,bins个数由SPSSAU自动判断处理,并且使用默认的等分位bins划分方式,操作如下图所示。
当前有3个预测值,SPSSAU会循环输出每个预测值对应的校准曲线,并且会将3个校准曲线全部绘制在一个图里面便于对比使用等。
校准曲线的解读上,如果曲线位于‘右上三角线’(即参考线)上方,则为低估风险,如果位于下方,则为高估风险。上图显示二元logit回归的预测值如果介于25% ~ 35%,或者高于60%时,校准曲线位于参考线上方即低估风险(真实阳性概率>预测概率),其余情况下基本均为高估风险(真实阳性概率<预测概率)。
上图显示Cox回归得到的风险函数时,风险值小于0.4时基本上均为低估风险,此时真实的阳性概率均明显高于预测风险概率。
上图显示如果风险函数值小于0.45时基本上均为低估风险,因为此时真实阳性概率明显高于预测风险概率。
当然可以将3个预测概率对应的校准曲线放入一张图中,便于对比查看。上图可以看到,二元Logit回归模型得到的校准曲线,与另外两乖Cox回归得到的校准曲线有着明显的不同,说明预测校准度情况有着明显差异。
校准曲线分析涉及以下几个关键点,分别如下:
SPSSAU校准曲线时,横纵坐标的名称以‘标题’名称为准,研究者可先修改标题名称然后作图即可,单独从校准曲线的意义来看,横坐标为预测概率值,纵坐标为阳性概率值。
校准曲线的解读上,以预测概率值和真实阳性概率值进行PK,如果校准曲线高于参考线,说明真实阳性概率值>预测概率值(参考线上方),此时为低估风险,反之校准曲线值低于参考线值,预测概率值<预测概率值,此时为高估风险(参考线下方)。