• Index

截面数据

Reads: 2641 Edit

1 logit和probit的模型形式

logit模型:

probit模型:

其中,被解释变量y是只能取0和1的二分类变量。

2 logit和probit模型应用

2.1 数据

在多元线性回归的例子中,一些工业企业被“ST”了,那么,企业被“ST”的影响因素有哪些呢?

为了对上述问题进行研究,首先,需要增加一个变量ST,如果企业被ST了,就设1,否则,设为0。然后采用logit或者probit模型研究企业被ST的影响因素。

2.2 录入数据

打开数据编辑窗口,将数据从Excel中复制到Stata,注意粘贴时选择“将第一行作为变量名”

stata-106

2.3 变量转换

将变量修改为英文名:

rename 成立年 year
rename 员工总数 labor
rename 资产总计 asset
rename 资产负债率 debt
rename 流动比率 liquit
rename 总资产周转率 turnover

生成lnage和lnlabor变量:

g lnage=ln(2020-year)
g lnlabor=ln(labor)

根据“证券简称”变量生产ST(0,1)变量:

g code=subinstr(证券简称,"*","",.) //将“证券简称”*ST...中的*号删除,并生成新变量code
g ST=0
replace ST=1 if substr(code,1,2)=="ST" //如果code变量前两个字符是ST,则ST变量的值修改为1

2.4 估计logit模型

logit命令估计:

logit ST liquit turnover lnage lnlabor

logit模型的系数,只能根据正负符号判断对被解释变量的影响方向,影响的程度无法直接得出。需要计算出odds ratio(发生比之比)来解释;OR大于1,说明发生概率上升;OR小于1,说明发生概率下降。

对于LIQUIT的系数-0.31400048,其OR值为,即OR约等于0.73,表面LIQUIT增加一单位,可以使企业被ST的概率下降(1-0.73=0.27)。

stata-107

logistic命令估计:

	logistic ST liquit turnover lnage lnlabor

logistic命令可以直接给出系数的OR值

stata-109

2.5 logit模型中加入虚拟变量

根据企业规模分为大型中型和小型企业。设置两个虚拟变量D1和D2,当为大型企业时D1=1、D2=0;当为中型企业时,D2=1、D1=0;当为小型企业时,D1=D2=0.

生成虚拟变量:

g d1=0 
g d2=0
replace d1=1 if 企业规模=="大型"
replace d2=1 if 企业规模=="中型"

创建虚拟变量和liquit变量的交互项:

g d1liquit=d1*liquit
g d2liquit=d2*liquit

logit回归:

logit ST d1 d2 liquit turnover lnage lnlabor
logit ST liquit d1liquit d2liquit turnover lnage lnlabor

估计结果显示,d1和d2变量系数的P值均大于0.1,不显著,表明大型企业、中型企业、小型企业,在其他条件相同的情况下被ST的概率不存在差别。

stata-110

D1LIQUIT变量系数的P值小于0.1,表明D1LIQUIT变量显著。其系数为-0.6143838,对应的OR约等于0.54,因而提高流动比率,大型企业被ST的概率比小型企业多降低(1-0.54=0.46)。D1LIQUIT变量则不显著,说明因而提高流动比率,中型企业被ST的概率降低幅度与小型企业不存在差别。

stata-111

2.6 估计probit模型

probit命令估计:

probit ST liquit turnover lnage lnlabor

在估计结果显示,probit和logit模型估计系数的显著性一致,但是系数值确不一样。

probit模型无法计算OR(发生比之比),解释较为困难。对于LIQUIT变量,其系数为-0.1069226,表示企业流动比率增加1单位,企业被ST的概率密度函数下降0.1069226。

stata-112

3 logit和probit模型变换

在某些情况下,可以把多元线性回归模型的被解释变量转换为二分类变量,从而可以用logit和probit模型进行估计。

例如,在多元线性回归例子中,被解释变量为ROE,观察数据发现很多企业的ROE为负数。那么可以对ROE变量进行转换,如果ROE值为负数,就设为1;如果ROE值为正数,则设为0。这样可以研究企业ROE为负(企业亏损)的影响因素。

3.1 生成roe0变量,当roe大于0时roe0=0,否则roe0=1

生成roe0变量:

g roe0=0
replace roe0=1 if roe<0

3.2 logit模型估计

logit命令估计:

logit roe1 liquit turnover lnage lnlabor

采用logit命令回归时发现一直在迭代,不收敛,说明模型或者数据质量有问题。需要修改模型形式,或者对数据质量进行检查。这里我们将turnover变量去掉,重新进行估计。如果有些研究中理论上不允许对模型形式进行修改,那么可以试一下probit估计,probit估计可能会收敛!

修改模型形式后的logit命令估计:

logit roe1 liquit lnage lnlabor

模型中去掉turnover变量后可以进行估计,估计结果显示LIQUIT、LNAGE、LNLABOR三个解释变量系数的P值均小于0.1,因而四个变量都显著,都对企业ROE是否为负有影响。

stata-113

probit命令估计:

probit roe1 liquit turnover lnage lnlabor

probit模型可以正确估计。估计结果显示,LIQUIT、TURNOVER、LNAGE、LNLABOR四个解释变量系数的P值均小于0.1,因而四个变量都显著,都对企业ROE是否为负有影响。

stata-114



获取案例数据,请关注微信公众号并回复:Stata_dt12


Comments

Make a comment

  • Index