R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据

全文链接:http://tecdat.cn/?p=23170 

我们被要求在本周提供一个报告,该报告将结合回归,虚拟变量等数值方法

在本文中,本文与以下两个问题有关。你应该如何添加虚拟变量?你应该如何解释结果

简介

如果使用一个例子,我们可能会更容易理解这些问题。

数据

假设我们想研究工资是如何由教育、经验和某人是否担任管理职务决定的。假设

  • 每个人都从年薪4万开始。
  • 实践出真知。每增加一年的经验,工资就增加5千。
  • 你学得越多,你的收入就越多。高中、大学和博士的年薪增长分别为0、10k和20k。
  • 海面平静时,任何人都可以掌舵。对于担任管理职位的人,要多付20k。
  • 天生就是伟大的领导者。对于那些只上过高中却担任管理职位的人,多给他们3万。
  • 随机因素会影响工资,平均值为0,标准差为5千。

下面是部分数据和摘要。

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第1张图片

绘制数据

有和没有管理职位的人的工资和教育之间的关系。

 jitter(alpha=0.25,color=colpla[4])+
  facet_wrap(~管理职位)+
boxplot(color=colpla[2])

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第2张图片

有管理职位和没有管理职位的人的工资和经验之间的关系,以教育为基础。


点击标题查阅往期内容

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第3张图片

线性回归和时间序列分析北京房价影响因素可视化案例

图片

左右滑动查看更多

图片

01

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第4张图片

02

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第5张图片

03

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第6张图片

04

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第7张图片

 stat_smooth(method = "lm")+
  facet_wrap(~管理职位)

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第8张图片

回归分析

忽略教育和管理之间的相互作用

我们只将工资与教育、经验和管理职位进行回归。其结果是 

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第9张图片

虽然这些参数在统计学上是有意义的,但这并没有任何意义。与高中相比,大学学历怎么可能使你的工资减少5105?

正确的模型应该包括教育和管理职位的交互项。

添加教育和管理之间的交互作用

现在,让我们添加教育和管理之间的交互项,看看会发生什么。

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第10张图片

对结果的解释

现在的结果是有意义的。

  • 截距为40137(接近4万)是基本保障收入。
  • 教育的基数是高中。与高中相比,大学教育可以平均增加9833元(接近1万)的工资。与高中相比,博士教育可以增加19895元(接近2万)的工资。
  • 多一年的工作经验可以使工资增加4983元(接近5千)。
  • 担任管理职位的高中毕业生有49695元的溢价(接近5万)。这些人是天生的领导者。
  • 与担任管理职位的高中毕业生相比,担任管理职位的大学毕业生的溢价减少了29965.51至29571(49735.74-29965.51,接近2万)。
  • 与高中毕业生担任管理职位相比,博士毕业生担任管理职位的溢价减少了29501至19952.87(接近2万)。另外,你可以说管理职位产生了20K的基本溢价,而不考虑教育水平。除了这2万外,高中毕业生还能得到3万,使总溢价增加到5万。

检验是否违反了模型的假设

为了使我们的模型有效,我们需要满足一些假设。

  • 误差应该遵循正态分布

正态Q-Q图看起来是线性的。所以这个假设得到了满足。

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第11张图片

  • 没有自相关

D-W检验值为1.8878,接近2,因此,这个假设也满足。

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第12张图片

  • 没有多重共线性

预测变量edu、exp和mngt的VIF值均小于5,因此满足这一假设。

图片

用数据的子集进行回归

你可以通过用一个数据子集运行模型来获得同样的结果。你可以将数据按教育程度分成子集,并在每个子集上运行回归模型,而不是使用一个教育的虚拟变量。

如果只用高中生的数据,你会得到这样的结果。

sub<-d %>% 
+   filter(教育=="高中")

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第13张图片

仅凭大学生的数据,你就能得到这个结果。

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第14张图片

只用来自博士生的数据,你会得到这个结果。

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第15张图片

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据_第16张图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素》。

图片

点击标题查阅往期内容

Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
非线性回归nls探索分析河流阶段性流量数据和评级曲线、流量预测可视化
非线性回归beta系数估算股票市场的风险分析亚马逊股票和构建投资组合
R语言因子实验设计nlme拟合非线性混合模型分析有机农业施氮水平
R语言非线性混合效应 NLME模型(固定效应&随机效应)对抗哮喘药物茶碱动力学研究
Python用T-SNE非线性降维技术拟合和可视化高维数据iris鸢尾花、MNIST 数据
R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例
Python中的多项式回归拟合非线性关系实例
使用R语言进行多项式回归、非线性回归模型曲线拟合
R语言多项式回归拟合非线性关系
R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
R语言ISLR工资数据进行多项式回归和样条回归分析
R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型
R语言多项式线性模型:最大似然估计二次曲线
R语言广义线性模型GLM、多项式回归和广义可加模型GAM预测泰坦尼克号幸存者
R语言中的多项式回归、B样条曲线(B-spline Curves)回归
R语言用多项式回归和ARIMA模型预测电力负荷时间序列数据
R语言机器学习实战之多项式回归
R语言ISLR工资数据进行多项式回归和样条回归分析

你可能感兴趣的:(数据挖掘深度学习)