连享会·课程答疑
Stata 高级班-Day2,任课老师:连玉君
Update:2021/1/30 20:00
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh
目录
A: Love 2016 Stata Journal
整个的估计分两个步骤。第 1 步,因为是面板的向量自回归模型,每一个方程里面都包含了个体效应,所以像前面用差分的方法把个体效应给干掉。 第 2 步,拿每一个变量的滞后项作为他的工具变量,类似于我们讲的动态面板里面的处理方法。 在面板 VAR 里有个唯一特殊的地方,假设我们模型里面包含三个变量,那每一个变量的都是内生变量。比如说你包含 xyz 三个变量,那我们就拿这三个变量的两阶以及两阶以上的滞后项,作为工具变量。 还有一个特殊的地方,如果你设了 4 阶之后的面板 VAR 模型,那么你做工具变量的项就一次往后推,比如说你最后做到 4 阶之后,那我们就拿 5 阶之后作为它的工具变量。 然后把所有的工具变量都放到一个大的 Z 矩阵里面,称之为工具变量矩阵。 接下来采用我之前讲过的 GMM 估计方法,形成一个完整的矩条件: ,把这个东西跟样本结合起来,形成一个样本,具条件通过极小化我们的目标函数
赵汗青
A:
help fvvarlist
赵汗青
A:
如果是财务比率的变量,我们通常就不做平减指数,比如说: Lev = D/TA 而Size = ln(TA) 则需要平减。
赵汗青
A: 如果面板门限变量是虚拟变量,就不需要门限回归了。你虚拟变量就是两个数,你无非就是 0 和 1 ,我们讲的那个面板门限 Q 是一个连续变量,因为不知道到底在哪个点会发生一个结构变化,所以我要一个一个去试。因此门槛变量不能是虚拟变量,但是你的解释变量可以是个虚拟变量,就是 X 那个变量是可以是虚拟变量的。
赵汗青
A: 请参考以下链接:
具体回归模型可以设定为:
. ivregress 2sls y w (x c_x#c_w= z c_z#c_w)
赵汗青
A:
赵汗青
A: 你说的这个是没错的。
假设我们现在估计省级层面的GDP生产函数,我们有一个门槛变量人力资本存量。对于人力资本存量在不同的阶段的时候,可能 和被解释变量就是人均 GDP 产出的增长率之间会显示出不同的关系,也就是发生结构突变。 有一个办法是按我我之前讲的,把面板门限模型分时段去用。比如在 2000 年之前作为一个样本的时间段,去估一个面板门限模型,就可以得到一个门槛值。然后你再用 2000之后的数据估第二阶段的,可能又可以得到一个门槛值。 如果是上市公司的资料,你可以分别针对大企业和小企业或者国有企业和民营企业的样本去估计面板门限模型。不同的样本组里估出来的门槛值肯定是不一样的,门槛值会随着样本的特征而发生改变。就像我昨天讲面板文献模型一开始的时候我提到你体操运动员收入的转折点是发生在年龄在十七八岁的样子,可是让教师这个行业收入的转折点门槛值,就会发生在 50 岁左右。
赵汗青
A:
这个是 FD-GMM 模型的两个基本假定,分别是无序列相关和扰动项外生性,如果不通过序列相关建议和 Sargan检验的话则导致模型系数估计无效。 昨天讲的动态面板的估计里面使用的是 GMM 方法,但是采用被解释变量的两阶以及两阶以上的滞后项来作为一些滞后差分项的工具变量,前提是水平方程的干扰项不存在序列自相关。也就是去年受到的这些冲击和干扰跟今年受到的冲击和干扰之间没有关联,另外一个条件就是选择的滞后项工具变量,和你的干扰项之间不能存在相关性。也就是工具变量必须是合理的,满足外生性的假设。Sargan检验就是用于检验工具变量是否满足外生性的假设。
赵汗青
A:
种子值设置主要是对于随机数生成即 rnormal()函数的可复现。这个涉及到随机数生成的原理,主要是基于特定算法(蒙特卡洛模拟)生成一堆数字,实际上这些数字也不是随机的,而是与设定的初始种子数有关。如果不设定的话 seed 一般会默认为此时的电脑系统时间,因此每次运行都会生成不一样的随机数。因此我们如果希望每次运行的结果都一样,我们会设定指定的 seed。 我们现在计算机生成的随机数都不是真正的随机数,真正的随机数要跑到大自然里面去,比如说根据落叶根据水滴什么之类的来去采集,也有专门有公司是卖这种数据的。计算机里面产生的这些随机数都叫伪随机数,背后都有随机数发生器,实际上是写好的一个函数,里面有一个初始值。一旦那个初始值确定以后,生成的随机数实际上就是一个固定的数了。之所以在最终估计的时候加一个种子值,实际上就是为了让这个结果可以重现。 但是加种子值不代表我们整个模拟的过程是非随机的,因为你加那个种子值也是若干次随机的,是结果里边的其中一种。前提就是要求说我的结果,不会因为我改变一个种子值而发生实质性的改变,只是数值上有一些轻微的变动,但是你的统计推断,比如说符号的显著性符号的正负,不会因为你改变种子时发生大幅的变动。 下面附上随机数发生器的实现代码。
*--------------------
*-6.3.2 随机数发生器
*--------------------
* X_j = (a*X_{j-1} + c) mod m (j = 1,2, ...)
* -------
* 种子
* 如:
* X_j = (9*X_{j-1} + 3) mod 2^9 (j = 1,2, ...)
*--------------------------------------------code-begin--------------
clear
local N = 100 // 观察值的个数
local seed = 13579 // 种子值
local bound = 2^4 // 上限
set obs `N'
gen id = _n
gen z = `seed'
forvalues i = 2/`N'{
qui replace z = mod((9*z[`i'-1]+3), `bound') if id==`i'
dis _c in y "."
}
drop in 1/1 // 第一个观察值是种子
*---------------------------------------------code-over--------------
tab z
histogram z
*-------------------------------
*-6.3.2.2 Stata中的随机数发生器:多个线性随机数发生器的组合
* 参见 [D] Data Management Reference, p.223
* George Marsaglia (1994) 32-bit pseudorandom number generator
* KISS (Keep It Simple Stupid)
*
* X_j = (69069 X_j-1 + 1234567) mod 2^32 (1)
* y_j = y_j-1(I+L^13)(I+R^17)(I+L^5) (2)
* z_j = 65184(z_j-1 mod 2^16) + int(z_j-1/2^16) (3)
* w_j = 63663(w_j-1 mod 2^16) + int(w_j-1/2^16) (4)
*
* 随机数发生器:
*
* R_j = (x_j + y_j + z_j + 2^16*w_j) mod 2^32
*
* 初始值的设定:
*
* x_0 = 123456789 //这就是所谓的“种子(seed)”,set seed # 改变的就是该值
* y_0 = 521288629
* z_0 = 362436069
* w_0 = 2262615
*
* 说明:
* (1) 每次使用set seed # 命令改变的是 x_0 的数值,而其他三个数值则不改变;
* (2) 为了保证随机数的质量,Stata会丢弃前100个随机数;
* (3) R_j/2^32 便可得到服从均匀分布[0,1)的随机数。
赵汗青
A:
当样本数较大时,需要慎重设定 xthreg 命令中的 trim() 选项,(1)以保证每个区间内都有较多的样本可参与估计,(2)否则搜索出的门槛值将位于两端. 样本量越大,我觉得越适合用这个你可以去在很大的一个范围里面去搜门槛值。反而是样本量特别小,或者是你选择那个门槛变量去掉重复值以后只有很少数的,比如说只有那么 7-8 个不一样的取值,它实际上反而不太适合用这个模型。
赵汗青
A: 参见 Q9。 种子值设置主要是对于随机数生成即
rnormal()
函数的可复现。这个涉及到随机数生成的原理,主要是基于特定算法(蒙特卡洛模拟)生成一堆数字,实际上这些数字也不是随机的,而是与设定的初始种子数有关。如果不设定的话 seed 一般会默认为此时的电脑系统时间,因此每次运行都会生成不一样的随机数。因此我们如果希望每次运行的结果都一样,我们会设定指定的 seed。
赵汗青
A: 下次提问时请附上代码,或者说清楚是哪个dofile。
赵汗青
只是听老师讲解发表论文过程中,要设定 set seed #,即种子值,但是实际写作中应该从哪里开始设置种子值,怎样查看种子值,然后发给需要的杂志社呢?能否请老师简单演示一下,谢谢老师。
A: 参见 Q9。 在生成随机数之前设定种子值,这样每次生成的随机变量的数值都是一样的,便于重现你的研究,也便于其他人检验你的分析结果。至于具体设置多少,随便设一个数就行了。
赵汗青
A: 设定 seed 之后,后面所以涉及随机数生成的命令结果都可以复现。不需要额外的命令。
这个你别有什么误解,我们什么时候会设定seed?不论是你在统计推断还是数据的估计过程,我们都得用到了模拟,如Bootstrap和Jack Knife 这些方式,来随机地产生一些数或者随机地生成一些经验样本,进而进行统计推断。因为每一个过程里面这个产生的这些数字都是随机的,那就会导致同样一个命令执行两次,结果是不一样的。所以为了避免你下次跟别人展示你结果的时候,小数点后第 3 位第 4 位总是有一些差异,你就设一个种子值。不设seed,如果像遇到我这种审稿人也完全没有问题,因为我可以理解背后的这个道理。 就像你在家里包饺子一样,你能保证你今天包这顿饺子跟明天包那个饺子的味道完全一样吗?做不到啊,盐稍微抖一下多一点,跟昨天那口味的清淡就不一样。如果是你在家里做菜的话可以设为种子值,那你每天的口味就很稳定,肯德基麦当劳努力的做的事不就是干这个嘛,我们标准化让我们每一次吃到的东西感觉都没什么差别,所有的店都一样,生活里面多数的变量都是随机的啊。
赵汗青
(1)门槛 Gamma 一定得是外生的,且和 y、x 不相关才能成为门槛对吗?如果 gamma 对 y 有影响或者同时影响 x 和 y 那么 gamma 应该作为控制变量?(2)连老师上课举的收入对幸福感的影响,用年龄作为门槛的例子中,收入和年龄是相关的,年龄可能直接影响幸福感,同时也可能通过收入影响幸福感,所以如果真的做这个研究,年龄应该是控制变量,并且收入对幸福感的影响可能有年龄上的 heterogeity,但是年龄不能作为门槛。我理解的对吗?
A:
不需要外生,X 本身也可以作为门槛变量。 像我觉得年龄那个变量,你可以直接把它丢在方程里面作为一个解释变量,同时它还可以担当另外一个变量的门槛变量,这个是没有问题的,我们平时所谓的这个内生主要是指的某个变量和干扰项相关啊,那叫严格的内生。
赵汗青
我有一组 state-year panel,用 DID 研究减少 high school dropout 对 employment 的影响。这个 policy 每个州的时间不太一样,有一些州很早实行,有的州晚一些。我们在研究政策影响的时候,通常要考虑到政策实施的效果。比如在电脑普及之后,政策的执行效果更好,而早期政府监管不到位等等因素使得政策执行效果不好。那么可能早期实施这个政策的州 i 的政策影响和之后实施的州 j 的影响是不同的,又或者是早期实施政策的州 i 在电脑普及之前 year t 的政策影响力度和电脑普及之后 year t+s 政策在该州的影响力度不同(t>policy year),这种情况是不是适用于门槛模型?要不要检测门槛是否存在?还是说直接用不同 year 的 sample 做 robustness check 就可以了?
A: 我不觉得你说的这个问题有必要用一个面板门限模型。就用一个多期的 did 就可以了。但似乎用多期did 的时候,你可能需要再加一些交乘项进去,因为你还提到电脑普及对你那个政策还有一些干扰。
赵汗青
A: 如果根据理论分析已知gamma具体的值,那么就不需要使用门槛模型。当我们不知道这个门槛值为多少时,才适用于今天课程所讲的面板门槛模型方法(需要我们去搜索这个门槛值)。也就是说,如果已知门槛值,可以直接做线性回归即可。 此外,如果有必要变斜率,可以用虚拟变量跟你关心的解释变量去交乘并纳入模型中。参考邓南巡的研究,学术界一般直接以92年为分界设置虚拟变量,并与解释变量交乘。
吕可夫
请问老师,GMM 和门槛为什么都是基于 fe,如果假设原模型不存在个体效应,那么 GMM 的 fd 和门槛的 s(0)是否均无法实现了呢?还是 gmm 和门槛假定模型中一定存在个体固定效应?
A:
第一个问题的回答:GMM 跟是否使用固定效应模型没有直接关联。在针对 panel data 数据的研究中,我们是希望通过固定效应模型控制住不随时间改变的不可观测的个体异质性。在本次授课中,我们讲的主要是面板数据的处理方式,因此我都先通过一些手段把个体效应给去掉。 第二个问题的回答:如果没有固定效应,那直接去做一个截面的门槛回归即可。
吕可夫
连老师好,想问一下,(1)您一开始讲的面板门槛模型分析,都是指平行面板嘛?在您讲到后面非平行面板门槛模型时,说暂时还不好实现,这一点没听明白,老师是否可以按照公式推一下?(2)另外,如果非平行面板不便于做门槛效应,是否默认跑数据的时候可以不分析门槛值,假定主模型结构不变?一般在文章进一步分析的时候,根据理论推导,做一些分组检验来分析,是否也就类似于已知一个门槛,再做交互项的回归?
A: 可以翻阅今天上午课程的笔记。 一个例子是两家交换孩子, Hansen 做 bootstrap 的时候是采用残差抽样的。用 A 公司十年的残差加到 B 公司的拟合值上去,同样用 B 公司十年的残差加到 F 公司的残差上去。这种方法的前提是,你的数据必须得是一个平行面板,每家公司都是相同的时间长度,它才可以交换公司之间的干扰项。如果我们想把这个方法扩展到非平衡面板上去,就不能再用 Hansen 的这种抽样方法。你可以直接去对原始数据抽样,比如说可以不考虑使用残差抽样,接把每家公司当成一个单位,重复去抽取这些公司。或者另外一个办法是采用一个 wild Bootstrap,他背后的思想就是:
如此设置的作用是,可以随机的去改变现在样本里边这些残差的正负符号,也就实现了一个随机抽样的目的。这种情况下就不涉及公司 a 和公司 B 去换残差的问题,那也就不需要有一个平行面板,我和王庆勇老师我们正在做的那个程序就是基于这个目标做的。
Bootstrap的资料具体可参见:
吕可夫
老师您好!门槛模型实质上是引入了交乘项,分析交乘变量对 x、y 的关系的影响,和调节都属于结构变化,那么可以用交乘项解决的问题为什么要用门槛呢?(感觉硬要做门槛的话一般至少能跑出一个门槛值,关键这样做有必要吗?)这两者在结果解读上区别在哪里,可以理解为一个质一个量吗?
A: 我上课也提过这个问题,如果你想做一个交乘项,你必须得有一个虚拟变量,你定义那个虚拟变量的时候,必须得有一个分界值,你才能确定这个虚拟变量何时取 0,何时取 1。这个就是面板门槛模型干的事,他帮你搜出了门槛值,门槛值就是我刚才上面那句话里说的临界值。
当然了,你发现即使现在有面板槛模型文献里面使用连续变量和连续变量的交叉项的这种设定的方式的文章还是更多,就因为你刚才提到那个问题,就是你搜门槛的这个过程,本身它也不是一个多么干净的过程,因为你要去设定 train 那个选项,指定每个区间里面至少要有多少个观察值,还有跟你其他的一些设定也有相关性吗。可是我用一个连续变量和另外一个连续变量的交叉项去看这种调节效果。就会更加清楚一些,这个就看你个人的选择了,就是我看到的好多文章可能就是为了用这个面板文献模型,而用这个模型故事的场景并不是那么合适。
吕可夫
(1)平时做截面数据比较多,但是最近需要评价某一政策(2014 年发布)对健康状况的影响,只有 2012 年、2014 年与 2016 年三年的截面数据。老师您建议有什么办法吗?我之前想的是分别计算 2012、2014、2016 的健康数据然后看趋势和变化。学了面板数据门槛模型发现是不是可以用?把三年的数据整合在一起,然后看 2014 年是不是一个门槛?(2)可否请老师讲一下 2.6 截面数据门槛模型的构建,有个呈现估计结果(1135 行起),我用 do 文件的时候发现做 1141 行的时候显示 q 是 invalid name,然后做 ols 也是找不到。谢谢老师!
A: 你想评估 2014 年发布的那个政策对健康的影响,按这个故事背景,应该是一个典型的 DID 的分析。刚好有事前和事后两年的数据,分别是 2012 年和 2016 年,那就做一个 DID 就可以了,可能需要面临的一个挑战就是你没办法做平行趋势检验。
面板门槛模型在你这个背景下肯定是不能用的,我们是要求门槛变量是一个有很多不同取值的连续变量,在你刚才说的这种场景下,year 这个变量只有三个取值,连搜都不用搜,你直接试一下就行了,似乎你也没什么选择,你只能以 2014 为分段,因为你以 2012 为分段,左边没数; 以 2016 为分段,右边没数。
截面门槛模型,跟我今天讲的面板门槛模型没有任何差别,面板门限模型无非是在估计之前增加了一个步骤,就是通过"组内去心"的方式把个体效应给去掉,剩下的就把数据当成截面数据去估计,所以你看我今天前面模拟的例子,我都是拿时间序列的资料在演示。
吕可夫
老师您好,请问研究投资效率只做过度投资可否,还是要同时加上投资不足?还有代理成本在正文中一般用什么指标度量比较好,常用的比如 mfee,assetsturnover,看了您和苏治的论文提到随机前沿模型,也可以用残差度量,那么在指标选取上直接度量是否比间接的更加准确呢?
A: Richardson, S., 2006, Over-investment of free cash flow, Review of Accounting Studies, 11 (2): 159-189. 这篇文章应该是拿残差为正的那一部分做过度投资的衡量指标, 是最有代表性的一篇文章。
代理成本那个我也不知道有什么好的指标,你列的管理费用、资产周转率前面都有人质疑。所以大家有的时候就转向了,另外一种思路我不要正面去衡量代理成本,我是在某一种场景下来看一下这个代理冲突到底会发挥什么作用。比如说我们最近在做股权质押的研究大股东或者控股股东,把自己的股票押给银行贷了款以后,为了避免被平仓的风险,他就有非常强烈的动机进行市值管理,比如说再冷门的时段里边去发布一些坏消息,好的时段里面发布一些好消息,还比如说去做一些盈余管理,过度的兼并收购等等动作。这些呢,其实就可以有非常明确的动机来说,这个大股东可能会侵害小股东的利益。这是第二类代理成本吧。那我们在这种场景下去探讨这个问题,你就会对比做了股权质押的公司和没有做股权质押的公司,他们在行为上有什么差别,比如说它的投资效率啊、融资成本啊,如果有的话我们就可以视为代理冲突的一个证据。这就避开了正面去衡量代理成本的困难。
吕可夫
连老师好,实证中有些问题想请教您。1、机制检验是否一定要做中介,不做中介而做调节的话是否力度不够?2、如果有两三个中介,如何确定哪个中介占优(我看有的文章提到 sureg,是似无关检验吗)?3、中介和调节如何区分,比如资本市场中投资者情绪常用于中介,而不是调节,同是机制检验,这是为什么?
A: 中介效应我不是特别熟悉,因为我基本上没有用过它来写文章。你要硬说中介和调节有什么区别,我觉得这个还是比较明显的:中介呢,是说 a 先影响 B 又通过 B 去影响 C ;调节呢,是 A 和 B 本身直接就有关系,但是因为 C 的出现改变了他们这个关系的强弱甚至方向。
机制检验其实是一个很宽泛的概念。当基准回归的结果发现 X 和 Y 存在统计上显著的关系,但是,我很想知道这种关系通过哪些渠道或者在哪些场景下发挥的作用,就需要进一步地把这个盒子给拆开去看。
例如,当基准回归发现,管理层薪酬的增加导致公司业绩提升,那么还有值得研究的是,为什么给管理层增加薪水导致公司业绩提升?几种可能的机制:(1)高管出于职位壕沟防御的动机,因为害怕失去高薪工作,所以更加勤勉;(2)高管出于心理满足的动机,高薪酬促使高管内心获取满足,从而工作更加投入。这两种情况下的检验也截然不同。所以机制检验难的可能不一定是在方法上,难的是在从理论上你认为有哪几种渠道,会让 X 和 Y 产生你看到的那种统计上显著的关系。
吕可夫
A: 我的建议就是没事了就瞎逛一下,不要老在自己的那个小圈圈里面逛。跑到哪儿逛呢?跑到搜索文献的这些网站上去,顺藤摸瓜。
吕可夫
请问连老师,提假设时如果遇到主回归正反假设,那么后续的假设是否可以继续提还是假设部分只需要提一个正反,实证中再做调节等进一步研究(在一篇经济研究中看到理论部分只提了正反假设 1、2)。这种情况在大论文中怎么解决?因为我没怎么见到过大论文中有提正反假设的情况。可否这么提出:在假设 1(2)成立的前提下,可以得到 xxxxx;另外如果需要提出几个调节假设,比如公司治理(inst/board)和企业性质(soe),写成一段还是分不同段提出较好。
A: 这个跟研究领域有关系,你看那个管理学的文章,像南开管理评论,还有管理世界上的一些文章,做工商管理的,他们有时候在一篇文章里面提 7、8 个假设,每个都是 A 和 B 对照的。但是你看公司金融领域,这个 JF 还有 JFE 这些期刊上有的时候前面根本就没什么假设啊,就是它在 introduction 的部分介绍了一个故事。接下来呢,他就开始去上他的数据、上他的模型啊,一步一步的拆开,这样做下去。整个文章写个三四十页没有假设,但是呢,他给你非常完整的呈现了一个金融领域的现象,然后对这个现象呢从各个方面去做解读,所以这事啊,我觉得跟写文章你所在的领域,以及你前期的这些大牛们他们行文的风格有很大的关系。没有一个固定的模式。
吕可夫
我看到国内运用资本结构调整速度的计量模型,构成动态面板,有内生性问题。列举中文文献市场化进程和资本结构动态调整都没有考虑内生性,这是不是错误的?
A: 可能也没你想象的那么严重。就好像我上课举例子,一个学生跑来面试要读博士,我认识他就可能会导致我打分比真正的真实分值要稍微高一点,但是如果你知道连老师这个人平时做事还算是比较有原则,又是一个比较胆小的不敢担事儿的人,那你让我去面试这个学生估计问题也不太大。
所以像动态面板里边, OLS 估计的结果系数呢是偏高的,固定效应模型估计系数是偏低的。当 GMM 估计系数结果很大,达到 0.8 、 0.9,这时候用 OLS 估其实也不会有太大的偏差;反之,当 GMM 估计系数结果很小,近似 0.1 、 0.2,这样子,这时候用固定效应估其实也不会有太大的偏差。
在很大或很小两种情况下,我可能就直接选择用 OLS 或者固定效应模型去估。这样做的好处在于: OLS 或者固定效应算目标资本结构就是拟合值时候会非常的方便。
总之,越学到最后,自己心中越要把握好评判尺度。
吕可夫
比如被解释变量是 y=1,2,3,4,解释变量若干,结果 margins 后输出的结果每个解释变量都会在 1,2,3,4 上输出即每个解释变量都输出了四个边际效应。简单的二元 Probit 模型中每个解释变量自然只对应一个结果很好汇报,但是 Ordered Probit 中每个解释变量四个结果就不知道怎么汇报了,查阅文献发现中文刊这方面汇报的很不好。
A: 那你既然你能说中文期刊在上面报告的很不好,我猜你心里面就已经有一个审美的标准了,那你就对着英文文献这种报告的方式来去呈现你的结果就可以了。
吕可夫
A: 参考
吕可夫
A: 参考
吕可夫
A: 参考
吕可夫
A: 就是 logit 回归的结果,运行一下 line254 和 255 就可以看到。
吕可夫
A: OLS 估计中,x 的回归系数就是 x 每变动一单位 y 随之变动的程度。如果要计算x每变动一个标准差,y的变动程度,则参考下列代码:
sysuse "auto.dta", clear
reg price wei mpg
local bw = _b[wei]
sum wei
local sdw = r(sd)
local bw_sd = `bw'*sdw
吕可夫
A: Wacom 数位板。 参考
王乔
A: 结构方程可以自己找一些相关资料看一看,stata 里边有专门讲结构方程的手册,我们回头再开一期,我找我的同事杨一楠她就做过结构方程的公开课,还有我们网上的这个直播课,我大概会 4 月份让他再来讲一次。
王乔
连老师,您好!我想研究自来水接入对居民健康的影响。现在有 2011,2013,2015 和 2018 年的自来水接入数据和居民健康数据,控制变量有性别、年龄、婚姻状况、收入、生活方式等,请问怎么利用这四年的数据进行 PSM?谢谢连老师!
A: 我没太明白,你为什么要做一个倾向得分匹配分析呢?你的实验组和控制组分别是什么呀?是不是说你的样本里面有一些是城市人口,他们有自来水接入,另外一些是乡村人口,他们没有自来水接入。如果是我猜错的这种状况,那你就去做匹配,我们前面有好多推文都在讲,你做各种各样的匹配,模糊的匹配,精确的匹配,分年度的匹配,我介绍几篇推文给你看一下。
专题:数据处理 Stata:数据合并与匹配-merge-reclink 专题:PSM-Matching Stata:终极匹配 ultimatch Stata 手动:各类匹配方法大全 A——理论篇 Stata:psestimate-倾向得分匹配(PSM)中协变量的筛选 Stata:广义精确匹配-Coarsened-Exact-Matching-(CEM) 伍德里奇先生的问题:PSM-分析中的配对——小蝌蚪找妈妈 Stata:psestimate-倾向得分匹配(PSM)中匹配变量的筛选 Stata+PSM:倾向得分匹配分析简介 Stata-从匹配到回归:精确匹配、模糊匹配和 PSM Stata:PSM-倾向得分匹配分析的误区 Stata:模糊匹配之 matchit
王乔
A: 参考
王乔
A: 如果是按照计量的文献,那应该是要做的,否则的话就没有办法执行后面的分析。但是我看现有的实证的文献有好多文章也没做,所以就看你研究的那个领域,前期那些比较 Top 的期刊上已经发表出来的,大家都比较公认的引用率比较高的一些文章,他们有没有做这个检验?没做的话你也可以不做,如果大家都做了那你也应该做一下,难度倒不大。Stata 里有现成的命令,我讲义里面也有现成的例子,萧政老师之前也专门提供过这方面的检验的统计量。
王乔
A: Logit 模型的系数需要转换后才能解释其含义。关系如下:
由此可知,若模型中只有常数项,即
验证一下:
sysuse "auto.dta", clear
sum foreign
*-OLS
reg foreign, noheader //OLS
dis _b[_cons] // p_i
*-Logit
logit foreign
* p_i exp(xb)
* ln ------ = xb ==> p_i = ---------- = E(Y_i)
* 1-p_i 1+exp(b)
// p_i/(1-p_i)
dis exp(_b[_cons])
// p_i/(1-p_i) = exp(b)
dis 0.2972973/(1-0.2972973)
// p_i = exp(b)/(1+exp(b))
dis exp(_b[_cons])/(1+exp(_b[_cons]))
结果如下:
. sysuse "auto.dta", clear
(1978 Automobile Data)
. sum foreign
Variable | Obs Mean
----------+--------------------
foreign | 74 .2972973
. reg foreign, noheader //OLS
------------------------------
foreign | Coef. Std. Err.
---------+--------------------
_cons | 0.297 0.053
------------------------------
. dis _b[_cons]
.2972973
.
. * p_i exp(xb)
. * ln ------ = xb ==> p_i = ---------- = E(Y_i)
. * 1-p_i 1+exp(b)
.
. logit foreign
-----------------------------
foreign | Coef. Std. Err.
--------+--------------------
_cons | -0.860 0.254
-----------------------------
. dis exp(_b[_cons])
.42307692
. dis 0.2972973/(1-0.2972973)
.42307693
. dis exp(_b[_cons])/(1+exp(_b[_cons]))
.2972973
A: 不大,你变成 A B C 和 1 5 9 没区别,因为这些 A B C 1 5 9 只是为了分类用的,这就是分类变量和区别变量的根本区别。
王乔
A: 在Stata里面运行
search endog logit probit, all
王乔
请连老师看看我的以下理解对不对: 我们在做实证的时候,关心如何得到因果关系,所以 indentification strategy 很重要。我们常用的一些 identification strategy 有 DID, IV(2SLS),RD,synthetic control 等。我们在跑归回估算 beta 的时候,估算方法(estimation strategy)有 OLS,MLE, GMM,GLS 等。大部分时候我们用的 DID, 2SLS 等其实本质上就是 OLS,有时候是 GMM(比如我们在 DAY1 讲过的)。请问连老师,我的这样理解和归类是否正确? -另外我们今天讲的 logit,它的本质其实是 MLE,但是 logit 也不算是 identification strategy。那我应该如何归类/理解 logit?
A: Logit模型是一类模型,专门应对背景是:变量只取 0 和 1 两种数值的情形。MLE 是一种估计方法,可以估计各种各样的情形,只要你能够写出一个 LR 函数,就可以用 MLE 估计。或者说Logit模型就是一个乘客,他是一个老头还是一个太太,而你的 MLE 只是一个交通工具,所以这俩之间并不存在必然的关系。
王乔
您的 do file 写的太优美了。我发现您的命令行前面基本都有空两个格,这是您平时写 code 的习惯还是有什么技巧可以使用?
A: 见贤思齐,你就对着我的代码写你的代码,如果能有些改进,那就更好了。我觉得有几个基本的规则。
第一,你要多加一些注释。无论对你自己还是对其他的读者来讲,都是一个比较负责的行为,更容易看懂。我们写文章也好,说话也好,不都是为了让别人能理解吗?都是一个沟通的工具而已。 第二,你说的那个问题,要有一些固定的规则来规划文档。比如说一级标题,我通常会用一个比较复杂的注释语句把它给框住,就像大家看到的两条横线中间还有一些空格来框住每个小节的标题。二级标题,我就会用一些比较简洁的注释语句把它给呈现出来。这跟你在 word 排版里边的思路是一样的。一级标题,二级标题,三级标题以及里边的一些小的 item,我们用的格式都不太一样,主要是为了能够非常清晰的区分出主次来。 至于缩进,每个人的习惯不一样。我的习惯是缩进两个空格,有的人是喜欢敲 tab 键,那就一次性缩进去。只要你习惯前后保持一致就 OK 了。另外补充一句,我是觉得如果有时间的话,花点时间学习一下latex, 它会使得你排版的审美能力有一个质的提升。就好像做幻灯片一样,如果你是看你们老师上课的那个幻灯片去做幻灯片,基本上你也就是那个水平了。可是你如果偶尔跑去看一下投行做的幻灯片,你就会发现原来还可以呈现的这么丰富,图文并茂。因为投行的一个幻灯片可能值几百万上千万,他去帮别人推销公司,拿佣金,他有非常强的动力来做幻灯片,有动力在幻灯片上花心思。如果你再艺术一点去看一看房地产公司或者比较赚钱的这些行业做的海报,甚至看一些艺术画展,你做幻灯片的思路和模式又会有一些提升。大体上你要靠外界的一些力量来冲击你,让你的思想发生一些质的改变,你才可以做出一些跟别人不太一样的东西。
王乔
老师您好,请问论文中数据缺失值是否可以不做特别处理,我看论文中一般也不是特别强调对缺失值的处理,只是说删除财务数据缺失的公司。您说的处理缺失值的三种方法什么时候用呢?
A:
你得想办法说服审稿人,你的缺失值到底是怎么产生的,如果你能说服他说你的缺失值是随机产生的,那你可以不做任何处理,直接把它删了就行了,因为他不会对你的结果产生任何实质性的影响。相反如果你想在模型里边很好去识别,也考虑到了这个缺失值,很可能是非随机缺失,就像今天讲的这些模型,它这些缺失值是因为自我选择导致的。 漂亮聪明的姑娘,出来工作了,老公收入高的姑娘不出来工作了,这些都有一些特定原因的。这就导致我们看到的这个参与实验的样本,就是劳动力市场里工作的这些妇女,她不是随机选出来的,那就可能影响你估计的结果,会使得估计结果偏高或者偏低,你就需要用一些对应的方法去处理它。 也有一些领域,他们研究方法上的重点,其实就是怎么样把这个缺失值给补回来。那就是我们私下里边多重补漏那个专题要干的事儿,因为这个事儿还专门出了一本手册,可见他们对这个东西的重视程度。因为补漏本身也是一个预测的过程。
王乔
eg: gen y=y0
replace y=0 if y0<0
replace y=0 if y0>1
A: 没错,我们做公司财务里边资本结构研究的时候,有很多的文章就是用一个双边截堵的 Tobit 模型来做的,因为这个变量本身是一个财务比率,它的取值又刚好在 0 和 1 之间,所以会在左侧 0 的位置以及右侧 1 的位置都视为截堵,我们在后面要加两个选项来做。
王乔
连老师您好,请问论文中内生性的检验是不是尽可能做全,但是市面中的文章大多都只做了一种内生性的检验,比如 2sls,这样是否欠妥(有选择性的做)?另外如果检验样本偏误,像 psm 和 heckman2step 这两者只需要做其中一个吗,还是可以都做?
A:
我觉得内生性检验可不是越多越好,就像你带小朋友去医院看病一样,就是简单的感冒而已,他给你要是开一堆药,你高兴还是不高兴啊?因为专门找了一个私人医生看一次病,光那挂号费就要花 800 块钱,看了半个多小时,医生各方面的测验都做了一下,最后啥药也没给他开,就让他回家拿那个毛巾给小孩不停的擦身子降温自然的好了就行了,他回来跟我们说这事儿,还觉得医生怎么不给开药,挺不爽的,因为不差钱,但是医生觉得没必要。后来我们小孩如果发烧的话,我们也经常采用这种方式不给他吃药,让它自己产生一些抵抗力,但前提是小孩不是病毒感染性的发烧。 我说的这个例子,主要是为了告诉你,你要先想办法做一个特别具有决定性的内生性检验。如果你的内生性就是因为样本选择导致的,其实有很多办法,根本不需要去做什么工具变量。比如说我们明天要讲的断点回归,它其实就是找一些有特点的数据,刚好实验组和非实验组的分割是基于某一个分配变量,而那个分配点如退休时间点是 60 岁,而个人的事情是没办法去干预的,那就直接做一个 OLS 回归就可以了。他是把这个劲儿给用错了,就是在文章里面花五六种方法去做内生性检验,到底来源是什么?如果你把这个内生性的来源确定的很清楚,一招致命就可以了。不是做的越多越好,言多必失,你做的太多了,反而让审稿人找到了很多攻击你的方式,而且你也不想想,你拿了五六种方法,每种方法都有自己的一些严格的假设条件,居然能够做出完全一致的结果,中间如果不动点手脚,你能做出这么漂亮的东西吗?我觉得是不太相信。
王乔
通过问卷调查老年人的希望养老方式,调查结果分别为居家养老(占比 80%),社区养老(15%),去养老院(5%)。如果分析影响养老方式选择的因素,三种养老方式比例差异较大,是否会影响估计结果,采用多元 logit 分析是否准确?
A: 你的这一问卷调查结果也还不算太夸张,这种情况下就要看你的样本量了,如果你有 10000 例观察值,去养老院的占 15%,也有 500 个观察值了,那你就做一个多元的 Logit,完全没有问题。如果分配的比例比你现在提到的这个比例还要夸张,比如说去养老院,这一组只占 1%,而你只有 1000 例观察值,我可能就会舍去去养老院这组样本,因为他的行为不具有一般的代表性。还有一种方式,假设你不想损失观察值,你可以把去养老院只占 1%的这部分,也就是 10 个观察值的这种情形,跟其他的类型做合并。关于稳健性检验的部分,再把这一小撮观察值删掉,结论应该不会发生实质性的变化,因为你删掉的这组观察值占的比例本来就很小。万一不拿掉那一组观察值,你的结果就没了。
王乔
请问小论文结果呈现如何在实证中出彩,比如同时列示不同聚类标准误?怎样才能把实证做得丰满,机制检验多做一些?准备投管理世界,不知道这类期刊喜欢什么样的实证结构。请教连老师!
A: 我这个人平时交朋友是不太看重他穿什么衣服开什么车的,我是在乎他跟我聊天的时候,我能不能从跟他聊天这个过程里面产生愉悦的感觉。换到你这个场景下,我不觉得你在论文里面做一堆的聚类标准误就能够出彩多少.因为你如果是既在行业层面上,又在年度层面上去聚类标准误,我就觉得你这个人缺少自己的底线和原则。前期分析里边我们发现,在行业层面上去做聚类是最合适的处理方式,别的应该就是错了我就不做它了。你想把实证结果做得丰满,这个事儿我觉得是很重要的一点,但是他不太容易做得到,至少从以下几个方面得去努力:
第一,要多读一些文献,而且要读一些稍微跨领域的东西。比如说你做上市公司的治理要看管理层的薪水跟他的业绩跟他投资效率的关系,你如果只是盯在公司财务的领域,可能你的思考的这个范围和深度,基本上就被现有公司财务的文献就给卡住了。相反的,你如果跑到劳动经济学那边去看,他们会讲普通员工的激励,然后学生的激励这些对学习效果的影响,那里边可能就会考虑到这个同群的效应,学生彼此近墨者黑,近朱者赤的这些结果就可以启发你,你就把他们那边做的这些机制检验各种各样的渠道的分析,其实逻辑上都是一样的,都是研究人的激励的问题,就嫁接到你这边来。 第二,就是你要经常把你正在做的这个事儿在电梯里边、到朋友那儿或者在同事喝茶、喝咖啡的时候,公开的讲给他们听,当然你前提是要确认这个人的人品,不会偷你的想法,他在跟你聊的过程中可以给你提一些建议,即使他不给你提建议你在给他讲的过程中也在梳理你自己的思路,一旦思路梳理的比较清楚的时候,你可能会很自然的就会产生一些想法,是不是还可以从这个角度去验证,那如果再往根上追,我觉得这跟一个人的思维习惯有很大的关系,有的人思维就很缜密,可以从供给角度,需求角度。像任泽平写的那些研究报告每一份都很长,有一些看起来我们都认为很长里的东西,他可以把他分析得很深入,如果有时间的话你也可以跑到四季春老师的知乎上去扫一眼,日常生活里边这些很不起眼的事情,他都用来进行经济学统计,方法把它分析的非常的深入,这个就是思维的训练了。经过系统的这种训练,比如说高宏高微,你做过很多理论的模型,你的思维深度和缜密度就跟一般的人就不一样,这个你很自然的就可以把你的研究设计做得相对来讲更加丰富一些。
王乔
**A:**今天介绍了最基本的 tobit 模型架构,它是不存在内生性的。内生性是指解释变量和干扰项是相关的。在今天介绍的这个Tobit模型里,其实没有提到内生性这一问题。这个 tobit 模型主要是涉及到干扰项服从什么样的分布,假设条件是不是得到满足的问题。在通常做的线性回归里面,你就直接假设干扰项服从正态分布,也就是说 Y 可以很自由的在-∞到+∞之间取值。但是在 tobit 模型里,因为背后有一个机制导致了耐用品消费支出,在这个数据里,你只能看到消费支出大于 0 的这些数值,而小于0的数值你看不到,所以你再用一个在-∞到+∞之间,可以随意取值的正态分布去刻画 Y 的分布,就不太合适了。所以我们需要有针对性的把 Y=0 和 Y>0,这两组观察值分别去看它的概率密度函数,然后合起来综合去估计,那当你的数据里边左右两边都有截堵的这个问题,就像我刚才提到的公司的负债率小于 0 的你看不到,大于1的你也看不到,在这种时候,你就需要用三个分布来去刻画它,那所以在这个基础上后面又有两部分模型、跨栏模型这些变种。说的问题都是一样的。
王乔
A: 没问题,我明天就不讲那么多细节了,那我的进度就可以非常的畅快,但是我不知道别的同学对于这个细节是不是有什么关注,我的想法就是我在 Dofile 里边提供的那些命令,你执行起来没什么困难,我如果能把一个模型里面最难的部分或者我自己在学的过程中,我认为最难的部分给你拆解清楚,其他的那些东西,你完全可以自己看得懂。所以今天晚上要看大家对我今天讲课的这个风格能不能接受,如果你们都觉得我需要讲快一点,至少有 5 个人以上提出这样的一个建议,我明天就可以完全照本宣科的对着我的讲义把它给讲完,完全没有问题。
王乔
A: 参考以下链接:
专题:内生性-因果推断 Heckman 模型:你用对了吗? Heckman中的逆米尔斯比是需要显著的。在样本选择偏差模型中,逆米尔斯比率的显著性和系数表明了样本选择偏差是否存在以及方向。
赵汗青
连享会-直播课 上线了!
http://lianxh.duanshu.com
免费公开课:
直击面板数据模型 - 连玉君,时长:1小时40分钟,课程主页 Stata 33 讲 - 连玉君, 每讲 15 分钟. Stata 小白的取经之路 - 龙志能,时长:2 小时,课程主页 部分直播课 课程资料下载 (PPT,dofiles等)
支持回看
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 因果推断, 空间计量,寒暑假班等 | |
⭕ 数据清洗系列 | 游万海 | 直播, 88 元,已上线 |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。
关于我们
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh