NBA 举办编程马拉松 - 数据分析时代的到来

NBA 举办编程马拉松 - 数据分析时代的到来

据 TechCrunch 报道:NBA 最近在纽约曼哈顿举办了一项邀请活动:编程马拉松Hackathon)。 他们打算建立一种新的视角来看待比赛数据。

美国人很钟情于运动,棒球是其中之一。MLB(职棒大联盟)是使用统计分析和预测的先行者:打击、防守、投球、失误等。与此同时,NBA 近年来一直致力于提高评论员、教练和球员的统计分析能力--这次首届编程马拉松就是最新的尝试。

此次活动邀请的参赛人员包括本科生、研究生和博士生,200个程序员被分为三个等级,面对不同的挑战。

比赛规则很简单:每个团队对 NBA 提供的数据进行统计分析,数据本身不允许篡改,否则将被取消资格。时间从上午9点开始,到下午5:15结束,历时8小时15分钟

这并不是件容易的任务:原始数据超过 5GB,包括投篮数据、回合数据、精确至1/25秒的球员追踪数据等。


最终,由哥伦比亚大学研究生 Alex Wainger、Zac Robertson、纽约大学本科生 Ella Kuzmenko 和佩斯大学本科生 William Robbins 组成的团队赢得了比赛冠军。

他们夺冠项目名为“关于英雄球”。

在分析数据库时,他们放弃了一些已有的可行建议,比如创建一个防御的效率公式或者分析如何能让投篮更准,而是选择将运动员在常规赛和季后赛中的运动趋势做一个对比。他们假设在常规赛中,运动员的打球方式更以团队为中心,而在季后赛中,他们更倾向于人们所谓的“英雄球”式的打法。最终他们用 python 处理了 5g 的数据库,抽丝剥茧取出了有用数据,建立一个 d3 的应用(d3.js,一个 JavaScript 库)挂载在 github 的网页上。一个坐标轴上显示常规赛的统计信息,另一个坐标轴上显示季后赛的统计信息,还有一个45度的直线表示在两种情况下的相同行为方式,可以选择一个数据并以交互的方式在图标上看团队的数据移动。数据表明最终在季后赛的队伍,相比常规赛,运动趋势数据中多了 15% 的运球,10% 站立,少了 4% 的传球和 4% 的持球得分。也就是说,球员在季后赛往往会更自私地打球。

问起他们为什么参加 NBA 编程马拉松,其中一名队员表示,他看到了在这里的学习机会。作为一个NBA的数据控,他对比赛背后的教练方法和数据分析非常感兴趣,通过这个活动可以认识更多在数据分析领域中杰出的人。

项目在线演示地址:

NBA Hackathon Visualization

另外他们的 Github 上还发布了另一个关于场上换人模式的分析项目:

GitHub - alexwainger/NBASubstitutionPatterns: Visualizing substitution patterns across teams and time

如今像篮球这样的运动都已经开始大量地依赖计算机程序做数据分析,可想而知,还有什么领域可以置身事外。如果现在还觉得,不是程序员,不是搞理工科的,是否懂计算机懂编程都无所谓,那这恐怕是个很危险的想法。不要再只顾着抱怨别人用脚本抢走你的月饼了,或许不久后的某一天,计算机就会抢走你的饭碗……



附英文报道:The NBA’s first hackathon: How is the future coming for the league?



其他文章及回答:


爆款游戏《贪吃蛇大作战》的 Python 实现 - Crossin的编程教室 - 知乎专栏

Python 与 Excel 不得不说的事 - Crossin的编程教室 - 知乎专栏

想用 Python 做数据分析?先玩玩这个再说 - Crossin的文章 - 知乎专栏

用 Python 实现你的量化交易策略 - Crossin的文章 - 知乎专栏

学习编程的过程中可能会走哪些弯路,有哪些经验可以参考? - Crossin 的回答

你是如何自学 Python 的? - Crossin 的回答

Python 抓取网页乱码原因分析 - Crossin的编程教室 - 知乎专栏

Crossin的编程教室


微信ID:crossincode

论坛:Crossin的编程教室

编辑于 2018-03-17

文章被以下专栏收录

    本专栏旨在为编程初学者提供浅显易懂的入门科普。微信公众号:Crossin的编程教室(crossincode),内有面向零基础学习者的 Python 入门教程。代码问题可上 bbs.crossincode.com 发帖提问。