我究竟在做些什么?

本来想写下面的。。。

This is an review of my previous work and it focuses on the design of policies and the corresponding underlying infrastructure support for … …

后来想想,写paper都要写吐了,就别再找虐受了,好好写一点写不进paper的东西才是正道!

好吧,我是一名待毕业搞研究的!

搞了几个年头,以下大概能勾画出我研究的roadmap

装逼版
-> Monitoring Platform ...
-> IP Geo-locating via ...
-> Event Support Platform ... 
-> Measurement Study of Online ...
-> Smart Meter System for ...
-> Data Analytic Policy ...

然而,真实情况是。。。

懵逼版
-> 写软件
-> 数据分析未遂
-> 写APP
-> 数据分析入门
-> 写Web APP
-> 数据分析再入门

所以,结论是 数据分析 才是重点,其他都是noise。但是,noise的产生也是有原因而且必要的,因为世界上没有免费的午餐,更没有免费的数据。辅助开发有几个好处,首先当然是获(pian)取(qu)合作方的信任,继而自由使用既有数据;其次,辅助系统往往能自(ren)然(wei)地产生一些新的数据;最后是最重要的,说出去可以装逼,显得自己很厉害的样子。不过,noise不能太过了,毕竟开发是一件费时费力的差事,我的教训就是现在每天都在YY拿到博士学位感受是怎样的?

言归正题,数据分析的魔爪已经伸向了各行各业。大数据,数据挖掘,机器学习,人工智能这些高大上都烂大街了。到相关的研究方向,除了那批研究模型优化算法的,感觉大多都是服务于某个特定行业或者产业了。轮到我等散兵游勇,只能借导师的光,找个合作方,开始互惠互利了。

所以,问题来了,数据分析该怎么做?

参照上面的roadmap,我还在再次入门阶段,自然没有指导性意见。但是,坑我没少进,懵逼的体验很多,可以分享一下感受和经验。

说说入手数据。最好的情形是,合作方还健在,有开发或者维护人员,可以提需求定制数据。这等可遇不可求的机会,被我遇到过几回,就不具体炫耀了。这里分享一个从封闭系统实时入手数据的经历。

场景是一个集监测管理和充值收费为一体的用电管理平台,包括底层硬件,系统服务器和数据库,终端管理以及付费收费平台。唯一可以看见数据的地方在终端管理的软件上,可以根据有限的需求导出一些数据报告,导出的是不适合任何数据分析方法的格式。我熟悉整个系统后第一个目标是用电数据的分析,那第一步就是怎么获取裸数据。

前端的数据不可用,自然想到去后面翻一翻。初步探索后发现服务器会每天备份一份完整的数据库到本地,WTF!这么粗鲁的设计,正是我喜欢的!立马搬走,解压,导入,于是整个系统的几十个Table以及数据都在我的电脑里熠熠生辉。

第一个目标自然好说了!折腾了一段时间后,开始寻摸着搭建一个反馈平台给用户,想让他们交钱也交个明白。这就要求,手头的数据要能同步更新,上文有说原系统是不提供数据接口的,只能自己拿了。最粗鲁的做法是,每天月黑风高的半夜,从服务器拿最新的备份,重复一遍搬走解压导入的过程,搭建一个每日更新的数据库,再按需要设计反馈平台即可。这么粗鲁的方法我自然没考虑了,我必须得让反馈平台和原系统优雅的进行交流。

又跑去后台翻,发现一枚毫无保护的数据库!先尝试远程连,发现并不可行,心生一计,于是在本地搭载了一个web服务器,写了一些简单的数据接口,反馈平台那边就按需要从这些数据接口获取数据。这个方法被后来验证是可行的!在这个基础上搭建的反馈平台和管理平台,已经成功服役一段时间了。

为自己的机智点了个赞的同时,也心有余悸,要不是原系统粗鲁的设计,一切都无从谈起!

其实,跨系统数据无法共享的情况是一个很常见的问题,UCB的大牛们已经在往这个方向努力了,大致思路是制定一些共同场景(比如智能建筑)下的系统的数据规范,详情请戳

先写到这!

Published: June 29 2016

blog comments powered by Disqus