第十章 时间序列/截面数据模型
可见,不同的截面成员的样本区间的起始时期可以不相同,样本定义语句smpl @all和smpl @first @last是等价的。
关键字@FIRSTMIN和@LASTMAX分别表示截面成员的最早起始日期和最晚终止日期。例如,样本定义语句smpl @firstmin @firstmin +20,表示的样本区间的起始时期为各截面起始日期的最早日期,估计用的样本为起始时期后的各截面内的连续20个观测值。样本定义语句smpl @lastmax-20 @lastmax ,表示的样本区间的终止时期为各截面的最大终止时期,估计用的样本为终止时期前的各截面内的连续20个观测值。同样,EViews还提供了类似的特殊关键字@FIRSTMAX和@LASTMIN。
利用这些关键字,我们可以按照需要对样本区间进行调整,使估计样本跳过或添加截面内的某些样本观测值。例如,估计是要跳过每个截面成员的第一个观测值,我们可以使用如下的样本定义语句:smpl @first+1 @last。下面是用来生成各截面成员在X序列中所对应的观测值的累积值序列的语句:
smpl @first @first series xsum = x smpl @first+1 @last xsum = xsum(-1) + x
其中的前两条命令是用各截面的第一个观测值来初始化和序列,后两条命令是对各截面对应的剩下的x序列中的观测值进行累积计算。
类似地,如果用每个截面的部分观测值进行估计,用每个截面的后20个观测值进行截面方程的检验,我们可以使用语句:smpl @first @last-20来定义估计样本区间,用语句:smpl @last-19 @last来定义进行预测检验的样本区间。
② 非时期面板样本
对于非时期面板工作文件,我们是用整数对来表示其样本区间的,整数对的范围不能超过整个工作文件所含的观测值数。例如,我们的非时期面板工作文件有506个观测值,样本定义语句:smpl 10 500,表示的是用于估计的样本不包含工作文件的前9个观测值和后6个观测值。
需要注意的是,在非时期面板工作文件中,关键字@FIRST、@FIRSTMIN和@FIRSTMAX都是指工作文件的第一个观测值,而关键字@LAST、@LASTMAX和@LASTMIN都是指工作文件的最后一个观测值。因此,样本定义语句:smpl @first +9 @lastmax-6表示的样本区间与语句:smpl 10 500表示的样本区间是一致的,即跳过工作文件的前9个观测值和后6个观测值。可见,上面的样本区间定义方法是建立在充分了解各截面成员所含的观测值数目基础上的,因此,对于非时期面板工作文件一般都是使用“IF条件语句”来进行样本定义。例如,对于上面的例子样本定义语句:smpl if townid<>10 and lstat>-0.3和样本定义语句: smpl @all if townid<>10 and lstat>-0.3以及smpl 1 506 if townid<>10 and lstat>-0.3是完全等价的,即所定义的样本区间为:在TOWNID序列中对应的值不等于10,并且在LSTAT序列中对应的值大于-0.3的所有观测值。
同时,我们也可以将“IF条件语句”同面板工作文件特有的函数相结合来定义样本区间。 例如,我们可以使用工作文件函数@OBSID来标识各截面内的每个观测值,样本定义语句:smpl if @obsid>1 表示的样本为:跳过各截面成员第一个观测值的所有观测值。相应地,跳过各截面成员最后一个观测值的样本定义语句为:
smpl if @obsid < @maxsby(withinid,townid,“@all”)。
其中函数@MAXSBY返回的是与各TOWNID值相对应的非缺省(NA)的观测值的个数。需要
41
第二部分 基本单方程分析
注意的是,语句中使用“@ALL”是为了确保函数@MAXSBY的计算是在整个工作文件范围内进行的。
(2)趋势
利用EViews提供的一些函数我们可以构建面板结构工作文件的时间趋势。面板工作文件的时间趋势是指在每个截面的起始时期趋势对应于一个初始值,随着观测值在截面内位置的推移其对应的趋势值不断上升,在下一个截面的起始时期趋势又对应于新的初始值。
构建时间趋势的常用方法如下: ? 用函数@OBSID的返回值作时间趋势。
? 用函数@TRENDC计算时间趋势,即各截面第一个观测值对应的时间趋势为0,之后每个观测
值对应的时间趋势按照工作文件的频率依次增加。
? 用函数@CELLID和函数@TREND的返回值作为时间趋势,即时间趋势是依照工作文件中的观
测日期不断上升的。 (3)面板组内统计
利用组内统计函数我们可以对组内观测值对应的序列值计算其对应的统计量值,然后将计算返回值依照观测值的顺序赋给新的序列。这些函数虽然并不是严格的面板函数,但其对面板数据的处理是非常适用的。要在面板框架下使用这些组内统计函数,需要指定一个组ID序列,函数在计算中按照这个指定的组ID序列对观测值进行分类。例如,假设在一个有多个城市数据所构成的非时期面板工作文件中,我们要得到一个新的序列,在这个序列中,每个观测值对应的序列值为该观测值所对应的城市的LSTAT变量的均值,这样我们可以将组ID序列指定为TOWNID(假定其为文件的截面ID),通过下面两条等价的命令来实现:
series meanlstat = @meansby(lstat,townid,“@all”) series meanlstat = @meansby(lstat,@crossid,“@all”)
在计算工作文件的子样本统计量时,需要在命令中包含样本区间或样本优先情况的说明语句。例如,命令:
smpl @all if zn=0
series meanlstat1 = @meansby(lstat,@cellid) 等价于命令:
smpl @all
series meanlstat2 = @meansby(lstat,@cellid,“@all if zn=0”)
同样,我们也可以利用组内统计函数来计算一个序列的“内部”偏差。例如,命令:
smpl @all
series withinlstat1 = lstat - @meansby(lstat,townid) series withinlstat2 = lstat - @mediansby(lstat,townid)
分别计算了LSTAT序列值与TOWNID分类下的均值和中值的偏差,并将返回的偏差值分别存放在序列“WITHINSTST1”和“WITHINSTST2”中。由于计算的范围为整个工作文件,因此在组内统计函数中没有进行样本区间说明。
把EViews的标准工具同组内统计函数结合起来能够简单地实现许多复杂计算。例如,计算序列LSTAT的面板“内部”标准差,可以用命令:
scalar within_std = @stdev(lstat - @meansby(lstat,townid,“@all”))
42
第十章 时间序列/截面数据模型
计算序列LSTAT的“截面间”标准差,可以用命令: smpl if @obsid = 1
scalar between_std = @stdev( @meansby(lstat,@crossid,“@all”))
后面命令的第一行语句将样本区间设定为各截面成员的第一个观测值。第二行语句是用各截面成员中的第一个观测值对应的序列值来计算该序列的组均值的标准差。需要指出的是,命令中的组均值是在整个工作文件范围内计算得到的。
(4)截面和时期提要
处理面板数据时的一个主要任务是计算和保存统计摘要信息,例如,计算序列的截面或时期均值等。前面已经概括介绍了如何利用截面ID进行组内统计量计算和在原有面板工作文件页中返回计算结果。下面将介绍如何显示组内统计量的提要信息,以及如何将统计结果保存到新的工作文件页中。
我们仍以本章的各省市城镇居民消费结构模型所对应的工作文件为例,对这些功能进行图解介绍。该例的工作文件是一个平衡的面板工作文件,文件中含有29个省市的从1991年——2003年的2个变量的数据,其对应的截面ID序列为标识省市的FCODE序列,对应的单元ID序列为标识年份的时期序列DATEID。
① 显示提要
我们可以利用序列的标准组内统计量视图来计算相应的组内统计量。打开要计算的序列,选择View/Descriptive Statistics/Stats by Classification…,打开分类统计对话框:
在“Series/Group for classify”的编辑框中输入分类依据的序列名。在此我们输入的分类序列为FCODE,计算各截面内观测值所对应的序列的均值、标准差和对应的观测值个数。需要注意的是,在此我们没有设定“Group into bins if”项,因此计算过程中不考虑观测对应的时期。
类似地,如果我们要计算面板工作文件中各时期内的观测值对应的序列的统计量,我们便应该用单元(时期)序列ID作为分类序列,即在该例子中用序列DATEID代替序列FCODE作为分类序列。
② 保存提要
43
第二部分 基本单方程分析
利用EViews所提供的工作文件处理功能和序列链接建立工具我们可以很方便地在当前工作页下计算和保存面板组内统计量。
a.建立分类统计页
一般情况下,在每个面板工作文件中,我们至少都要计算两种分类下的描述统计量,例如在上例中,我们需要分别计算在省市和时期分类下的序列的各描述统计量。在计算之前可以创建相应的新的工作页来存放相应分类下的各描述统计量。对应于上面的例子,我们需要在当前面板工作文件中建立相应的省市工作页(按省市标识分类观测值)和年度工作页(按观测年度分类观测值)。
单击工作文件窗口下方的“New Page”,选择“Specify by Identifier series…”,EViews将打开如下的创建工作页的对话窗口:
在对话窗口的相应编辑栏中我们可以分别填入定义工作文件结构时使用的单元(时期)ID序列名和截面ID序列名以及所建立的新工作页的名字。如果建立一种分类下的新的工作页,只需输入相应的分类序列名即可。例如,建立上例中的按省市分类的新工作页。我们在截面ID对应的编辑框中输入序列名FCODE,在相应的位置输入工作页名“AREA”后,单击“OK”后,EViews将检验FCODE序列,按照序列值的种类建立新的工作页。
从图中我们可以在新建立的工作页“AREA”中EViews自动生成一个FCODE序列,其序列值依次为原工作页中的FCODE序列中的不重复的序列值。需要注意的是新建立的工作页的结构是对
44