择业时,有哪些公司可以选择?
各行各业都在利用大数据来解决问题,所以有很多公司有相关职位。
科技公司:Twitter,Microsoft,BAT,搜狗,美团,滴滴
金融公司:Capital One(从建立之初就开始用一些数据方法进行风险控制等方面的工作),高盛,Blackrock,Hedge Fund
咨询公司:Polunteer(帮助美国政府部门解决反恐、审查等工作),麦肯锡,IBM(传统咨询公司也慢慢转向 data 方向)
专门做数据分析平台的公司:Kotara,Hotten,Databreaks
其他公司:Horizon(电信),Comecrack(传媒),消费品公司,医疗公司
数据科学的主要工作?
分为四部分:归纳问题、准备探索数据、模型训练检验调整、报告和产品。
1. 归纳问题
客户给公司的任务,或者头头给分析师的任务,不是一个具体的任务(用 xx 模型来做 xx 数据),而是一个具体的商业问题。比如,上个季度为什么盈利下降了。这就是一个归纳问题的环节,需要有专业知识帮助我们找到方向。
2. 准备探索数据
归纳问题结束之后,会产生很多假设,这就需要寻找数据验证假设。
寻找数据一般是竭尽所能,比如收入不好与市场推广有关,就会去寻找广告商的数据。
寻找数据以后,要检查数据质量,是否有异动、缺失等等。数据质量能够决定模型的准确率。所以花在“清洗整理”数据上的时间要占到总时间的 60% 甚至更多,有时候也需要跟客户进行交流。
检查完质量以后,做一些探索性分析。
3. 模型训练检验调整
先确定模型基本类型(回归、聚类等),选取比较合适的模型进行搭建,用 test 对模型进行检验。检验的同时再去寻找模型最优的参数配置,对模型进行预测,如果预测结果很好的话,建模过程就结束了。
4. 报告和产品
在咨询公司中,模型做完以后,会和客户进行交流,看是否符合实际。在科技公司中,模型往往会发展成一个产品。放在公司平台上测试,或者发布到网上。
面试准备
Data scientist 需要具备的能力:
1. Hacking skills(programming skills);
2. Math and statistics knowledge;
3. Sustained expertise。
硬实力方面
数学方面的知识在各大公司,如 Google,相关职位的面试中很喜欢被提及,主要集中在概率论的基础理论,比如独立分布,随机数等等。
有一道题供大家思考,现有一个随机数生成器,等概率生成 1~4 四个数字。问如何改进生成五个数字。这是一道与概率、工程学相关的题。
在统计方面涉及比较多的是 ABtest 实验设计理论。这个问题在做过 research 以后才会更加了解。比如要做一个药物测试,测试其效果,就会涉及一个大样本双盲测试。大家就需要了解其前提假设与操作。
模型方面的内容是重头戏,问的比较多的是回归分析和机器学习。根据职位不同,问的也有可能不同。比如给一个回归模型,系数应该如何计算,T 检验是什么之类的问题。再比如,加权回归,Principle Component Regression。
除了回归分析,很多公司也会问关于机器学习的模型。主要会集中在问 Classification,比如 Logistic Regression 、FBM、Tree model。各自有什么特点,适合于哪些情景等,也会展开问。比如问 Tree model 下三个模型的异同点,解决的问题,适合用在怎样的数据上面,包括模型的评价,术语。
很多公司要求你有一定的编程能力。希望大家在准备时刷一些 lecal 的中低难度的题,高难度的不需要。C++,Python,Java 等语言一般都可以用,但是推荐用 Python 和 Java,尤其是 Python,因为 Python 在数据挖掘方面运用的很多,对熟悉语法有帮助。也有公司会问 Pascal 和 R 语言的问题。
软实力方面
如果想去金融、咨询行业工作,一定要注重提升软实力。
要注意三点。
第一,熟悉自己的简历。在面试的一开始都会要求过简历,或者说一下自己 highlight 的地方。建议要熟悉自己简历的内容。推荐一个回答问题的 SAR 结构,就是 Situation-Action-Result 结构,按照这个清晰的条理来展现自己。
第二,准备一段非常好的团队合作的经历。这在科技公司中可能要求不高,但是在金融、咨询公司是很看重团队合作的,要求你有一定的 leadership。一定要体现你在团队出现问题的时候能冷静面对,积极沟通的能力。
第三,在面试之前研究一下公司及所在行业。准备一些聊天的话题,面试官可能把你从一个房间带到另一个房间的路上,聊一些比较好玩的而不是老生常谈的话题,这对气氛、心态有很大的帮助。