1 断点回归模型的应用
1.1 数据
在上市企业生命周期中,需要投入大量的研发资金,才能获得技术创新,使产品保持竞争力。有理论表明,企业盈利水平越高,越有资金用于研发投入。但如果直接将企业盈利水平和研发投入进行OLS回归,则可能会产业内生性问题,因为企业研发投入增加会使企业创新提高,从而反过来促进盈利水平提升。
与该理论相似的观点是:企业发生亏损后会不会降低研发投入呢?对于这个问题,我们可以采用断点回归来研究。在企业盈亏的断点处,对比盈利企业和亏损企业的研发投入,看其是否存在显著差异。断点回归能够避免内生性问题,是判断变量因果关系的较好方法。
但应当注意的是断点回归的结论只适用于断点处。即只能判断企业亏损与否会不会影响研发投入量,不能判断盈利水平对企业研发投入的影响!
1.2 录入数据
打开数据编辑窗口,将数据从Excel中复制到Stata,注意粘贴时选择“将第一行作为变量名”
1.3 数据预处理
变量变换:
g lnlabor=ln( 员工总数 )
rename 资产负债率 debt
rename 流动比率 liquit
rename 总资产周转率 turnover
g lnage=ln(2020 - 成立年 )
rename 年涨跌幅 stockprice
g lnresearch=ln(研发支出)
1.4 精确断点回归
安装断点回归命令:rd
ssc install rd
将断点位置调整到0:
g d=roe-0
在断点回归模型中,需要将断点的位置调整到0点,本例中,企业是否亏损的断点正好是roe=0,所以这里调整时直接让roe-0,如果断点位置不在0点,则需要进行相应的变化!
估计精确断点回归(最优宽带和三角核):
rd lnresearch d,gr mbw(100) cov(lnage lnlabor debt liquit turnover)
mbw(100)表示最优宽带,如果去除mbw(100),则会给出最优带宽、50%最优带宽和200%最优带宽三个估计结果。cov()中为控制变量。
在估计结果中,lwald统计量的值不显著,表明断点处亏损企业和盈利企业的研发投入水平不存在差异,即企业亏损与否不会对研发投入量产业影响。反之,如果lwald统计量显著为正数,就表明亏损会导致企业减少研发投入!
从图中也能看到,两条曲线在断点处的位置接近,不存在明显的差异!
控制变量断点连续性检验:
rd lnresearch d, mbw(100) x(lnage lnlabor debt liquit turnover)
在断点回归中,前提要求控制变量在断点处应是连续的。在估计结果中,可以看出,所有控制变量对应的P值均小于0.1,不显著。表明所有控制变量在断点处是连续的。
估计精确断点回归(三角核,三种带宽),画出估计值对带宽的依赖性:
rd lnresearch d,gr bdep oxline cov(lnage lnlabor debt liquit turnover)
在估计结果中,lwald表示最优带宽的统计量,lwald50表示50%最优带宽的统计量,lwald200表示200%最优带宽的统计量,三个统计量均不显著,表明亏损与否不会影响企业研发投入量。
在带宽置信区间图中,可以看出,三个统计量均位于0值附近,且置信区间都覆盖了0点,因而lwald统计量的估计值对带宽不敏感,估计结果是稳健的。
估计精确断点回归(最优宽带和矩形核):
rd lnresearch d,gr mbw(100) cov(lnage lnlabor debt liquit turnover) kernel(rectangle)
在估计结果中,lwald统计量的值不显著,表明断点处亏损企业和盈利企业的研发投入水平不存在差异,即企业亏损与否不会对研发投入量产业影响。
从图中也能看到,两条曲线在断点处的位置接近,不存在明显的差异!
1.5 模糊断点回归
企业亏损与否可以通过roe是否大于0来精确判断。现在我们换个研究角度,研究企业被ST是否会影响企业研发投入量。此时,roe是否大于0无法精确判断企业是否被ST,所以这需要采用模糊断点回归来研究!(当然,实际研究中可能有更好的研究方法,这里主要是为了演示模糊断点回归的stata操作才举此例!)
根据“证券简称”来生成企业是否为ST的新变量:
g temp=subinstr( 证券简称 ,"*","",.)
replace temp=substr(temp,1,2)
g st=1 if temp=="ST"
replace st=0 if st==.
drop temp
估计精确断点回归(最优宽带和三角核):
rd lnresearch st d,gr mbw(100) cov(lnage lnlabor debt liquit turnover)
在估计结果中,lwald统计量的值不显著,表明企业是否被ST不会影响企业研发投入量。
其他带宽和核形式的估计与精确断点回归一致,这里不再演示!
1.6 多断点回归
前面的例子中,变量仅存在一个断点。更一般的情况是变量可能存在多个断点,这就需要采用多断点回归模型来进行研究。
多断点又可以分为累积多断点形式和非累积多断点形式。累积多断点较好理解,是变量中的所有样本均可能面临这多个断点;而非累积多断点中变量只选择多个断点中的一个断点。
累积多断点:例如,我们以roe是否等于0来作为企业是否亏损的断点,那么我们可以进一步以roe是否等于30来判断企业是否超额盈利;此例中所有样本企业均有可能处于这两个断点中的任意一侧。
非累积多断点:例如,在升学考试中,A学校分数线是500分,B学校分数线是600分,每个学生只能选择报考1所学校。如果一个考生报考A学校,即使其考了650分,也只能上A学校。所以在该例中每个人只面临一个断点。
目前,多断点回归是计量经济学的前言理论,这里仅进行简单的演示,更深入的学习可以查阅多断点回归的最新论文。
安装rdrobust命令:
ssc install rdrobust
安装rdmc命令:
search rdmc
在弹出的窗口中点击:** st0620 from http://www.stata-journal.com/software/sj20-4 **
在新窗口中点击:click here to install进行安装。
1.6.1 累积多断点
这里对roe设置两个断点,即在roe=0和roe=30的位置设置断点。具体在stata中生产新变量cutvar,其第一行的设置取0,第二行的值设置为30。
注意:所有企业都面临这两个断点!
设置多端点变量cutvar:
g cutvar = 0 in 1
replace cutvar = 30 in 2
累积多断点回归:
rdms lnresearch roe, cvar(cutvar)
在估计结果中,cutfoff下方有0和30两个断点,其对应的P值均不显著,表明两个断点处企业研发投入均不存在差异!
1.6.2 非累积多断点
为了演示,这里假设每个企业年初制定是否亏损和是否roe达到30的目标,然后按照其中一个目标来进行生产经营。同时,这里随机指定某个企业选择roe=0的目标或roe=30的目标。
注意:每个企业只面临roe=0和roe=30中的一个断点!
设置多端点变量cutvar1:
g rand=runiform()
g cutvar1=0 if rand<0.5
replace cutvar1=30 if rand>=0.5
非累积多断点回归:
rdmc lnresearch roe ,cvar(cutvar1)
在估计结果中,cutfoff下方有0和30两个断点,其对应的P值均不显著,表明两个断点处企业研发投入均不存在差异!