1 比赛背景##
面对社会、科研、企业对于大数据人才的紧迫需求,上海交大网络信息中心联合EMC卓越研究集团,于2015年4月共同举办“EMC杯上海交大智慧校园数据分析大赛”。这次数据分析大赛将开放校园数据并启动数据训练营,鼓励同学和社会人士参与到大数据的学习和实践之中。身为茫茫人海的一枚迷途小码农,我也奋不顾身地加入了这场比赛中。
2 准备##
由于比赛鼓励使用R进行数据分析,而我对于R同样也是听闻已久,所以正好趁着数据训练营的机会自学了一下R。看的书本是《R语言实战》,相关的学习笔记也都整理成文章记录在我的个人博客中。总之,一个多月的时间下来,对于R的基本知识有了一个全面的掌握。
3 初赛##
掌握了R的基本知识后,就可以在实战中验证自己的学习成果了。本次校园开放数据比赛共开放了三类数据:一卡通消费数据、校园网wifi数据、闵行区气象数据。说得更详细一些:
- 商户信息:共134项观测,包含32个商户系统、85个子商户;
- 用户信息:共30861项观测,包含30861个一卡通账户、30812个学号,即有49名学生拥有两个一卡通账户;
- 交易记录:共7915289项交易记录,时间跨度为2014-09-01至2015-01-31;
- 气象记录:共26660项气象记录,时间跨度为2014-08-15至2015-03-25;
- 校园网记录:共12736408项校园网记录,时间跨度为2014-09-01至2015-01-31。
我做的分析工作主要针对一卡通消费数据,首先是对数据的概要统计,包括用户分布、商户结构、历史降雨和校园网纪录。接着从消费类别总额、消费类别次数、消费类别均值、男生消费总额和女生消费总额等角度统计食堂就餐纪录,并且以第三餐饮学生餐厅为例,分析其历史就餐总额变化趋势、雨天和晴天就餐情况对比、一天中不同时段的就餐密度等内容,从而研究食堂就餐量和降雨量、校园网活跃人数等因素之间的关系。最后,我分析了不同类别用户在各个消费类别和商户的消费分布,包括消费总额和消费次数等,并建立了横向模式和纵向模式两种模型来分析不同类别用户的就餐模式。
4 决赛##
我很幸运地进入了决赛,但主办方考虑到我是一个人单干,于是给我推荐了一位同样单干的小伙伴——上海同济大学交通专业的金建栋学弟。学弟实力很强,在数据分析和R的掌握上有着更加深厚的功底。和学弟相比,我们两做的很多内容有一些类似,也许我在可视化能力和思维逻辑上略胜一筹,但是学弟涉及到了数据质量管理、数据清洗、相关性检测等偏理论的内容,同时还开发出了四款在线web应用,称之为全站工程师一点也不过分。
经过一番融合和整理,我和学弟的比赛项目合并到了一起,即基于一卡通消费数据的用户就餐分析。项目报告部署到了这里,决赛答辩ppt也可以在上述Github的project.zip中找到。
决赛的最终结果是极为可惜地以2分之差(当然满分是100分)错过了“综合应用数据大奖”,拿到了“最佳R语言应用”奖。第一名的团队选择校园网wifi数据作为分析对象,他们理智地看清了wifi流量中所蕴藏的巨大价值。我们反思的结果是,之所以没有拿到第一名,是因为我们仅仅针对一卡通数据进行了分析,如果能够结合多源数据,同时挖掘出校园网wifi数据中的有用信息,我们将会作出更精彩的成果。
5 分享会##
在决赛之后,主办方还举办了一场落地分享会,即邀请决赛中的优秀团队对他们的作品做进一步的开发和分享,力求能将其产品应用到实际中。
这次我和学弟不仅仅停留于产出一份数据分析报告,我们更希望能呈现出一款完备的应用级系统;数据源也不再只是一卡通消费数据,我们做到了对一卡通消费和校园网wifi数据的360度全面分析。经过一个月的艰苦奋斗,我们的产品逐渐成型,一款以构建智慧校园数据生态系统为愿景的实时监测和分析统计系统——Elite。
Elite的意思是“精英”,即我们致于提取数据中最精华的部分給用户,同时“E”表示数字化和信息化,“lite”和“life”相近,即智慧校园中的数据生活。
总的来说,Elite的功能包括以下几个方面,校园实时监测、餐饮分析、学务管理、教学统计、个人顾问、Elite助手、信息共享等。
- 实时监测:包括实时人群监测、人群迁移趋势和就餐人数预测等;
- 餐饮分析:包括各大商户今日就餐总额和就餐次数等实时统计、实时就餐总额和历史日均总额的计算、餐饮人群组成和各大食堂占比的分析;
- 学务管理:包括男女生上网关键词汇总、不同年级学生对不同关键词的关注程度分析、本硕博学生不同场景不同时间wifi流量分布统计、学生在一卡通消费和wifi用网量上的分布、浴室人群流量实时监测和预测;
- 教学统计:包括校园设备、科研设备、教学设备统计,科研立项、科研到款、科研著作、论文发表统计,各大校区硬性指标对比,和各类别学生数量统计;
- 个人顾问:根据匿名处理后的学号获取该学生的一卡通消费和校园网wifi数据,从勤奋系数、就餐系数、睡眠系数、清洁系数、恩格尔系数、个人评价、个人关注、用户群分类等角度展示个性化统计结果;
- Elite助手:提供针对用户个人定制化的推荐和建议,包括生活预警、学习预警、活动推荐、课程推荐、动态记录等;
- 信息共享:包括“活动”、“点评”、“比赛”、“二手”、“租房”、“实习”、“校车”七大模块,聚集校园里各个方面的动态信息。
我们对于Elite的定位是智慧校园中数据source和sink之间的连接器,更具体的来说,在智慧校园这个不断进行数据循环流动的生态系统中,学生和校方是数据的生产者,学生、校方以及商户都是数据的消费者,而Elite则是数据的分解者。Elite实现了数据的处理加工和资源的整合重用,使得生态系统中的各个角色都能互助共赢。
我们使用prezi进行分享会的答辩,用我们的产品Elite得到了大家的认同。Elite部署在这里,代码托管于我的Github,在里面可以找到分享时使用的prezi。
6 总结##
这次的比赛从集训到分享会结束一共经过了三个多月的时间,在这个过程中,我掌握了R的基本使用和数据分析的流程,进一步强化了数据可视化的能力。我的作品也从一开始简单的统计分析逐步改善,最终成长为完善强大的智慧校园数据分析系统,并被上海交通大学网络信息中心采纳,作为智慧校园项目的初步展示和雏形框架。