盘点欧洲杯:给16强排座次| 果壳 科技有意思
也就是说,我们要保证与强队交手和与弱队交手区分对待。有一种最大特征向量的方法可以做到这一点:我们让一支球队在击败强队的时候获得的加分多,击败弱队的时候获得的加分少。比如某一支球队如果大比分赢过西班牙(或者至少输的比分少),在排名中就会获得更多加分,而即使它大胜爱尔兰,在排行榜中的加分也不会很多。这样尽管欧洲杯的 16 支球队每支队伍的对手不同,我们还是可以根据各个队最后得到的总分数得到一个大排名。
首先把 16 支队编上号 1-16 号,计算出一个 16×16 的“得分”矩阵 A,矩阵里第 i 行,第 j 列的元素为:
r ij 代表比赛的两队对阵时占的优势各是多少。假设 2 号队是希腊,4 号队是捷克,两队之间的比赛是捷克2:1希腊,当 i=2,j=4 的时候, S ij = 1, S ji = 2,最后算出来 r ij = 0.4,反过来, r ji 就会是0.6( r ij + r ji = 1)。在一场比赛中,一个队比分的优势越大,对应的 r 也就越大(0≤r≤1),如果是平局 r = 0.5,当然,两队加一起一定是 1。为了公平起见,点球大战出现的比赛可以把一个点球按照 0.2 或者 0.4 个球算。
对于那些没有交过手的球队,矩阵里对应的格子都设成是一个比较小的正数(比如0.15)。把所有进行过的比赛的结果的数值都填到矩阵里之后,矩阵 A 就会是这样:
(大图点 这里 )
接下来,Ax = Kx,x 是一个长度为16的“特征向量”,分别代表着每支球队的“分量大小”,K为特征值,通过计算我们可以找到最大的特征值对应的特征向量。在最大特征向量里,一支球队对应的数值越大,代表着对手击败它可以捞到更多的加分,自然也意味着这个队在整个欧洲杯比赛中表现的越好。
按照本届欧洲队各队比赛结果,就能算出各队的得分:
可以看得出,西班牙总的表现就是确实好过意大利。不仅如此,德国在半决赛里虽然输给意大利,但是如果包括了小组赛和 1/4 决赛,德国总体的表现也好过意大利队,甚至葡萄牙的分数都高过意大利。这个结果多少有点令人吃惊。