//***************************************************************
//*******************************0、导入Excel数据
//******************************************************************
clear
import excel using C:\\Users\\Desktop\\data.xlsx, firstrow clear
//下面这个代码很重要,下面这个代码告诉Stata你的数据是面板数据
tsset code time
// unbalanced 表示非平衡面板
xtdes
//--看看结构---------------
//***************************************************************
//*******************************1、简单混合,和聚类标准差混合
//*********************Y因变量 X自变量 C控制变量 i.industry行业控制变量
reg Y X C1 C2 C3 C4 i.industry
est store PT
//*******************************简单混合回归,使用普通标准差 ①
reg Y X C1 C2 C3 C4 i.industry ,vce(cluster code)
est store PTse
//******************混合回归标准差调整,聚类,vce(cluster code)表示使用聚类稳健标准差
// cluster后面是聚类的类别,它估计的se要大很多
estimates table PT PTse
// PT和PTse回归系数放在一起对比一下,
// 即使系数差别不大,t/p 值还是有差别的
//******************************************************************
//*****************************2、固定效应和混合回归选哪个**********
//********************************此处就讨论固定个体与否************
//***************************
xi:xtreg Y X C1 C2 C3 C4 i.industry , fe
// xtreg 已经知道为面板数据,所以r和vce(cluster code)效果一样
//* 看回归上面行的F检验的P值,原假设H0:all ui=0
// P值=0.0000,故强烈拒绝原假设,FE明显优于混合回归,不采用混合回归
// 应该允许每家公司拥有自己的截距项
// 但由于未使用聚类稳健的标准差,故这个F检验可能并不有效
// 下面采用LSDV法来判断
xi:xtreg Y X C1 C2 C3 C4 i.industry i.code, fe r
est store LSDV
//***就跑上面的代码,看每一家公司虚拟变量的p值是否显著,显著的话
//***就拒绝所有个体虚拟变量都是0的假设,即存在个体效应,不应该使用混合回归
//******************************************************************
//*****************************3、固定效应要固定时间吗**************
//******************************************************************
tab time,gen(time)
xi:xtreg Y X C1 C2 C3 C4 time2-time9 i.industry, fe r
// time1被作为基期,对应常数项,我的数据只有9年所以只到time9就好
// time虚拟变量的p值看,有的显著有的不显著
test time2 time3 time4 time5 time6 time7 time8 time9
// 检验所有年度虚拟变量的联合显著性
// 我的F检验的P=0.0002,强烈拒绝H0:无时间效应,
// 应该在模型中包括时间效应,即i.industry后面加一个i.time
// 加一个i.time,是把时间作为虚拟变量包括进回归模型,实现固定时间效应
xi:xtreg Y X C1 C2 C3 C4 i.time, fe r
// 上面两行代码跑了一个双固定效应
// fe 是固定code(这里指上市公司代码)个体效应,i.time fe 是时间个体双固定效应
// *********************************使用时注意
//**********************************进行固定效应的两种办法
// --fe去中心化加入进行处理",---i.是生成虚拟变量,然后变成控制变量的处理办法
// 所以 i.industry i.time 不加fe就可以固定行业和时间
// 如果固定了fe,没必要再固定行业,不用i.industry
// 固定了fe,再使用i.industry的话,行业如果不是面板数据,没有随时间变动的话
//--------这样industry就会被omitted,不能fe和i.industry共存
//--------要么i.indutry i.time;要么i.time fe 达到双固定效应
//--------我的行业数据是随时间变动的面板数据,所以可以i.industry i.time fe共存
//******************************************************************
//*****************************4、混合回归还是随机效应**************
//******************************************************************
xi:xtreg Y X C1 C2 C3 C4 i.industry i.time ,re r
est store re
xttest0
// xttest0命令的结果P值=0.0000
// 即:LM检验拒绝不存在个体随机效应的原假设,
// 即混合回归与随机效应之间,应该选择随机效应
//******************************************************************
//*****************************5、随机效应还是固定效应?**************
//******************************************************************
// 使用前注意,使用Hausman检验时,两个回归都不能进行方差聚类,
//****************************************************即不要有r、vce()等出现
xi:xtreg Y X C1 C2 C3 C4 i.industry i.time ,fe
est store FE
// fe跑的
xi:xtreg Y X C1 C2 C3 C4 i.industry i.time ,re
est store RE
// re 跑的
hausman FE RE
// 检验哪个好,原假设是 re 更好
// 我的P值为0.0000,拒绝原假设,应该采用固定效应回归
//******但这个检验没有考虑聚类标准差
//聚类标准差和普通标准差相差较大时,hausman检验可能会不可靠
// 我的聚类标准差和普通标准差相差较大,即回归系数的se差别比较大
// 则应该使用下面的方法检验随机效应好还是固定效应好
//
quietly xi:xtreg Y X C1 C2 C3 C4 ,re theta
global yandxforhausman Y X C1 C2 C3 C4
sort code
foreach x of varlist $yandxforhausman {
by code:egen mean`x'= mean(`x')
gen md`x'=`x' - mean`x'
gen red`x'=`x' - theta*mean`x'
}
quietly xi:xtreg redY redX redC1 redC2 redC3 redC4 /*
*/mdX mdC1 mdC2 mdC3 mdC4 ,vce(cluster code)
Test mdX mdC1 mdC2 mdC3 mdC4
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务