Stata:虚拟变量专题-生成与使用

说实话,在使用Stata处理虚拟变量的时候,我第一次遇到的时候是非常头疼的。
但说实话,一旦你了解了这个例程,你就会发现它比 SPSS 兄弟灵活得多。
我给大家讲讲我这些年的实践经验。

我们先来谈谈分类变量。
例如,您有一个名为“教育”的变量,它分为三个级别:“本科”、“硕士”和“博士”。
只需使用学术证书计划程序和创建(虚拟学习)即可。
但请注意,Stata默认会使用“本科生”作为参考组,并会创建两个虚拟变量。
例如,当您创建虚拟副学士学位和虚拟硕士学位时,返回时只能使用后两个学位,而不能同时使用两者。
我爬上洞,把三个都塞了进去。
模型直接崩溃,说明存在共线性。
后来,我的教授告诉我,我必须手动删除一个,“本科生”或“博士”,具体取决于你的研究重点。

连续变量更有趣。
比如年龄,直接进入年龄组egen = cutoff(age),排名时(0 2 0 4 0 6 0 8 0 1 00),分为2 0岁以下、2 0-4 0岁、4 0-6 0岁、6 0岁以上四个级别。
注意不要填写小时后的数字,一定要有实际意义。
例如,我处理了某个省份公务员的数据,并将年龄分为“3 5 岁以下”、“3 5 -4 5 岁”、“4 5 -5 5 岁”和“5 5 岁以上”,以便在回归时可以轻松解释系数。
创建年龄组后,使用年龄制表,创建的(虚拟年龄)成为虚拟变量。

先进技术中,给我印象最深的就是egen数组(var1 var2 )的使用。
比如分析房价,你想看到“学区+区”的综合效应。
live egen group = 组(学区的变量区组),然后安排组,创建(默认组)。
我对某个城市的数据进行了处理,发现“好学区+大住房”和“一般学区+小住房”的效果有很大不同。
这种虚拟变量的组合有很大帮助。

我也经常使用inlist和inrange。
例如,在分析消费者行为时,我想查看“2 5 -3 5 岁男性”这一细分群体。
直接年轻男性=包含(年龄,2 5 、3 5 )并且包含(性别,1 ),1 表示是,0表示否。
这比手动编写条件语句要好得多。
我正在处理来自电子商务平台的数据,并用它来检查“购买奢侈品的 2 5 -3 5 岁男性”的子样本。
结果的解释力比完整样本高出 3 0%。

最后,给大家讲讲我遇到的坑的经历。
创建虚拟变量后不要急于运行回归。
应使用 Collin 命令检查共线性。
我有一位非常严肃的老师,他说即使两个虚拟变量之间只有 0.1 % 的共线性,系数的解释也会打折扣。
还有另一个细节,例如性别变量:1 男 1 女。
生成虚拟变量时,使用“男 = 1 女 = 0”会影响“男 = 0 女 = 1 ”结果的符号。
我处理了一家特定公司首席执行官的数据,发现性别系数的符号相反。
查了一下,发现创建方法不一样。

这个东西就是Stata。
它有很多命令,但组合起来很灵活。
您可以先单独运行几次这些命令,然后一起使用它们,您会逐渐熟悉它们。
完成这个例行程序后,我至少能够完成一半的案例分析。

R语言计量经济学:虚拟变量(哑变量)在线性回归模型中的应用

虚拟变量从类别转换为数字。
时间、地点、数量未提及。
去做就对了。
男 1 女 0。
交互作用和平方系数。
只是截距不同而已。
Rsquared 值取决于拟合情况。
解释力取决于系数。
不要感到困惑。

R语言计量经济学:虚拟变量(哑变量)在线性回归模型中的应用

坦率地说,R 中的虚拟变量是操作分类数据的主要工具。
其实很简单。
虚拟变量旨在将非数字变量转换为计算机可以理解的数字数据,例如性别和位置等分类变量。
我们先来说说最重要的事情。
虚拟变量可以捕捉变量之间的交互作用。
例如,性对男性和女性的影响可能不同。
对于我们去年运行的项目,性别和地点之间的相互作用项很重要,尽管性别变量本身并不显着。
还有一点是,添加虚拟变量可以改变截距和斜率。
很多人不注意这一点。
例如,虽然性别并不重要,但位置可能会改变截距和斜率。
等等,还有别的事。
可能影响解释变量(例如季节和地理位置)的因素也应作为虚拟变量包含在模型中。
我认为值得一试。
将这些虚拟变量添加到模型中可以显着增加 R 平方值并使预测更加准确。
但要注意,使用虚拟变量时要小心多重共线性问题,这可能会导致模型不稳定。

计量经济学:虚拟变量模型

哎,这个虚拟变量模型,说实话,第一次搞清楚是很痛苦的。
我只喜欢真实的例子,而不仅仅是理论。

2 004 年我在深圳,刚刚接手一个项目,研究影响房价的因素。
数据就在这里,一串数字,年龄,收入,面积,都可以直接拿来用。
但有一个关键因素。
小区靠近地铁站吗?如何量化这一点?我正在考虑创建一个虚拟变量。
那些接近的标记为 1 ,那些不接近的标记为 0。
就这么简单,嘿,它确实有效。

创建虚拟变量仅仅意味着找到 calcategori 变量的数字替代品。
例如,看年龄。
他们说6 0岁是人,5 0岁也是人。
那么如何区分呢?我刚才说了,创建一个名为“older”的变量,如果超过 6 0 岁则输入 1 ,如果低于 6 0 岁则输入 0。
这在 Stata 中并不困难,只需“老一代”=(年龄 >= 6 0)。
或者像你说的,先赋值0,然后替换成1 ,也可以。
关键是你要想清楚这个类别中哪个是“是”,哪个是“否”。

再举个例子:我在杭州做旅游研究,有一个变量是“是否是节假日”。
这显然是分类的,所以我创建了一个虚拟变量。
节假日写 1 ,工作日写 0。
你看,就是这么简单。
当使用分类变量作为虚拟变量时,最常用的方法是将它们制成一系列表格,然后生成它们。
例如,教育程度分为小学、中学和大学。
我用Tabulate完成分类,然后创建三个虚拟变量:小学、中学、大学,每个等于1 或0。
每个类别一个,不能少,否则模型会混乱。

当我们谈论模型、加法、乘法、加法和乘法时,听起来是不是有点复杂?
我记得2 008 年我正在帮助一位朋友分析一名员工被解雇的原因,他尝试了加法模型。
目的是确定部门(例如销售部门记为1 ,其他部门记为0)是否对波动率有直接影响。
模型为:离职率=基础离职率+部门系数、部门虚拟变量。
结果发现,销售部门系数明显大于0,于是我告诉朋友:“好吧,这证明销售部门员工的普遍流动性确实很高。
”就像你说的:看平均差异。

后来我加上了乘法。
模型变为:离职率=基础离职率+部门系数、部门虚拟变量+资历系数、资历部门虚拟变量。
您可以看到正在添加交叉项。
事实证明,销售服务经验越长的人,离职率越高。
这说明不仅是部门平均值,部门加资历也能更清楚地说明问题。
比如销售部门,如果压力很大,工作经验又长,肯定会比较不稳定。

加法和乘法更复杂,我通常较少使用它们。
只需观察截距和斜率如何同时变化即可。
正如你所说,要考虑平均消费和边际消费。
但如果数据不满足这个条件,就没有必要修改模型。

我应该选择哪种型号?我一般都会看AIC和BIC。
2 007 年,我在北京启动了一个项目,使用了大量数据并尝试了几种模型。
基本上我认得的是较小的AIC和BIC。
然而,这并不是绝对的。
有时业务逻辑更重要。
例如,如果你明明知道应该加法和乘法,但是AIC和BIC说加法更好,那么你需要重新思考是否数据量不够或者模型设置有问题。

解释结果时,最重要的是看系数。
系数显着与否决定了你所说的是否有意义。
例如,在我的离职率模型中,销售部门系数显着,所以我敢于告诉老板,销售部门需要更加关注。
如果系数不显着,您可能需要改变主意。

正确使用虚拟变量非常有帮助。
然而,模型的选择和结果的解释必须基于实际情况,而不仅仅是数字。
过去十年我遇到的许多陷阱都是由于模型选择不正确或过于牵强的解释造成的。
所以我告诉你的都是事实,希望对你有帮助。