为什么往往反而是最简单的线性模型会比复杂精巧的模型有更好效果,其实不外乎因变量除了主要自变量之外会有大量微小的因素所影响,以至于剩下的不能由自变量所解释的误差恰好已足够构成正态分布这个原因。
我当时是从下面的例子(来自我的导师Prof. Yang和师兄Dr. Zhang)体会到线性模型的威力的。我们都知道,在世界杯或者奥运会上作为东道主,都具有一定的主场优势,球队成绩或者代表队的金牌数可以较上届有所提高。那么如果我们要衡量东道主地位究竟能给成绩带来多大提升,仅仅用线性模型(或者稍作改进的线性模型)居然就可以做得很好。为了预测2008年奥运会中国代表队能得到多少块金牌,我们收集到的数据如下:
届别 |
时间 |
举办地点 |
东道主本届金牌数 |
东道主上届金牌数 |
NA备注 |
第1届 |
1896 |
希腊·雅典 |
10 |
NA |
没有上届比赛 |
第2届 |
1900 |
法国·巴黎 |
26 |
5 |
|
第3届 |
1904 |
美国·圣路易斯 |
70 |
20 |
|
第4届 |
1908 |
英国·伦敦 |
56 |
1 |
|
第5届 |
1912 |
瑞典·斯德哥尔摩 |
24 |
8 |
|
第6届 |
1916 |
德国·柏林 |
NA |
NA |
因第一次世界大战停办 |
第7届 |
1920 |
比利时·安特卫普 |
13 |
2 |
|
第8届 |
1924 |
法国·巴黎 |
13 |
9 |
|
第9届 |
1928 |
荷兰·阿姆斯特丹 |
6 |
4 |
|
第10届 |
1932 |
美国·洛杉矶 |
41 |
22 |
|
第11届 |
1936 |
德国·柏林 |
33 |
4 |
|
第12届 |
1940 |
先日本·东京,后芬兰·赫尔辛基 |
NA |
NA |
因第二次世界大战停办 |
第13届 |
1944 |
英国·伦敦 |
NA |
NA |
因第二次世界大战停办 |
第14届 |
1948 |
英国·伦敦 |
3 |
4 |
|
第15届 |
1952 |
芬兰·赫尔辛基 |
6 |
8 |
|
第16届 |
1956 |
澳大利亚·墨尔本 |
13 |
6 |
|
第17届 |
1960 |
意大利·罗马 |
13 |
8 |
|
第18届 |
1964 |
日本·东京 |
16 |
4 |
|
第19届 |
1968 |
墨西哥·墨西哥城 |
3 |
0 |
|
第20届 |
1972 |
德国·慕尼黑 |
13 |
5 |
|
第21届 |
1976 |
加拿大·蒙特利尔 |
0 |
0 |
|
第22届 |
1980 |
苏联·莫斯科 |
80 |
49 |
|
第23届 |
1984 |
美国·洛杉矶 |
NA |
NA |
美国拒绝参加上届 |
第24届 |
1988 |
韩国·汉城(现称首尔) |
12 |
6 |
|
第25届 |
1992 |
西班牙·巴塞罗那 |
13 |
1 |
|
第26届 |
1996 |
美国·亚特兰大 |
44 |
37 |
|
第27届 |
2000 |
澳大利亚·悉尼 |
16 |
9 |
|
第28届 |
2004 |
希腊·雅典 |
6 |
1 |
|
第29届 |
2008 |
中国·北京 |
需要预测金牌数 |
32 |
事先删除某些离群值,然后基于均值建模,得到的回归方程是:
东道主本届金牌数=5.8+1.35×上届金牌数
这个方程预测金牌数为49枚。如果反感手动删除数据,可以使用中位数回归,即quantreg包中rq()函数,然后基于中位数建模,得到的回归方程是:
东道主本届金牌数=3.65+1.56×上届金牌数
这个方程预测金牌数为53-54枚。而实际上在2008年奥运结束的前一晚,中国队的金牌总数才刚好达到49枚。因为男子跳台丢了金牌,所以悬念留到最后1天,最终中国队的金牌数字是51。当然这个只是给了一个很粗略的估计,但似乎已经比当时所有来自专家的预测都靠谱多了。可见只要变量选得好,线性模型的预测效力是很靠谱的。而从下图可以看出,其实得出这个预测结论并非如想像中那么显然。