《matlab空间面板数据模型操作简介》由会员分享,可在线阅读,更多相关《matlab空间面板数据模型操作简介(11页珍藏版)》请在金锄头文库上搜索。
1、MATLAB空间面板数据模型操作简介MATLAB安装:在民主湖资源站上下载MATLAB 2009a,或者2010a,按照其中的安装说明安装MATLAB。(MATLAB较大,占用内存较大,安装的话可能也要花费一定的时间)一、数据布局:首先我们说一下MATLAB处理空间面板数据时,数据文件是怎么布局的,熟悉eviews的同学可能知道,eviews中面板数据布局是:一个省份所有年份的数据作为一个单元(纵截面:一个时间序列),然后再排放另一个省份所有年份的数据,依次将所有省份的数据排放完,如下图,红框中“1-94”“1-95” “1-96” “1-97”中,1是省份的代号,94,95,96,97表示年
2、份,eviews是将每个省份的数据放在一起,再将所有省份堆放在一起。与eviews不同,MATLAB处理空间面板数据时,面板数据的布局是(在excel中说明):先排放一个横截面上的数据(即某年所有省份的数据),再将不同年份的横截面按时间顺序堆放在一起。如图:这里需要说明的是,MATLAB中省份的序号需要与空间权重矩阵中省份一一对应,我们一般就采用中国统计年鉴分地区数据中省份的排列顺序。(二阶空间权重矩阵我会在附件中给出)。二、数据的输入:MATLAB与excel链接:在excel中点击“工具加载宏浏览”,找到MATLAB的安装目录,一般来说,如果安装时没有修改安装路径,此安装目录为:C:Pro
3、gramfilesMATLABR2009atoolboxexlink,点击excllink.xla即可完成excel与MATLAB的链接。这样的话excel中的数据就可以直接导入MATLAB中形成MATLAB的数据文件。操作完成后excel的加载宏界面如图:选中“Spreadsheet Link EX3.0.3 for use with MATLAB”即表示我们希望excel 与MATLAB实现链接。点击确定后,excel窗口如图:红色框内选项为:startMATLAB:表示打开MATLAB,一般来说,如果excel实现了与MATLAB的链接,当我们打开excel时,excel会自动启动MAT
4、LAB,所以excel的打开速度很慢。Putmatrix:表示将excel中的数据输入MATLAB中,我们经常用的就是此项,选中需要导入到MATLAB中的数据(就是一个矩阵),点击putmatrix即可。如:下表是一个数据表格,那么红色框内的数据就是我们需要导入MATLAB中的数据。选中数据矩阵,点击putmatrix,出现如下窗口:我们需要在弹出的窗口中输入变量名称,即我们选中并输入到MATLAB中的数据矩阵在MATLAB中是以一个变量的形式存在,我们之后在使用时,需要调用该矩阵的某一列(后面详解)。如我们在此输入变量名为“pc”,点击确定。三、MATLAB窗口此时原来已经打开的MATLAB
5、窗口如图:标题栏工作空间历史记录控制窗口工具栏菜单栏这里我们简单介绍一下MATLAB的窗口,与很多我们见过的很多软件,如excel,word,spss一样,MATLAB一样有标题栏、菜单栏、工具栏。我们主要讲MATLAB的工作窗口,如图,左侧是“控制窗口”,在此可输入很多命令,如打开某一个文件,查找函数,建立模型等等。右侧上面是“工作空间”,一般是存储我们需要的数据文件(包括导入的原始数据,模型模拟过程中产生的数据文件等),如我们之前导入了变量名为“pc”的一个数据矩阵,就存放在这里,双击“pc”,就能查看该数据文件。右侧下方是“历史记录”,你在控制窗口进行的任何一项操作都会在这里有显示,所以
6、当你在此需要进行原来某项操作时,其实可以点击历史窗口中相应的记录就可。控制窗口左侧隐藏了“current directory”,这个是“当前目录”,即我们现在所在的位置。点击“当前目录”就会以浮动的形式出现当前目录,或方便我们查找我们需要的目录。这是我习惯的一种桌面布局,你也可以根据需要调整,在菜单栏有一项“Desktop”(桌面),点击desktopdesktop layout(桌面布局),会有几种布局形式,大家自己去看吧。四、与MATLAB相关的重要操作1、数据文件存储之前我们已经将模型需要的数据作为一个变量导入并存储在MATLAB的“工作空间”中,由于我们是处理空间面板数据,所以我们还需
7、要导入空间权重矩阵(如命名为“w1”),方法一样。这时我们需要将包含空间权重矩阵“w1”和所有数据的“pc”的数据文件进行存储,方便以后调用。数据存储方法:“FileSave Workspace As”,找到存储的地址,输入文件名,就形成了后缀名为.mat的MATLAB能识别的数据文件。2、设置路径MATLAB并没有自带空间计量软件包,这个需要在网上下载(我打包给你们),当然我们也需要将操作MATLAB过程中需要的数据文件、程序等保存在某个文件夹中。MATLAB通过调用软件包中已有的程序命令,以及自己保存的数据文件,来实现模型的模拟。此时我们需要告诉MATLAB它的权限在哪里,即它可以在哪里去
8、查找这些程序、数据等(默认状况下,MATLAB只承认安装目录下文件夹中已有的程序)。所以我们需要为MATLAB设置一条路径,让它能够使用这条路径下包含的程序,数据。设置路径的方法:点击“FileSet Path”,出现“set path”窗口,如图:空间计量工具箱红框下按钮“Add with Subfolders”表示在添加路径时,在文件夹下的子目录也被MATLAB承认,否则该文件夹下的子文件夹中的程序、数据将不能被MATLAB识别,而不能使用。点击此按钮,选择文件夹位置,然后点击该窗口的“Save”即可实现路径的设置。如图:我将D盘下的MATLAB文件夹及其子文件夹添加到了MATLAB能识别
9、的路径中,那么此文件夹中的所有与MATLAB相关的程序、数据等都能被MATLAB识别并使用。五、MATLAB程序空间计量工具箱一般来说,我们不会在MATLAB的控制窗口一个一个的输入命令,而是在MATLAB的“Editor”(编辑器)中将一个完整的程序编辑完毕然后进行存储,方便以后使用。当然我们更一般的是使用别人已经编辑好的程序,进行一定的组合和修改来进行自己的研究。这里先讲MATLAB的空间计量工具箱。在MATLAB官方网上下载的最新版的空间计量工具箱的名称为:“jplv7”。如上图,我在设置路径时,该工具箱已经包含在D盘下的MATLAB文件夹下。这时,我们可以从红框所标识的按钮找到该工具箱
10、,如图,左侧“current directory”(当前目录)即显示该目录下所有的文件夹,其中我们要使用的是“spatial”,该文件夹下包含我们需要的关于空间面数据模型相关的程序,而我们主要使用的完整程序是该文件夹下的“panel”(空间面板)。帮助空间计量模型我们可以先看一下以“demo”开头的M文件(MATLAB程序),demo即演示,如双击打开“demoLMsarsem_panel”,就会弹出该程序文件的编辑器(editor),点击红圈下的运行按钮,整个程序的运行结果就会显示在MATLAB的“控制窗口”中。六、空间面板数据模型解读(一)空间面板数据模型建立的一般步骤是:1、空间相关性检
11、验:Morans I检验,LM检验(这是我目前知道的两种检验方法,对于其他的一些检验如LR,Walds等本来就是用于截面空间数据空间相关性的检验,如何推广到空间面板数据上来,我也不是很清楚,我也没找到相关的程序,只是看到有些人做空间面板数据模型时也给出了这几种检验的结果)。打包文件中有一个“作业”文件夹,里面有单独的LM与moran检验的M文件,对自己的数据进行空间相关性检验可以直接使用这个程序,当然需要修改某些东西(后面有详解)。2、空间模型的选择:即选择用SAR模型,还是SEM模型,同时还涉及到固定效应和随机效应选择,以及在固定或随机效应模型中选择(地区固定、时期固定、双固定、还是混合面板
12、)。LM检验的结果可以为SAR与SEM的选择提供依据(查看相关文献)。面板数据的固定效应SAR模型直接调用“sar_panel_FE”程序,而固定效应SEM直接调用“sem_panel_FE”程序(这些程序已经作为程序文件存在于某个子目录下)。对于固定效应(地区固定,时间固定,双向固定,混合)的选择,其实只需要在引用上述程序时,对某些指标进行设置。如下图,是截取的一段面板SAR模型的程序,其实我们可以从百分号“%”后的文字去理解这段程序在做什么。红框中是设定模型是那种固定效应:info.model=0:表示此模型为混合模型,即没有固定效应;info.model=1:表示此模型为地区固定效应模型
13、;info.model=2:表示时间固定效应模型;info.model=3:表示双向固定效应模型。关于如何使用已有的完整程序来做自己的研究将在后面详解。(二)学会使用“帮助”自学空间面板数据关于“panel”文件夹下带有demo字样的M文件,一般都是一个完整的演示文件,可以运行,大家可以读一下。一般等号后面的语句就是对等号左边的变量进行赋值之类的,对于任何命令,都可以在MATLAB的控制窗口输入“which 命令名”进行查找,或者直接使用MATLAB提供的帮助,看该命令是什么意思,该怎么使用(上上图给出了帮助的位置)。下图是“帮助”窗口,在红框内输入如“wk1read”点回车即可获取“wk1r
14、ead”的相关解释,用法,描述,实例等等。目前关于MATLAB 用于空间面板计量方面的中文操作书我没有在网上找到,所以也只能通过这种方法来学习“panel”下的每一个M文件到底是干什么用的。(三)常见的命令:1、关于%:%后面可以输入中文,对已写程序进行描述和解释,%后的文字是不被运行的。2、wk1read:读取后缀名为.wk1的数据文件。(wk1数据文件是MATLAB能识别的数据文件,但具体该文件怎么形成的,我也不清楚。我一般使用的都是通过EXCEL链接导入到MATLAB中的数据,该数据存储后后缀名为.mat,该文件的读取,直接使用命令 load,如读取名为“pc”的mat文件,直接用loa
15、d pc.mat)3、在任何一个空间面板数据模型的程序中,首先要做的,当然是读取数据,第二步就是对空间面板数据进行描述(也叫定义空间面板数据),同时指定被解释变量y和解释变量x:如下图:每一行分别表示:该面板数据的时期数为30(T=30),该面板数据有30个地区(N=30),将空间权重矩阵标准化(W=normw(w1)),将名为consume(以矩阵形式出现在MATLABA中)的变量的第3列数据定义为被解释变量y,将名为consume的变量的第4、5、7、8、9、10、12列数据定义为解释变量矩阵x,定义一个有N*T行,1列的全1矩阵,该矩阵名为:xconstant,(ones即为全1矩阵)说明解释变量矩阵x的大小:有nobs行,K列。(size为描述矩阵的大小)。这里说明一下矩阵的引用:a(:,4:6)表示的是矩阵的第四到第六列;逗号前是行号,逗号后是列号;行号、列号必须加中括号;如果使用连续几行或几列,如第一行到第七行,表示成1:7即可;如果几行将是间断的,用逗号隔开;如果是全部的行或列,可省略数值和中括号,直接打冒号“:”即可。4、一般来说使用“panel”下的完整程序,在读懂意思后,我们用于自己的模型时,需要修改的也就是读取的文件名,面板数据的定义和解释变量x被解释变量y的指定,以及在输出时变量的名称,前面的都讲了,现在说说变量的名称。