原文链接:http://tecdat.cn/?p=22805 

为什么须要虚构变量?

大多数数据都能够用数字来掂量,如身高和体重。然而,诸如性别、节令、地点等变量则不能用数字来掂量。相同,咱们应用虚构变量来掂量它们。

例子:性别

让咱们假如x对y的影响在男性和女性中是不同的。

对于男性y=10+5x+ey=10+5x+e

对于女性y=5+x+ey=5+x+e。

其中e是随机效应,平均值为零。因而,在y和x的实在关系中,性别既影响截距又影响斜率。

首先,让咱们生成咱们须要的数据。

#真斜率,男性=5,女性=1ifelse(d$性别==1, 10+5*d$x+e,5+d$x+e)

首先,咱们能够看一下x和y之间的关系,并按性别给数据着色。 

plot(data=d)

很显著,y和x之间的关系不应该用一条线来描述。咱们须要两条:一条代表男性,一条代表女性。

如果咱们只将y回归到x和性别上,后果是

x的预计系数不正确。

正确的设置应该是这样的,这样能够使性别同时影响截距和斜率。

或者应用上面的办法,增加一个虚构变量。

该模型表示,对于女性(性别=0),预计的模型是y=5.20+0.99x;对于男性(性别=1),预计的关系是y=5.20+0.99x+4.5+4.02x,也就是y=9.7+5.01x,相当靠近实在关系。

接下来,让咱们尝试两个虚构变量:性别和地点

性别和地点的虚构变量

性别并不重要,但地点很重要

让咱们获取一些数据,其中性别不重要,但地点会很重要。

绘制查看x和y之间的关系,按性别给数据着色,并按地点离开。

plot(d,grid~location)

 性别对Y的影响仿佛是显著的。但当你比拟芝加哥的数据和多伦多的数据时,截距不同,斜率也不同。

如果咱们疏忽了性别和地点的影响,模型将是

R-squared是相当低的。

咱们晓得性别并不重要,但咱们还是把它加进去,看看是否会有什么不同。 

正如预期,性别的影响并不显著。

当初让咱们来看看地点的影响

地位的影响是很大。但咱们的模型设置基本上是说,地位只会扭转截距。

如果地位同时扭转了截距和斜率呢?

你也能够试试这个。

性别并不重要,而地点会扭转截距和斜率。

性别并不重要,而地点会扭转截距和斜率

当初让咱们获取一些性别和地点都很重要的数据。让咱们从两个地点开始。

ifelse(d$性别=="0" & d$地点=="多伦多", 1+1*d$x+e,+                    ifelse(d$性别=="1" & d$地点=="芝加哥", 20+2*d$x+e,+                           ifelse(d$性别=="0" & d$地点=="芝加哥", 2+2*d$x+e,NA))))
plot(d,x,y,color=性别~地点)

性别和地点都很重要,5个地点

最初,让咱们尝试一个有5个地点的模型。

+                    ifelse(d$性别=="1" & d$地点=="芝加哥", 2+10*d$x+e,+                           ifelse(d$性别=="0" & d$地点=="芝加哥", 2+2*d$x+e,+                                  ifelse(d$性别=="1" & d$地点=="纽约",3+15*d$x+e,+                                         ifelse(d$性别=="0" & d$地点=="纽约",3+5*d$x+e,+                                                ifelse(d$性别=="1" & d$地点=="北京",8+30*d$x+e,+                                                       ifelse(d$性别=="0" & d$地点=="北京",8+2*d$x+e,+                                                              ifelse(d$性别=="1" & d$地点=="上海",
plot( x,y,color=性别 ~地点)

所以,如果你认为某些因素(性别、地点、节令等)可能会影响你的解释变量,就把它们设置为虚构变量。


最受欢迎的见解

1.R语言多元Logistic逻辑回归 利用案例

2.面板平滑转移回归(PSTR)剖析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型剖析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度测验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存剖析与Cox回归中计算IDI,NRI指标