不论是空间计量还是传统意义上的计量经济学,涉及到面板数据都可能需要进行豪斯曼检验,本文将给大家提供一份快捷的豪斯曼检验代码,在直接使用该代码之前,还需要导入一些自己使用的数据源:主要如下:
导入代码为:

A为文件读取,读取名字为‘guiyihua’的CSV文件
第二条是提取y,第三条是提取x,W为空间权重矩阵,不知道权重矩阵如何制作的好兄弟可以参考我上一个文章(该矩阵也可以不需要,如果做的并非空间计量,同时该矩阵最好已经标准化过)。
T为时间,N为数据行,xconstant为全部由1组成的T*N的列向量。在输入完需要的数据之后,得到结果如下:

可以看到需要的数据已经导入。
写入脚本:
xconstant=ones(N*T,1);
[nobs, K]=size(x);
%接下来计算空间固定效应模型的对数似然值;
fprintf('空间固定效应对数似然值');
model=1;
[ywith,xwith,meanny,meannx,meanty,meantx]=demean(y,x,N,T,model);
results=ols(ywith,xwith);
sige=results.sige*((nobs-K)/nobs);
logliksfe=-nobs/2*log(2*pi*sige)-1/(2*sige)*results.resid'*results.resid
%计算时间固定效应模型的对数似然值
fprintf('时间固定效应对数似然值');
model=2;
[ywith,xwith,meanny,meannx,meanty,meantx]=demean(y,x,N,T,model);
results=ols(ywith,xwith);
sige=results.sige*((nobs-K)/nobs);
logliktfe=-nobs/2*log(2*pi*sige)-1/(2*sige)*results.resid'*results.resid
%计算空间与时间双固定效应模型的对数似然值
fprintf('空间与时间双固定效应对数似然值');
model=3;
[ywith,xwith,meanny,meannx,meanty,meantx]=demean(y,x,N,T,model);
results=ols(ywith,xwith);
sige=results.sige*((nobs-K)/nobs);
loglikstfe=-nobs/2*log(2*pi*sige)-1/(2*sige)*results.resid'*results.resid
%空间联合性显著检验
LR=-2*(logliktfe-loglikstfe);
dof=N;
pvalue=1-chis_prb(LR,dof);
fprintf('空间固定效应联合不显著')
fprintf(1,'=%9.4f,%6d,%9.4f\n',LR,dof,pvalue)
%时间联合性显著检验
LR=-2*(logliksfe-loglikstfe);
dof=T;
pvalue=1-chis_prb(LR,dof);
fprintf('时间固定效应联合不显著')
fprintf(1,'=%9.4f,%6d,%9.4f\n',LR,dof,pvalue)
得到如下结果:

可以看到,所有检验已经完成,模型支持双固定效应模型。
该代码的具体教程,我在blibli上传了制作的视频讲解,如果因我在CSDN中讲解的不到位导致各位看官没有理解的可以去blibli搜索科研虾观看详细讲解。同时如果各位想更多的交流与探讨的,可以加扣扣群:936269384,同时我也将代码上传至群文件。