英语中常说,“Compare Apple with Orange”,就是说两者没有可比性,根本就不应该去比。 但是实际工作中,有时候我们需要比较两件很难相比的事情。有一次有个部门需要比较两组房贷的Prepayment(见《前言》中定义,与本篇内容无太大关系),两组差别很大,根据分组的技术细节,他们认为应该基本没有差别。只有两个可能。一是两组成分有差别,比如女的平均寿命就是比男的长。如果一组女的比例比另一组高的多,平均寿命当然就长了。另一种可能是我们认为分组的过程是无偏差的(No Bias),但实际上是有的,只是我们不理解或疏忽了。如果是后面一种,那就说明公司做生意的方式就要有很大改变。为避免涉及太多细节,我们还是用人口问题替代。 现在假定两个相邻地区A和B的死亡率有很大差别,我们想找出原因。为了验证是否上面所说第一种可能,我们先分一下组。首先是男女分为两组。按是否抽烟可分为三类,烟民,烟民家庭成员,不抽烟的。因为死亡率对年龄依赖较大,我们不妨分为四个组。这四个组怎么划分,没有统一标准,这不是发射卫星,合理就行。总共是24个组。这儿研究对象不止是活着的,去世的也要按照生前情况归入相应的组。 分了组还是没解决问题,我们选几个人数多的组,有的A高,有的B高。这还不算,A和B的总人口差得相当多,所以大部分对应的组人口也差很多。这是我最狼狈的一次,用老话说是一团乱麻,时髦点就是一地鸡毛了。眼看大限快到了,谢天谢地,老板说,那个会延期了。运气还不错,居然延了好几次,所以前后做了一个多月。 最后的大限快到了,还算通融的老板也有点不高兴了,叫我就用传统的分组比较“方法”多少做点东西,他在会上有个交待。我难得厚着脸皮又要了两天,做好了“不成功则成仁”的思想准备,准备好最后两天干通宵,弄点似是而非的东西让他去交差。我先是想到一点小改进。AB人口不一样,现在假定A较少,我们就乘个常数,使他们一样,就象数学中常说的归一化。这样A区每个组的死亡率和总人口的死亡率都保持不变,但AB总人口总算一样了。尽管这时会有1.3个人抽烟之类的怪事,但不影响我们讨论死亡率。总人口一样了,每个组的人数还是不一样,有的组A人多,有的组B人多,如果全部一样那就可直接比较了。病急乱投医,我想,不妨把可比部分先比较一下吧。比如某一组A有100人,B有120人,我们可以算出两者的死亡率,B就扔掉20人,然后只比100人。如此办理,这一组B扔掉几个,那一组A扔掉几个,求大同存小异,把共同部分比一下,结果一举成功。 如果组分的比较粗,共同部分就比较大,在房贷的实际例子中,按照最重要的因素利率分组,共同部分可达到90%多一些,两者的Prepayment还有差距,但已经相当接近了。分的越细,扔掉的就越多,但如果两组样本确实一样,结果就越接近。当初按最细的方法分组可把80%多的房贷进行直接比较,这时两者几乎已经完全一样了。这个进公司后耗时最久的研究项目终于80%圆满成功,剩下的20%已经不是苹果橘子的问题了,这边有橘子或苹果,那边什么都没有。反之亦然。 现在我用一个假想例子来说明如何运用这种技术。假设我们知道AB两区10年前的人口年龄分布,死亡率一栏是10年里的年平均死亡率(Annualized)。这是我从早年的精算数学课本上抄来的,也并非空穴来风。我们现在理想化,设定两个区每组的死亡率完全一样。A区总人口160万,B区272万。A区归一后的总人口和B一样,但如表所示,每组人数还是不一样。AB栏为可比部分,257.4万,占总人口94.6%。由于我们的简化,A和B的总体可比死亡率是一模一样的,在这儿是11.0‰。在实际工作中,A和B要分别计算。如果直接比较,我们发现A是13.8‰,B是10.7‰,A比B高了将近30%。完全一样的死亡率,纯粹由于人口分布不同,居然引起这么大区别。我们可以逐行考察找原因。有了,80岁以上年龄组A的比例比B大,归一后多了三千五。如果没有这儿的归一技术,连这点都很难直接看出。但是这也没有解决问题,死亡率次高的71-80年龄组,A不是比B多了一万六吗?在我们的实际工作中,分得最细时大概总有几千组,而且即使统计意义上相同的两个样本,观察数字还是有差别的,分组用肉眼找原因绝对是死路一条。 年龄组 | 死亡率 | A区 | (归一)A区 | B区 | AB | 0-10 | 0.001532 | 120,000 | 204,000 | 250,000 | 204,000 | 11-30 | 0.001016 | 500,000 | 850,000 | 900,000 | 850,000 | 31-50 | 0.002860 | 400,000 | 680,000 | 700,000 | 680,000 | 51-60 | 0.009648 | 350,000 | 595,000 | 500,000 | 500,000 | 61-70 | 0.021919 | 100,000 | 170,000 | 200,000 | 170,000 | 71-80 | 0.048588 | 80,000 | 136,000 | 120,000 | 120,000 | 81+ | 0.214950 | 50,000 | 85,000 | 50,000 | 50,000 | 总数 | | 1,600,000 | 2,720,000 | 2,720,000 | 2,574,000 | 总死亡率 | 0.013774 | 0.013774 | 0.010693 | 0.010975 | 这个假想例子的95%当然非常令人信服,我工作的实际例子中80%应该也可以接受,70%呢?邮局辨认邮政编码,硬件部分是光电感应,软体部分就是模糊数学了。如果某一个字与他们的“标准”数字有80%相似,他们就认为可以接受。所以根据这经验数字,80%或许是个比较合理的判断标准。 我考虑过能否建立一种系统的方法,类似统计中的置信区间(Confidence Level)。我想这应该由以下几个因素决定:归一以后的可比人数,X%;这X%人口的平均误差Y;AB两组的各自的标准误差,其中有一组的标准误差在归一过程中被放大,也必须要考虑进去。我这个半路出家搞统计的看来功力还不够,欢迎有兴趣的读者深入研究下去,如果成功了请把这篇短文放进参考文献,谢谢。 |