大数据文摘作品
编译:大茜、高宁、Aileen
“除了上帝,任何人都必须用数据来说话。”
我正在构思一篇讨论软件行业内,关于专业程度与薪酬间相关性的文章。而且我已经有了关于专业程度为什么会影响薪酬,是如何影响薪酬,以及专业性产生偏好的猜测。接下来,我唯一需要做的是用数据统计论证。
首先,我拿到了2017年Stack Overflow的调查数据(https://insights.stackoverflow.com/survey/2017),对其进行清洗,然后插入了一些以前研究中认为能够影响最终薪酬的变量。
数据分析中最棘手的问题之一是明白哪些变量需要测试,而哪些变量不测试,哪些是控制变量。例如,我可以测试“在工作中使用PHP”是否会增加薪水,但如果我没有考虑到受访者的国家,那么我们可能无法证明PHP对薪水的影响程度。
我测试专业分支时,需要去简化数据集并提高对专业分支变化的敏感度。于是,我选择了只用来自美国的专业网页开发人员的数据,然后对比专业的前端和后端开发人员与全栈开发人员的薪水,分析专业程度对薪酬的影响。
分析过程中,我逐步添加了以下变量:经验,教育,网页开发人员类型。然而,分析结果并不理想。我本以为,接受过正式的教育会对工资有正面影响,然而,意料之外的事情发生了。
我本身是一个网页开发人员,负责全栈开发。我一直在想,如果我可以更专业一些,拿到计算机科学专业(ComputerScience,以下简称CS)学位而不是文科的学位,那么我可能会赚更多的钱。而我弟弟拥有CS学位,而我和他的薪水是在两个完全不同的量级上,我只能望其项背。所以我跟自己遇到的每一个对编程感兴趣的人说:CS专业的本科学位是很值钱的,拥有它,你至少能跟别人产生2万美金的永久性薪水差距,而且这还是我的保守估计。
所以你可以想象当我把CS专业与其他专业进行对比分析时,我有多震惊。因为结果居然是:不同专业的毕业生的工资之间并没有显著差异。
我想,“我的分析肯定哪里做得不对”。在第一次分析时,我将CS专业毕业的工程师,数学家和信息技术专业的毕业生都混在一起。显然,CS专业需要被细分成不同的类别。
然后,我又进行了一轮分析。
但结果依旧是:不同专业间没有显著差异。
对美国专业网页开发人员薪水影响因素的线性回归分析
让我详细说说我的分析。
当我把教育背景、经验、网页开发者类型和本科专业考虑在内时,CS专业(工程或数学专业)和薪水没有相关关系。
然后,我开始删除一些变量。我想,也许CS专业毕业生通常进入后台程序开发领域。然后,我删除了“网页开发者类型”。结果是:没有相关性。
我剔除了与教育背景相关的所有影响因子,不考虑是否有本科、硕士或博士学位。结果依然是:没有相关性。
我尝试了几乎所有可以想象到的组合,但依旧找不到CS本科学位和拥有更高薪水之间的显著相关性。
对于CS本科学位与薪水之间缺乏统计相关性,有几种可能的解释。我首先想到的是数据质量不高,这可能是一个不合适的抽样结果,或者有人在撒谎,亦或者被调查者没有完成调查。
这个调查本身确实存在一些问题。例如,实际上只有三分之一的美国专业网页开发人员报告了他们的薪水,而在这些人中,大部分人的薪水都是在9万美元到13万美元的水平。网页开发人员在美国的平均工资约9万美元。所以这里可能有一个偏差,因为只有那些觉得自己的薪水还不错的人,才会在调查中填写他们的真实薪资水平。
然后我对这个假设进行了验证,把低于平均40K美元的薪水都标注为N/A。分析结果打破了以前我们公认的所有关联性,也没有其他新的发现。
另一种可能性是CS专业的本科生毕业后进入网页开发以外的领域,只有一些人零零散散地还留在这里。当然,这个应该不是主要原因。
统计学是一门科学,同时也是一门艺术。对数据进行回归并找到相关性是很容易的,但有时只是总结整个事物的逻辑。在不真实的统计中,统计数字可能传达了虚假的信息。
“世界上有三种谎言:谎言、糟糕透顶的谎言和统计数据。” - 马克•吐温
在回顾第一次线性回归时,我注意到一个问题:有些受访者虽然上了大学,但并没有获得相应学位,而且这个比例竟然高达14%。虽然这个变量并不是最重要的变量,但肯定会对分析带来一定的影响。如果这些从大学辍学的学生中有一些是CS专业的呢?
然后我新增了两个交互变量:一个是是否获得学士学位,另一个是否获得硕士学位。结果是显著的,而且是高度相关。如此看来,是否拥有CS专业的学位确实会影响薪资水平。
对于影响美国专业网页开发人员工资的影响因素的线性回归:包含CS相关交互变量
事实真的如此吗?对于“攻读CS专业”和“获得CS学士学位”这两个变量,对薪资的影响程度是很相近地,相差不到一千美元。
另一方面,拥有一个CS专业的硕士学位,薪水可能会多一万美元。所以如果你对网页开发很感兴趣,而且你已经有了CS专业的本科学位,那么你可能要考虑去读一个硕士学位。
转了一圈,终于又回到了我最初的假设- 是否有CS专业学位确实会影响薪水,但是影响程度远远不及我最初假设的2万美元。
事实上,只有大约一千美元左右的差距 - 对于大多数接受薪水调查的开发者而言,这个差距还不到他们总收入的2%。
也许这对我而言是一个打击,因为作为一个加拿大人,在简历筛选时,我们往往更传统一点。或许CS专业学位在我们加拿大还是很有价值的,亦或许在世界上很多地方都是很有价值的。但在美国,是否拥有CS学位似乎对专业的网页开发者的薪水并没有什么影响。
很可惜,本文数据里并没有包括中国。各位读者们,从你们的经验来看,在中国,CS学位是影响工资的关键因素吗?
【今日机器学习概念】
Have a Great Defination
线下课程推荐|机器学习和人工智能方向
早鸟价倒计时2天
新年新目标,稀牛喊你找工作啦!
✪ 高频面试考点
✪ 行业项目经验
✪ 简历修改完善
✪ 面试注意事项
VIP小班授课,定制化服务,2018春招Offer触手可即!
志愿者介绍
回复“志愿者”加入我们