MATLAB空间面板数据模型操作介绍

MATLAB空间面板数据模型操作介绍
MATLAB空间面板数据模型操作介绍

MATLAB 空间面板数据模型操作简介

MATLAB 安装: 在民主湖资源站上下载 MA TLAB 2009a ,或者 2010a ,按照其中的安装说明 安装 MATLAB 。( MATLAB 较大,占用内存较大,安装的话可能也要花费一定的时间)

一、数据布局

首先我们说一下 MA TLAB 处理空间面板数据时,数据文件是怎么布局的,熟悉 eviews 的同学 可能知道, eviews 中面板数据布局是:一个省份所有年份的数据作为一个单元(纵截面:一个时间 序列),然后再排放另一个省份所有年份的数据,依次将所有省份的数据排放完,如下图,红框中 “1-94”“1-95” “1-96” “ 1-97”中, 1是省份的代号, 94,95,96,97 表示年份, eviews 是将每个省 份的数据放在一起,再将所有省份堆放在一起。

与 eviews 不同, MATLAB 处理空间面板数据时,面板数据的布局是(在 excel 中说明):

先排

放一个横截面上的数据(即某年所有省份的数据) ,再将不同年份的横截面按时间顺序堆放在一起。 如图:

这里需要说明的是, MA TLAB 中省份的序号需要与空间权重矩阵中省份一一对应,我们一般就采用《中国统计年鉴》分地区数据中省份的排列顺序。(二阶空间权重矩阵我会在附件中给出)。二、数据的输入:

MATLAB 与 excel链接:在 excel中点击“工具→加载宏→浏览” ,找到 MA TLAB 的安装目录,一般来说,如果安装时没有修改安装路径,此安装目录为:

C:\Programfiles\MATLAB\R2009a\toolbox\exlink ,点击 excllink.xla 即可完成 excel 与 MATLAB 的链接。这样的话 excel 中的数据就可以直接导入 MATLAB 中形成 MATLAB 的数据文件。操作完成后 excel 的加载宏界面如图:

选中“Spreadsheet Link EX3.0.3 for use with MATLAB ”即表示我们希望 excel 与

MATLAB 实现链

接。点击确定后, excel 窗口如图:

红色框内选项为:

startMATLAB: 表示打开 MATLAB, 一般来说,如果 excel 实现了与 MA TLAB 的链接,当我们打开 excel 时, excel 会自动启动 MATLAB ,所以 excel 的打开速度很慢。

Putmatrix :表示将 excel 中的数据输入 MATLAB 中,我们经常用的就是此项,选中需要导入到 MA TLAB 中的数据(就是一个矩阵),点击 putmatrix 即可。如:下表是一个数据表格,那么红色框内的数据就是我们需要导入 MATLAB 中的数据。

选中数据矩阵,点击 putmatrix ,出现如下窗口:我们需要在弹出的窗口中输入变量名称,即我们选中并输入到 MA TLAB 中的数据矩阵在 MA TLAB 中是以一个变量的形式存在,我们之后在使用时,需要调用该矩阵的某一列(后面详解)。如我们在此输入变量名为“ pc”,点击确定。

三、MATLAB 窗口此时原来已经打开的 MA

TLAB 窗口如图:标题栏

这里我们简单介绍一下 MATLAB 的窗口,与很多我们见过的很多软件,如excel,word ,spss

一样, MA TLAB 一样有标题栏、菜单栏、工具栏。

我们主要讲 MATLAB 的工作窗口,如图,左侧是“控制窗口” ,在此可输入很多命令,

如打开某一个文件,查找函数,建立模型等等。

右侧上面是“工作空间” ,一般是存储我们需要的数据文件(包括导入的原始数据,模

型模拟过程中产生的数据文件等),如我们之前导入了变量名为“ pc”的一个数据矩阵,就存放在这里,双击“pc”,就能查看该数据文件。

右侧下方是“历史记录” ,你在控制窗口进行的任何一项操作都会在这里有显示,所以

当你在此需要进行原来某项操作时,其实可以点击历史窗口中相应的记录就可。

控制窗口左侧隐藏了“ current directory ”,这个是“当前目录” ,即我们现在所

在的位置。点击“当前目录”就会以浮动的形式出现当前目录,或方便我们查找我们需要的目录。

这是我习惯的一种桌面布局,你也可以根据需要调整,在菜单栏有一项“ Desktop ”

(桌面),点击 desktop→ desktop layout (桌面布局),会有几种布局形式,大家自己去看吧。

四、与MATLAB 相关的重要操作

1、数据文件存储

之前我们已经将模型需要的数据作为一个变量导入并存储在 MATLAB 的“工作空间”中,由于我们是处理空间面板数据,所以我们还需要导入空间权重矩阵(如命名为“w1 ”),方法一样。这时

我们需要将包含空间权重矩阵“ w1 ”和所有数据的“ pc”的数据文件进行存储,方便以后调用。数据存储方法:“File→Save Workspace As”,找到存储的地址,输入文件名,就形成了后缀名为.mat 的MATLAB 能识别的数据文件。

2、设置路径

MATLAB 并没有自带空间计量软件包,这个需要在网上下载(我打包给你们),当然我们也需要将操作 MATLAB 过程中需要的数据文件、程序等保存在某个文件夹中。MA TLAB

通过调用软件包

中已有的程序命令,以及自己保存的数据文件,来实现模型的模拟。此时我们需要告诉 MA

TLAB 它的权限在哪里,即它可以在哪里去查找这些程序、数据等(默认状况下,MA TLAB 只承认安装目录

下文件夹中已有的程序)。所以我们需要为 MATLAB 设置一条路径,让它能够使用这条路径下包含的程序,数据。

设置路径的方法:点击“ File → Set Path”,出现“ set path”窗口,如图:

空间计量

工具箱

红框下按钮“Add with Subfolders ”表示在添加路径时,在文件夹下的子目录也被MA TLAB 承认,否则该文件夹下的子文件夹中的程序、数据将不能被 MATLAB 识别,而不能使用。点击此按钮,选择文件夹位置,然后点击该窗口的“Save”即可实现路径的设置。如图:我将 D 盘下的 MATLAB

文件夹及其子文件夹添加到了 MATLAB 能识别的路径中,那么此文件夹中的所有与 MA TLAB 相关的程序、数据等都能被 MATLAB 识别并使用。

五、MATLAB 程序——空间计量工具箱

一般来说,我们不会在 MATLAB 的控制窗口一个一个的输入命令,而是在 MATLAB 的

“ Editor ”(编辑器)中将一个完整的程序编辑完毕然后进行存储,方便以后使用。当然我们更一般的是使用别人已经编辑好的程序,进行一定的组合和修改来进行自己的研究。

这里先讲 MATLAB 的空间计量工具箱。在 MATLAB 官方网上下载的最新版的空间计量工具箱的名称为:“jplv7 ”。如上图,我在设置路径时,该工具箱已经包含在D 盘下的 MA

TLAB 文件夹

下。这时,我们可以从红框所标识的按钮找到该工具箱,如图,左侧“ current

directory ”(当前目录)

即显示该目录下所有的文件夹,其中我们要使用的是“spatial”,该文件夹下包含我们需要的关于

空间面数据模型相关的程序,而我们主要使用的完整程序是该文件夹下的“ panel”(空间面板)。

空间计

量模

帮助

我们可以先看一下以“ demo”开头的 M 文件( MATLAB 程序), demo 即演示,如双击打开“ demoLMsarsem_panel ”,就会弹出该程序文件的编辑器( editor ),点击红圈下的运行按钮,整个程序的运行结果就会显示在 MATLAB 的“控制窗口”中。

六、空间面板数据模型解

(一)空间面板数据模型建立的一般步骤是:

1、空间相关性检验: Moran 's I检验, LM 检验(这是我目前知道的两种检验方法,对于其他的一些检验如 LR ,Walds 等本来就是用于截面空间数据空间相关性的检验,如何推广到空间面板数据上来,我也不是很清楚,我也没找到相关的程序,只是看到有些人做空间面板数据模型时也给出了这几种检验的结果)。

打包文件中有一个“作业”文件夹,里面有单独的 LM 与 moran 检验的 M 文件,对自己的数据进行空间相关性检验可以直接使用这个程序,当然需要修改某些东西(后面有详解)。

2、空间模型的选择:即选择用 SAR 模型,还是 SEM 模型,同时还涉及到固定效应和随机效应选择,以及在固定或随机效应模型中选择(地区固定、时期固定、双固定、还是混合面板)。

LM 检验的结果可以为 SAR 与 SEM 的选择提供依据(查看相关文献)。面板数据的固定效应 SAR 模型直接调用“ sar_panel_FE”程序,而固定效应 SEM 直接调用

“ sem_panel_FE”程序(这些程序已经作为程序文件存在于某个子目录下)。

对于固定效应(地区固定,时间固定,双向固定,混合)的选择,其实只需要在引用上述程序时,对某些指标进行设置。如下图,是截取的一段面板 SAR 模型的程序,其实我们可以从百分号“ %” 后的文字去理解这段程序在做什么。

红框中是设定模型是那种固定效应: info.model=0 :表示此模型为混合模型,即没有固定效应; info.model=1 :表示此模型为地区固定效应模型; info.model=2 :表示时间固定效应模型; info.model=3 :表示双向固定效应模型。

关于如何使用已有的完整程序来做自己的研究将在后面详解。

(二)学会使用“帮助”自学空间面板数据

关于“ panel”文件夹下带有 demo 字样的 M 文件,一般都是一个完整的演示文件,可以运行,大家可以读一下。一般等号后面的语句就是对等号左边的变量进行赋值之类的,对于任何命令,都可以在 MA TLAB 的控制窗口输入“which 命令名”进行查找,或者直接使用 MA TLAB 提供的帮助,看该命令是什么意思,该怎么使用(上上图给出了帮助的位置)。下图是“帮助”窗口,在红框内输入如“wk1read”点回车即可获取“wk1read”的相关解释,用法,描述,实例等等。目前关于 MA TLAB 用于空间面板计量方面的中文操作书我没有在网上找到,所以也只能通过这种方法来学习“panel”下的每一个 M 文件到底是干什么用的。

(三)常见的命令:

1、关于 %: %后面可以输入中文,对已写程序进行描述和解释,%后的文字是不被运行的。

2、wk1read :读取后缀名为 .wk1 的数据文件。(wk1 数据文件是 MA TLAB 能识别的数据文件,但具体该文件怎么形成的,我也不清楚。我一般使用的都是通过 EXCEL 链接导入到MATLAB 中的数据,该数据存储后后缀名为 .mat,该文件的读取,直接使用命令load,如读取名为“ pc”的mat

文件,直接用load pc.mat)

3、在任何一个空间面板数据模型的程序中,首先要做的,当然是读取数据,第二步就是对空间面板数据进行描述(也叫定义空间面板数据),同时指定被解释变量 y 和解释变量

x :如下图:

每一行分别表示:

这里说明一下矩阵的引用:

a(:, [4: 6])表示的是矩阵的第四到第六列;逗号前是行号,逗号后是列号;行号、列号必须加中括号 [] ;如果使用连续几行或几列,如第一行到第七行,表示成 [1:7] 即可;如果几行将是间断的,用逗号隔开;如果是全部的行或列,可省略数值和中括号,直接打冒号“:”即可。

4、一般来说使用“ panel”下的完整程序,在读懂意思后,我们用于自己的模型时,需要修改的也就是读取的文件名,面板数据的定义和解释变量 x 被解释变量 y 的指定,以及在输出时变量的名称,前面的都讲了,现在说说变量的名称。

下面是一段最小二乘法回归以及 LM 检验, moran 检验的程序:

“ results=ols(y,[xconstant x]); ”表示以 y 作为被解释变量, x 作为解释变量的含有常

数项的最小二乘法回归( xconstant 即表示含有常数项),该命令运行结果全部存储在results 中;

量;

“ prt_reg(results,vnames,1); ”即:将最小二乘法回归的结果输出到控制窗口中。

也就是说我们需要根据自己的模型修改“ vnames=strvcat(··· )”括号中的变量名, gy 是被解释变量名,因为有常数项, intercept 表示常数项, logy0 等后面的全部是按 X矩阵中每列数据具体代表的变量进行变量命名。

备注:

空间计量工具箱 jplv7 → spatial→ panel 下有一个演示程序: demopanelscompare 好像是随机效应与混合模型的选择,使用的方法是 LR 检验,我没怎么读懂,所以也一直没用,由于大多数文献使用的是固定效应,所以对随机效应问题也没怎么认真地研究。

相关主题
相关文档
最新文档