全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 学习笔记1.0
39286 118
2015-11-01
前面也在各大论坛混迹,学习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》供大家参考。


先到这里吧,以后有空了再与大家分享。
附件列表

elhost.Matlab software for spatial panels.pdf

大小:350.93 KB

只需: 1 个论坛币  马上下载

主要参考资料

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-11-2 19:58:38
这里 vnames是变量名称,顾名思义,后边的函数主要保存你的变量名称,所以这里你有几个自变量就命名几个(X1,... ... Xn),然后还要加上”log(X1,... ... Xn)。您好,请问为社么要加上log()?应该是加上W*吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-11-2 23:03:02
樱空ぁ恋 发表于 2015-11-2 19:58
这里 vnames是变量名称,顾名思义,后边的函数主要保存你的变量名称,所以这里你有几个自变量就命名几个(X ...
呵呵,你没有好好看看程序,程序里是分成很多步骤地,第一个是检验是否可以用非空间方程解释变量,所以第一个的程序里没有W*的加持。这个不能着急,要仔细揣摩程序,最好结合ELHORST的程序说明文章看看。就是我在下面附件里的文章。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-11-3 07:01:03
wangbbs 发表于 2015-11-2 23:03
呵呵,你没有好好看看程序,程序里是分成很多步骤地,第一个是检验是否可以用非空间方程解释变量,所以第 ...
空间误差模型是将demo中的SAR-panel-FE改成SEM就好了嘛,没有找到SEM程序啊。谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-11-3 07:02:29
wangbbs 发表于 2015-11-2 23:03
呵呵,你没有好好看看程序,程序里是分成很多步骤地,第一个是检验是否可以用非空间方程解释变量,所以第 ...
额。。我的意思是你是不是打错了,可能我理解错你的意思啦~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-11-3 23:02:49
为了说明清楚,我这里结合模型一步一步说明。这样可能容易相互理解:
% dimensions of the problem
A=xlsread('x:\lotus\cigarette.xls');
W1=xlsread('x:\lotus\Spat-Sym-US.xls');
T=30; % number of time periods
N=46; % number of regions
% row-normalize W
W=normw(W1); % function of LeSage
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
for t=1:T
    t1=(t-1)*N+1;t2=t*N;
    wx(t1:t2,:)=W*x(t1:t2,:);
end
xconstant=ones(N*T,1);
[nobs K]=size(x);
这个程序单元是对各个变量的设置和变量的初始化。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群