前面也在各大论坛混迹,学习MATLAB的空间计量模型的实现,并且经过痛苦的学习过程,好容易有点收获。最近看论坛里还有很多同行在痛苦的学习,就想分享下我的学习经验。让大家共同进步。
(1)首先你需要到http://www.regroningen.nl/elhorst/software.shtml网站下载相应的程序和有关说明文件。
(2)首先运行demopanelscompare.m文件,打开以后找到这两行程序
A=xlsread('x:\lotus\cigarette.xls');
W1=xlsread('x:\lotus\Spat-Sym-US.xls');
第一行是读入数据,你自己的数据,数据格式自己定义。第二行要输入的是你的权重文件,这里的权重文件支持很多种类型具体的可见jplv7文件夹\spatail\weights\contents.m文件中的介绍。这个文件夹中有相应的权重文件生成程序。要是你嫌麻烦,就使用最简单的邻接矩阵吧,自己在EXCEL中就可以设。
(3)接着要设置的是时间和地区,改称你自己的数量即可。
T=30; % number of time periods
N=46; % number of regions
(4)现在设置变量,y是应变量,x是自变量,数量可以自己设定。
y=A(:,[3]); % column number in the data matrix that corresponds to the dependent variable (一个应变量)
x=A(:,[4,6]); % column numbers in the data matrix that correspond to the independent variables(两个自变量),你自己设的变量数量就是Excel中的列数量。这里是[4,6],你可以根据自己的需要设成[4,x]。
(5)关键的一步在这,很多童鞋都不知道怎么会运行出错误!
results=sar_panel_FE(y,[xconstant x],W,T,info);
vnames=strvcat('logcit','intercept','logp','logy');
这里 vnames是变量名称,顾名思义,后边的函数主要保存你的变量名称,所以这里你有几个自变量就命名几个(X1,... ... Xn),然后还要加上”log(X1,... ... Xn)“。这样你的变量就设置完成了。下面这行程序也是一样的道理修改。
vnames=strvcat('logcit','intercept','logp','logy','W*logp','W*logy');
(6)不要光改了主程序中的变量数量和名称,在子程序中的也要修改哦。
(7)还有很多童鞋在程序运行中出错,这时可以先检查下,你的文件夹中是否包含了全部的子程序,有些子程序需要你去找到添加到主程序文件夹中。
(8)如果有时间,请好好看看Elhorst的文章MATLAB SOFTWARE FOR SPATIAL PANELS,里面对程序中的有关检验有比较详细的说明和讨论。
(9)如果要搞清楚其中的LM,SEM,SAR的关系,请参考Elhorst的书《空间计量经济学,从横截面数据到空间面板》
最后附上《MATLAB SOFTWARE FOR SPATIAL PANELS》供大家参考。
先到这里吧,以后有空了再与大家分享。