Download presentation
Presentation is loading. Please wait.
1
注:本案例数据来自于《R语言:从数据思维到数据实战》朱雪宁 等著,中国人民大学出版社。
案例分析 数据分析岗位薪酬影响因素分析 注:本案例数据来自于《R语言:从数据思维到数据实战》朱雪宁 等著,中国人民大学出版社。
2
数据
3
数据信息 表1 jobinfo数据变量说明
4
数据分析流程 确定数据分析目标 数据预处理 描述性分析 应用回归模型 回归结果诊断 模型选择 模型预测
5
1. 数据分析目标 target 因变量:岗位薪酬(平均薪资) 自变量:各种可能的影响因素(软件要求、经验要求、
公司属性等) 分析目标:建立因变量与自变量的多元线性回归模型, 估计模型系数,检验系数显著性以确定自变量是否对因变 量有影响,并用模型进行预测。
6
2. 数据预处理 含义:整理数据,使之变成可以直接建模的数据格式。 变量类型:数据矩阵的因变量为分类变量或定量变量。 具体做法:
对全部职位进行筛选,保留包含“数据”、“分析”、“数据分析”或者“数据挖掘”字眼的职位; 对岗位列出的招聘薪酬计算平均工资; 根据工作岗位所在地域,把“地区”变量划分为是否位于北上深这3个特大城市。其中,1代表所在地是北上深,否则取0。
7
2. 数据预处理 把“公司规模”转变为因子型变量,分为“少于50人”、 “50-150人”、 “ 人”、“ 人”、 “ 人”、 “ 人”、“10000人以上”这几个类别。其中,“50-150人”和“ 人”合并为一个水平:“50-500”人。 把“学历要求”转变为因子型变量,包含博士、硕士、本科、大专、高中、中专、无共7大类。 对从“职位描述”变量中提取数据分析岗位对软件能力的要求:将R、SPSS、Excel等12种软件的应用能力,转化为12个0-1定性变量(每种软件1个)。其中,1代表要求掌握相应软件,否则取0。
8
2. 数据预处理 把公司类别转变为因子型变量,包含创业公司、国企、民营公司、合资、外资、上市公司、非营利机构和事业单位。其中,非营利机构和事业单位两个类别由于数量过少,没有对比价值,因此将包含两个类别公司的招聘岗位信息删除。 注意:p水平变量只能表示成p-1个0-1定性变量,否则导致 多重共线性问题。
9
3. 描述性分析 目的:通过描述性分析,了解变量的分布情况,及判断因变量与自变量的相关性大小和方向。 单变量分析:以因变量“平均薪资”为例
图1 平均薪资直方图
10
3. 描述性分析 自变量与因变量关系分析 若自变量X为定性变量,因变量Y为数值型变量,可通过绘制箱线图来观察X与Y之间的关系。
图2 不同学历水平的平均薪资分组箱线图
11
3. 描述性分析 图3 不同工作经验的平均薪资分组箱线图
12
4. 多元线性回归 在R软件中使用lm( )命令,可以直接得到建模结果以及模型整体评价的相关指标。
13
4. 多元线性回归
14
4. 多元线性回归
15
4. 多元线性回归 模型系数解读 系数的基本含义:在控制其他自变量不变的条件下,某个自变量每变化1个单位导致因变量变化的平均值。
(1)自变量为数值型变量:按照系数的基本含义直接解释回归系数。 例如自变量exp(经验要求)对应的系数为1023.4,其含义为在控制其他因素的条件下,对数据分析的工作经验年限要求每多一年,相应岗位的薪资就平均高出1023.4元/月。
16
4. 多元线性回归 (2)自变量为分类变量:回归系数可解释为自变量取该分类时,因变量的值平均比基准水平高多少。 例如自变量area(地区)对应的系数为 ,其基准水平为“ 非北上深地区”,说明在北上深的岗位,薪资平均比不在北上深的岗位 高出 元。 例如自变量academic(学历要求),academic(博士)对应的系 数为 ,其基准水平为“无”,说明要求博士学历的岗位薪资平均 比无教育水平要求的岗位高 元。
17
4. 多元线性回归 模型检验 (1)模型整体显著性检验:F检验,判断所有X与Y之间的线性关系是否显著。
检验结果中F统计量对应的p值远小于0.05,说明该模型整体线性关系在0.05显著性水平下是显著的。 (2)模型整体的拟合效果:用调整R方来刻画。该回归结果的调整R方为0.3093。
18
4. 多元线性回归 (3)各个系数显著性检验:t 检验 回归结果中变量是否带特殊标记表示变量对应的系数是否显著:
“***”的变量表示其在0.001显著性水平下显著; “**”的变量表示其在0.01显著性水平下显著; “*”的变量表示其在0.05显著性水平下显著; “.”的变量表示其在0.1显著性水平下显著。 不带这些特殊标志的变量就是非显著变量。
19
5. 多元线性回归结果诊断 目的:根据直接得到的模型结果,判断数据是否符合模型假设,若不符合,则要对数据进行处理和调整,以适合选用的模型。
模型检查 样本检查 X变量检查 其他检查 提出解决方案
20
5. 多元线性回归结果诊断 图4 模型诊断图
21
5. 多元线性回归结果诊断 模型检查 残差图:Y的拟合值与残差之间的散点图。
(1)检验残差与自变量独立的假设是否成立:若残差的均值随着拟合值的变化出现了系统性的变化规律,则说明模型的设定有问题。 根据图4中左上方的图,可以发现残差的均值与拟合值之间 没有明显的关系,说明该模型的设定基本没有问题。
22
(2)检查是否存在异方差问题:若残差的波动性(方差)随着拟合值的变化出现系统性的变化规律,则说明残差还包含有重要信息。 根据图4中左下方的图,可以发现残差的方差随着拟合值的 增大有变大的趋势,说明存在一定的异方差问题。
23
5. 多元线性回归结果诊断 样本检查 Cook距离图:检查是否存在强影响点。若存在强影响点,为了保证模型的稳健性,需要剔除强影响点。
(1)一般认为Cook距离>1或者>4/n为强影响点。 (2)若某些样本点的Cook距离“特别大”,与其他样本相比在量级上具有压倒性优势,则认为这些样本点可能是强影响点,否则不认为样本点是强影响点。 根据图4中右下方的Cook距离图,可以发现样本点“282”被系统标记出,但是经过数值比较,发现它与其他样本点的Cook距离相比,其Cook距离不具有压倒性优势,且剔除后对回归结果影响不大,所以不认为样本点“282”为强影响点。
24
5. 多元线性回归结果诊断 X变量检查 VIF(方差膨胀因子):检查某些X变量之间是否存在多重共线性。 计算公式:
(3)当自变量之间存在严重多重共线性时,会出现以下问题: ① 有些自变量的回归系数不显著; ② 回归系数的正负号与现实合理的解释相悖。
25
5. 多元线性回归结果诊断 (4)多重共线性问题的常用解决办法: 从模型中删掉解释变量; 获取额外的数据或新的样本;
变量变换:通过对模型中的变量变换有时能够降低共 线性程度; 加权合并共线性变量; 逐步回归、岭回归以及主成分回归。
26
5. 多元线性回归结果诊断 各变量VIF值 从上面的结果可以看出,各自变量的VIF值都小于5,说明模型基本不存在多重共线性问题。
27
5. 多元线性回归结果诊断 其他检查 Q-Q图:检查残差服从正态分布的假设是否成立。若Q-Q图近似一条直线,则说明数据满足误差的正态性假设;反之,则说明数据可能存在问题,不符合正态性假设。 对于非正态性问题,一般可通过对因变量Y取对数的方式解决。 根据图4中右上角的Q-Q图,可以发现该Q-Q图不是一条直线,说明数据可能存在问题,不符合正态性假设。
28
5. 多元线性回归结果诊断 解决方案 根据检查结果,该模型存在一定的异方差和非正态性问题,尝试的解决方法是对因变量进行对数变换。
注意:实际数据很难满足各种诊断,对此不必过于执着,要把分析重点放在对业务问题的解读上。 采用解决方法处理之后进行再次回归,得到相应的模型诊断图(图5)。从中可以发现异方差问题和非正态性问题都得到了很大改善。
29
5. 多元线性回归结果诊断 图5 对数变换后的回归诊断图
30
6. 模型选择 模型选择涉及两个方面:模型精度和模型复杂度。
常用的模型选择准则为AIC或BIC准则。这两个准则力求在模型简洁(自变量个数越少越好)与模型精度(拟合误差越小越好)之间找到一个最优平衡点。 在本案例中,选择AIC准则进行模型的变量选择,同时为模型添加可能对因变量有影响的地区与公司规模的交互项(即将两个自变量的乘积作为一个新的自变量引入模型),得到最终的模型。
31
6. 模型选择
32
6. 模型选择
33
6. 模型选择 注意:对数线性模型的系数含义与一般线性模型不同,其系数的含义为“增长率”,即在控制其他自变量不变的条件下,某个自变量每变化1个单位,因变量的增长率。 对照系数估计结果,在控制其他自变量不变的条件下,可得到以下结论: (1)学历:高中学历的平均薪资最低,博士学历的平均薪资最高,比高中学历的平均薪资高105.6%([ ( )]×100%)。 (2)经验:工作经验年限要求每多一年,平均薪资高出10.0%。 (3)软件:需要SQL,Hadoop应用的岗位比不需要的岗位平均薪资分别高14.5%,22.9%,需要Excel应用的岗位比不需要的岗位平均薪资低14.4%。 (4)地区:北上深地区比其他地区平均薪资高39.5%。
34
7. 模型预测 由得到的模型可进行数据分析岗位的薪酬预测:
(1)一位会用R和Python但没有工作经验的本科生,找一份位于上海、规模87人的上市公司总部提供的工作 ① 根据上述条件,可得到该本科生对应的自变量的值: (1,0,0,1,0,0,0,0,0,0,0,0,1,“上市公司”,“50-500人”, “本科”,0) ② 将该自变量的值代入回归模型,即可预测该工作的薪酬:
35
7. 模型预测 (2)一位已经工作了7年的博士,会用R,SAS和Python等多款统计软件,不仅会分析,还能用Java直接在APP/网页终端实现自己想法,找一份位于北京、规模 人的创业公司提供的工作。 ① 根据上述条件,可得到该博士对应的自变量的值: (1,0,0,1,0,1,0,1,0,0,0,0,1,“创业公 司”,“50-500人”,“博士”,7) ② 将该自变量的值代入回归模型,即可预测该工作的薪酬 :
36
7. 模型预测 (3)一位没有学历,有微弱的国企工作经验,不会任何统计软件的人,找一份不位于北上深地区、规模少于50人的国企提供的工作。
① 根据上述条件,可得到该人对应的自变量的值: (0,0,0,0,0,0,0,0,0,0,0,0,0,“国企 ”,“少于50人”,“无”,0) ② 将该自变量的值代入回归模型,即可预测该工作的薪 酬:
Similar presentations