提供的爬取软件来源于:52pojie.cn@夜泉 免费下载使用

如何用大数据预测球赛比分

王法 新闻实验室 2014-06-15

「这里是方可成的新闻实验室,微信公众账号newslab」


§本文首发于2014年6月15日,这是新闻实验室的第43篇文章

§本文是“数据能为媒体带来什么”系列之



  世界杯看得开心吗?别忘了NBA总决赛也在打啊。这个夏天又是全体球迷和伪球迷的狂欢节,熬夜之余,你有和朋友赌比赛胜负吗?如果你懂大数据的话,说不定能大赚一笔。去年,我的朋友王法就和其他几个同学一起写了一套用大数据预测NBA比赛胜负的程序,并且成功利用它实现了盈利。今天推送的这篇文章就是王法为新闻实验室撰写的,他介绍了项目开发的过程,以及背后的大数据理念。

  其实,这样的预测不光赌球者需要,媒体也需要。上次提及的FiveThirtyEight就是靠预测美国大选而爆红的。当然,在中国没法刊发预测领导人的内容,但还有许多东西可以预测,只是得有既懂技术又懂新闻的人来扒数据和分析数据。

  ——新闻实验室主人 方可成



作者:王法(UW-Madison电子工程专业博士生)


大数据这个听上去有点geek的词汇,比我们想象得更快速更广泛侵入了人们的生活。人人都在谈论大数据,却不是所有人都清楚大数据到底是什么,是如何工作的。


简单来说,大数据就是那些由于硬件条件和算法所限,无法通过传统方法提取存贮和处理的数据集合。这个解释听上去似乎有点百度百科的味道,为了把这个问题讲得更清楚一些,我们从一个我做过的小项目聊起:预测一下今晚NBA比赛的比分。


ESPN那帮家伙对于NBA比赛得分预测做了很多研究工作。近年来大家已经逐渐发现,分别预测进攻回合数平均每次进攻得分,再把两者相乘得到的结果比直接预测得分更加精确,因为回合数与平均进攻得分分别受不同的特征量影响——比如前者受主教练风格、队员的健康状况和休息状况影响更大;后者受对手的防守质量和球星的个人能力影响更大。简单起见,我们只分析进攻回合数的预测。


为了做这个预测,我们第一步得把那些影响进攻回合数的特征量找出来。这些数据可以在诸如http://stats.nba.com/ http://www.basketball-reference.com/这样网站获得。在那里,你可以轻松获得球队的历史成绩、休息状况(今晚是否是背靠背作战)、伤病情况等等,甚至可以详细至每支球队每一次进攻的过程和持球时间。


一般来讲,大数据的来源都可以分成三类:1、传统企业的数据:诸如沃尔玛的消费记录之类;2、机器和传感器数据:比如各种智能移动设备,以及现在炒得很热的可穿戴设备所提供的个人数据;3、社交数据:我们巨大的互联网。对一般人而言,前两者昂贵而难以获得,真正有意义的是第三类:它数据量大,并且绝大部分是免费的,在我们这个例子里,也同样采用了第三类数据来源。


现在我们已经有了一大堆包含各种所需数据的网页,人工录入这些数据似乎是个不可能完成的任务:这工作量太大了。所幸所有网页都用html格式来储存,这种格式规定,两个标签之间是将会在网页上显示的文本内容,而标签内部来规定文本的格式、字体、段落、属性等等(听上去跟latex有点像)。我们可以用这些标签为索引,来搜索我们想要的文本信息。剩下的工作就简单多了,我们还需要一些软件从指定网站批量下载html文件。在我这个小项目里,使用的是GNU的wget,因为它开源、易用、免费。通过这些处理,我们可以得到一个2.4GB(包含过去十个赛季的所有数据)数据包,它们被分门别类地整理成了几十个特征向量。


拿到整理好的数据,我们又面临一个新的挑战:用我手头这个破笔记本处理这些数据,大概会跑上好几天甚至好几周。对我来讲,为了处理这些数据买台超级电脑也不现实。其实这种尴尬的情况不只有我会遇到,这几乎成了整个IT界头疼的问题之一:设备的运算能力不够。以前有个大众耳熟能详的摩尔定律:每过18个月,电子产品的价格就会下降一半。也就是花上相同的钱,再等上一年半,你就可以获得双倍的计算能力。遗憾的是,随着芯片越来越接近其物理极限,现在摩尔定律已经不太管用了,我们得等上更长时间,目前是30个月,而且这个数字还在增加。另一方面,人类产生的数据量却以几何倍数在增长。


这种供需的失衡,就需要分布式计算来解决,或者我们可以用个看上去更厉害的名字:云计算。说穿了,就是把手头的数据,分散到几十个甚至更多的节点(CPU、GPU单元)去并行地做。Hadoop和HBase为我们提供了一整套解决方案。当然,我们不是时时刻刻都需要分布式处理,这只取决于你的数据量、硬件水平,以及对速度的追求。


成了,现在数据和硬件都齐活了,我们可以开始着手处理数据,用这些已有的特征向量,来预测某一场比赛某一支球队的进攻回合数了。我采用的是一种叫支持向量回归的统计方法来分析这些数据,这是一种很成熟的机器学习的方法,可以简单理解为线性回归的高维度版本——有多少个特征向量就有多少维。目前数学家、统计学家、计算机科学家都在数据挖掘,人工智能等诸多相关领域在努力争取透过纷繁复杂的数据,尽量看出数据背后隐含的规律。有兴趣的话,翻一点机器学习的材料会很有帮助。


现在,我们做出的这个模型平均误差在4分左右,当然还不够精确,但起码可以保证在赌球时赚钱的可能性大于50%了(合理投放资金的情况下)。


到现在为止,我们简单地走了一遍大数据的处理流程。在商业实践中,大数据可能有不同的数据来源,不同的云计算架构,不同的数据处理算法,但核心思想是不变的。


大数据让生活更加美好,它可以让医生更加准确地诊断疾病,让商场更加合理的安排物流,让银行规避风险,让交通更加快捷。我们可以用大数据预测奥斯卡小金人或者大力神杯的归属,甚至还可以预测美国总统选举的结果和中国政治改革的走向,可以用大数据来量化中国法治进程和政府的透明度。


我们从未有过这样的时代,信息是如此便宜而易于获得,但同时又是如此昂贵和难以处理。



这里是方可成的新闻实验室,欢迎关注,期待与你产生化学反应

方法1:点击右上角的按钮,选择“查看公众账号”,点击关注

方法2:在添加朋友中搜索newslab

精选留言

暂无...
吾爱破解论坛