robust off matlab,matlab_robust LM test 求指点!(空间计量)
空間計量軟件包中的示例命令:
tr=trace((W'+W)*W);
[N junk]=size(W);
[nobs k]=size(x);
T=nobs/N;
beta=results.beta;
res=results.resid;
sige=res'*res/nobs;
WXB2=0;EWE=0;EWY=0;
xpxi=x'*x\eye(k);
WXB=kron(speye(T),W)*x*beta;
MWXB=(speye(N*T)-x*xpxi*x')*WXB;
WXB2=WXB'*MWXB;
for t=1:T
t1=(t-1)*N+1;t2=t*N;
EWE=EWE+res(t1:t2,1)'*W*res(t1:t2,1);
EWY=EWY+res(t1:t2,1)'*W*y(t1:t2,1);
end
Ttr=T*tr;
J=(WXB2+Ttr*sige)/sige;
LMerror=(EWE/sige)^2/Ttr;
LMlag=(EWY/sige)^2/J;
robustLMerror=(EWE-(Ttr/J)*EWY)^2/((sige)^2*(Ttr*(1-Ttr/J)));
robustLMlag=(EWY-EWE)^2/(sige^2*(J-Ttr));
fprintf(1,'LM test no spatial lag, probability? ?? ?? ? = %9.4f,%9.3f \n',LMlag,1-chis_prb(LMlag,1));
fprintf(1,'robust LM test no spatial lag, probability? ?= %9.4f,%9.3f \n',robustLMlag,1-chis_prb(robustLMlag,1));
fprintf(1,'LM test no spatial error, probability? ?? ???= %9.4f,%9.3f \n',LMerror,1-chis_prb(LMerror,1));
fprintf(1,'robust LM test no spatial error, probability = %9.4f,%9.3f \n',robustLMerror,1-chis_prb(robustLMerror,1));
但是我的數據是6個自變量,1個因變量,時間跨度為11年的面板數據,
tr=trace((W'+W)*W);
>> [N,junk]=size(W);
>> [nobs K]=size(x);
>> T=nobs/(6*N);
>> beta=results.beta;
res=results.resid;
sige=res'*res/nobs;
WXB2=0;EWE=0;EWY=0;
xpxi=x'*x\eye(K);
>> WXB=kron(speye(T),W)*x*beta;
MWXB=(speye(N*T)-x*xpxi*x')*WXB;
WXB2=WXB'*MWXB;
出現
??? Error using ==> speye
Input arguments must be nonnegative integers.
請問我的命令T定義的有問題?還是其他什么錯誤,如空間權重矩陣的維度不對?
總結
以上是生活随笔為你收集整理的robust off matlab,matlab_robust LM test 求指点!(空间计量)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 啊哈java_1.桶排序——啊哈算法ja
- 下一篇: 天宫初级认证答案_百度初级认证试题答案