步学会用MATLAB做空间计量回归详细步骤.docx
《步学会用MATLAB做空间计量回归详细步骤.docx》由会员分享,可在线阅读,更多相关《步学会用MATLAB做空间计量回归详细步骤.docx(23页珍藏版)》请在冰豆网上搜索。
![步学会用MATLAB做空间计量回归详细步骤.docx](https://file1.bdocx.com/fileroot1/2023-2/9/749f6809-d5a0-40f1-9e44-1ef94dd880a7/749f6809-d5a0-40f1-9e44-1ef94dd880a71.gif)
步学会用MATLAB做空间计量回归详细步骤
与MATLAB链接:
Excel:
选项——加载项——COM加载项——转到——没有勾选项
2.MATLAB安装目录中寻找toolbox——exlink——点击,启用宏
E:
\MATLAB\toolbox\exlink
然后,Excel中就出现MATLAB工具
(注意Excel中的数据:
)
3.启动matlab
(1)点击startMATLAB
(2)senddatatomatlab,并对变量矩阵变量进行命名(注意:
选取变量为数值,不包括各变量)
(data表中数据进行命名)
(空间权重进行命名)
(3)导入MATLAB中的两个矩阵变量就可以看见
4.将elhorst和jplv7两个程序文件夹复制到MATLAB安装目录的toolbox文件夹
5.设置路径:
6.输入程序,得出结果
T=30;
N=46;
W=normw(W1);
y=A(:
3);
x=A(:
[4,6]);
xconstant=ones(N*T,1);
[nobsK]=size(x);
results=ols(y,[xconstantx]);
vnames=strvcat('logcit','intercept','logp','logy');
prt_reg(results,vnames,1);
sige=*((nobs-K)/nobs);
loglikols=-nobs/2*log(2*pi*sige)-1/(2*sige)*'*
%The(robust)LMtestsdevelopedbyElhorst
LMsarsem_panel(results,W,y,[xconstantx]);%(Robust)LMtests
解释
每一行分别表示:
该面板数据的时期数为30(T=30),
该面板数据有30个地区(N=30),
将空间权重矩阵标准化(W=normw(w1)),
将名为A(以矩阵形式出现在MATLABA中)的变量的第3列数据定义为被解释变量y,
将名为A的变量的第4、5、6列数据定义为解释变量矩阵x,
定义一个有N*T行,1列的全1矩阵,该矩阵名为:
xconstant,(ones即为全1矩阵)
说明解释变量矩阵x的大小:
有nobs行,K列。
(size为描述矩阵的大小)。
附录:
静态面板空间计量经济学
一、OLS静态面板编程
1、普通面板编程
T=30;
N=46;
W=normw(W1);
y=A(:
3);
x=A(:
[4,6]);
xconstant=ones(N*T,1);
[nobsK]=size(x);
results=ols(y,[xconstantx]);
vnames=strvcat('logcit','intercept','logp','logy');
prt_reg(results,vnames,1);
sige=*((nobs-K)/nobs);
loglikols=-nobs/2*log(2*pi*sige)-1/(2*sige)*'*
%The(robust)LMtestsdevelopedbyElhorst
LMsarsem_panel(results,W,y,[xconstantx]);%(Robust)LMtests
2、空间固定OLS(spatial-fixedeffects)
T=30;
N=46;
W=normw(W1);
y=A(:
3);
x=A(:
[4,6]);
xconstant=ones(N*T,1);
[nobsK]=size(x);
model=1;
[ywith,xwith,meanny,meannx,meanty,meantx]=demean(y,x,N,T,model);
results=ols(ywith,xwith);
vnames=strvcat('logcit','logp','logy');%shouldbechangedifxischanged
prt_reg(results,vnames);
sfe=meanny-meannx*;%includingtheconstantterm
yme=y-mean(y);
et=ones(T,1);
error=y-kron(et,sfe)-x*;
rsqr1=error'*error;
rsqr2=yme'*yme;
FE_rsqr2=-rsqr1/rsqr2%r-squaredincludingfixedeffects
sige=*((nobs-K)/nobs);
logliksfe=-nobs/2*log(2*pi*sige)-1/(2*sige)*'*
LMsarsem_panel(results,W,ywith,xwith);%(Robust)LMtests
3、时期固定OLS(time-periodfixedeffects)
T=30;
N=46;
W=normw(W1);
y=A(:
3);
x=A(:
[4,6]);
xconstant=ones(N*T,1);
[nobsK]=size(x);
model=2;
[ywith,xwith,meanny,meannx,meanty,meantx]=demean(y,x,N,T,model);
results=ols(ywith,xwith);
vnames=strvcat('logcit','logp','logy');%shouldbechangedifxischanged
prt_reg(results,vnames);
tfe=meanty-meantx*;%includingtheconstantterm
yme=y-mean(y);
en=ones(N,1);
error=y-kron(tfe,en)-x*;
rsqr1=error'*error;
rsqr2=yme'*yme;
FE_rsqr2=-rsqr1/rsqr2%r-squaredincludingfixedeffects
sige=*((nobs-K)/nobs);
logliktfe=-nobs/2*log(2*pi*sige)-1/(2*sige)*'*
LMsarsem_panel(results,W,ywith,xwith);%(Robust)LMtests
4、空间与时间双固定模型
T=30;
N=46;
W=normw(W1);
y=A(:
3);
x=A(:
[4,6]);
xconstant=ones(N*T,1);
[nobsK]=size(x);
model=3;
[ywith,xwith,meanny,meannx,meanty,meantx]=demean(y,x,N,T,model);
results=ols(ywith,xwith);
vnames=strvcat('logcit','logp','logy');%shouldbechangedifxischanged
prt_reg(results,vnames)
en=ones(N,1);
et=ones(T,1);
intercept=mean(y)-mean(x)*;
sfe=meanny-meannx*(en,intercept);
tfe=meanty-meantx*(et,intercept);
yme=y-mean(y);
ent=ones(N*T,1);
error=y-kron(tfe,en)-kron(et,sfe)-x*(ent,intercept);
rsqr1=error'*error;
rsqr2=yme'*yme;
FE_rsqr2=-rsqr1/rsqr2%r-squaredincludingfixedeffects
sige=*((nobs-K)/nobs);
loglikstfe=-nobs/2*log(2*pi*sige)-1/(2*sige)*'*
LMsarsem_panel(results,W,ywith,xwith);%(Robust)LMtests
二、静态面板SAR模型
1、无固定效应(Nofixedeffects)
T=30;
N=46;
W=normw(W1);
y=A(:
[3]);
x=A(:
[4,6]);
fort=1:
T
t1=(t-1)*N+1;t2=t*N;
wx(t1:
t2,:
)=W*x(t1:
t2,:
);
end
xconstant=ones(N*T,1);
[nobsK]=size(x);
=0;
=0;
=0;
results=sar_panel_FE(y,[xconstantx],W,T,info);
vnames=strvcat('logcit','intercept','logp','logy');
prt_spnew(results,vnames,1)
%Printouteffectsestimates
spat_model=0;
direct_indirect_effects_estimates(results,W,spat_model);
panel_effects_sar(results,vnames,W);
2、空间固定效应(Spatialfixedeffects)
T=30;
N=46;
W=normw(W1);
y=A(:
[3]);
x=A(:
[4,6]);
fort=1:
T
t1=(t-1)*N+1;t2=t*N;
wx(t1:
t2,:
)=W*x(t1:
t2,:
);
end
xconstant=ones(N*T,1);
[nobsK]=size(x);
=0;
=1;
=0;
results=sar_panel_FE(y,x,W,T,info);
vnames=strvcat('logcit','logp','logy');
prt_spnew(results,vnames,1)
%Printouteffectsestimates
spat_model=0;
direct_indirect_effects_estimates(results,W,spat_model);
panel_effects_sar(results,vnames,W);
3、时点固定效应(Timeperiodfixedeffects)
T=30;
N=46;
W=normw(W1);
y=A(:
[3]);
x=A(:
[4,6]);
fort=1:
T
t1=(t-1)*N+1;t2=t*N;
wx(t1:
t2,:
)=W*x(t1:
t2,:
);
end
xconstant=ones(N*T,1);
[nobsK]=size(x);
=0;%requiredforexactresults
=2;
=0;%Donotprintinterceptandfixedeffects;use=1toturnon
results=sar_panel_FE(y,x,W,T,info);
vnames=strvcat('logcit','logp','logy');
prt_spnew(results,vnames,1)
%Printouteffectsestimates
spat_model=0;
direct_indirect_effects_estimates(results,W,spat_model);
panel_effects_sar(results,vnames,W);
4、双固定效应(Spatialandtimeperiodfixedeffects)
T=30;
N=46;
W=normw(W1);
y=A(:
[3]);
x=A(:
[4,6]);
fort=1:
T
t1=(t-1)*N+1;t2=t*N;
wx(t1:
t2,:
)=W*x(t1:
t2,:
);
end
xconstant=ones(N*T,1);
[nobsK]=size(x);
=0;%requiredforexactresults
=3;
=0;%Donotprintinterceptandfixedeffects;use=1toturnon
results=sar_panel_FE(y,x,W,T,info);
vnames=strvcat('logcit','logp','logy');
prt_spnew(results,vnames,1)
%Printouteffectsestimates
spat_model=0;
direct_indirect_effects_estimates(results,W,spat_model);
panel_effects_sar(results,vnames,W);
三、静态面板SDM模型
1、无固定效应(Nofixedeffects)
T=30;
N=46;
W=normw(W1);
y=A(:
[3]);
x=A(:
[4,6]);
fort=1:
T
t1=(t-1)*N+1;t2=t*N;
wx(t1:
t2,:
)=W*x(t1:
t2,:
);
end
xconstant=ones(N*T,1);
[nobsK]=size(x);
=0;
=0;
=0;
results=sar_panel_FE(y,[xconstantxwx],W,T,info);
vnames=strvcat('logcit','intercept','logp','logy','W*logp','W*logy');
prt_spnew(results,vnames,1)
%Printouteffectsestimates
spat_model=1;
direct_indirect_effects_estimates(results,W,spat_model);
panel_effects_sdm(results,vnames,W);
2、空间固定效应(Spatialfixedeffects)
T=30;
N=46;
W=normw(W1);
y=A(:
[3]);
x=A(:
[4,6]);
fort=1:
T
t1=(t-1)*N+1;t2=t*N;
wx(t1:
t2,:
)=W*x(t1:
t2,:
);
end
xconstant=ones(N*T,1);
[nobsK]=size(x);
=0;%requiredforexactresults
=1;
=0;%Donotprintinterceptandfixedeffects;use=1toturnon
results=sar_panel_FE(y,[xwx],W,T,info);
vnames=strvcat('logcit','logp','logy','W*logp','W*logy');
prt_spnew(results,vnames,1)
%Printouteffectsestimates
spat_model=1;
direct_indirect_effects_estimates(results,W,spat_model);
panel_effects_sdm(results,vnames,W);
3、时点固定效应(Timeperiodfixedeffects)
T=30;
N=46;
W=normw(W1);
y=A(:
[3]);
x=A(:
[4,6]);
fort=1:
T
t1=(t-1)*N+1;t2=t*N;
wx(t1:
t2,:
)=W*x(t1:
t2,:
);
end
xconstant=ones(N*T,1);
[nobsK]=size(x);
=0;%requiredforexactresults
=2;
=0;%Donotprintinterceptandfixedeffects;use=1toturnon
%Newroutinestocalculateeffectsestimates
results=sar_panel_FE(y,[xwx],W,T,info);
vnames=strvcat('logcit','logp','logy','W*logp','W*logy');
%Printoutcoefficientestimates
prt_spnew(results,vnames,1)
%Printouteffectsestimates
spat_model=1;
direct_indirect_effects_estimates(results,W,spat_model);
panel_effects_sdm(results,vnames,W)
4、双固定效应(Spatialandtimeperiodfixedeffects)
T=30;
N=46;
W=normw(W1);
y=A(:
[3]);
x=A(:
[4,6]);
fort=1:
T
t1=(t-1)*N+1;t2=t*N;
wx(t1:
t2,:
)=W*x(t1:
t2,:
);
end
xconstant=ones(N*T,1);
[nobsK]=size(x);
=0;
=0;%requiredforexactresults
=3;
=0;%Donotprintinterceptandfixedeffects;use=1toturnon
results=sar_panel_FE(y,[xwx],W,T,info);
vnames=strvcat('logcit','logp','logy','W*logp','W*logy');
prt_spnew(results,vnames,1)
%Printouteffectsestimates
spat_model=1;
direct_indirect_effects_estimates(results,W,spat_model);
panel_effects_sdm(results,vnames,W)
waldtestspatiallag
%WaldtestforspatialDurbinmodelagainstspatiallagmodel
btemp=;
varcov=;
Rafg=zeros(K,2*K+2);
fork=1:
K
Rafg(k,K+k)=1;%R(1,3)=0andR(2,4)=0;
end
Wald_spatial_lag=(Rafg*btemp)'*inv(Rafg*varcov*Rafg')*Rafg*btemp
prob_spatial_lag=1-chis_cdf(Wald_spatial_lag,K)
waldtestspatialerror
%WaldtestspatialDurbinmodelagainstspatialerrormodel
R=zeros(K,1);
fork=1:
K
R(k)=btemp(2*K+1)*btemp(k)+btemp(K+k);%kchangedin1,7/12/2010
%R
(1)=btemp(5)*btemp
(1)+btemp(3);
%R
(2)=btemp(5)*btemp
(2)+btemp(4);
end
Rafg=zeros(K,2*K+2);
fork=1:
K
Rafg(k,k)=btemp(2*K+1);%kchangedin1,7/12/2010
Rafg(k,K+k)=1;
Rafg(k,2*K+1)=btemp(k);
%Rafg(1,1)=btemp(5);Rafg(1,3)=1;Rafg(1,5)=btemp
(1);
%Rafg(2,2)=btemp(5);Rafg(2,4)=1;Rafg(2,5)=btemp
(2);
end
Wald_spatial_error=R'*inv(Rafg*varcov*Rafg')*R
prob_spatial_error=1-chis_cdf(Wald_spatial_error,K)
LRtestspatiallag
resultssar=sar_panel_FE(y,x,W,T,info);
LR_spatial_lag=-2*(LR_spatial_lag,K)
LRtestspatialerror
resultssem=sem_panel_FE(y,x,W,T,info);
LR_spatial_error=-2*(LR_spatial_error,K)
5、空间随机效应与时点固定效应模型
T=30;
N=46;
W=normw(W1);
y=A(:
[3]);
x=A(:
[4,6]);
fort=1:
T
t1=(t-1)*N+1;t2=t*N;
wx(t1:
t2,:
)=W*x(t1:
t2,:
);
end
xconstant=ones(N*T,1);
[nobsK]=size(x);
[ywith,xwith,meanny,meannx,meanty,meantx]=demean(y,[xwx],N,T,2);%2=timedummies
=1;
results=sar_panel_RE(ywith,xwith,W,T,info);
prt_spnew(results,vnames,1)
spat_model=1;
direct_indirect_effects_estimates(results,W,spat_model);
panel_effects_sdm(results,vnames,W)
waldtestspatiallag
btemp=(1:
2*K+2);
varcov=(1:
2*K+2,1:
2*K+2);
Rafg=zeros(K,2*K+2);
fork=1:
K
Rafg(k,K+k)=1;%R(1,3)=0andR(2,4)=0;
end
Wald_spatial_lag=(Rafg*btemp)'*inv(Rafg*varcov*Rafg')*Rafg*btemp
prob_spatial_lag=1-chis_cdf(Wald_spatial_lag,K)
waldtestspatialerror
R=zeros(