1
第七章 序列链接 ( Sries link)
序列链接对象 (简称链接 )为合并来自不同工作文件的信息
提供了强大工具, 这个工具是 EViews5新增加的功能 。 对于大
范围复杂数据的操作提供了简单易用的接口, 例如:把数据
从一个工作文件页合并到另一个工作文件页;把分组概要统
计数据保存到一个工作文件页中;在具有日期的工作文件页
间实现观测值的匹配 。
链接提供了一种友好的界面, 链接操作既是动态的又是
即期的, 因此只有在需要的时候执行期望的操作, 并且当数
据改变时, 操作会自动更新 。
我们首先讨论基本链接概念,这些概念概括了由链接支
持的一些基本操作。稍后的部分我们将说明链接在 EViews中
的应用。
2
§ 7.1 基本链接概念
链接是类似序列的对象, 它存在于一个工作文件页中,
但是涉及到另一个工作文件页中序列的数据 。 最基本的链接
描述了 EViews是如何利用那些提供数据来源的工作文件页中
的数据来决定当前或目的工作文件页中的序列值 。
链接包含三个基本要素,
1,源工作文件页是获得当前或目的工作文件页中数据的
根本, 而源序列标识了源工作文件页中的序列数据 。
2.在源工作文件页和目的工作文件页中,链接包含一个
或多个链接标识符序列的名称。源标识符序列和目的标识符
序列可以用作匹配来自两个工作文件页的观测数据。
3
3.链接描述了在目的工作文件页中,如何使用
源序列为匹配的观测数据创建链接值。
基本链接序列采用了一种被称为匹配合并的方法,
从而确定目的工作文件页中的链接值。正如名称所暗
示的,序列链接对象共享了序列的大部分特性。实际
上,通常可以把序列链接看作序列使用。可以检查序
列视图,执行序列过程,或者使用序列链接产生新的
数据,或者用链接作为一个指定方程的回归量。
链接的另外一个重要特性可以说成是, 有生命
的,,从某种意义上说,链接的值随着其潜在数据的
变化而变化。因此,如果在一个给定的工作文件页里
有一个链接,它的值会随着源序列或标识符序列值的
改变而自动更新。
4
§ 7.2 创建链接
创建链接的方法很灵活,可以从源工作文件页到目的工作文
件页拷贝粘贴一个序列,或者在目的工作文件页里定义一个链接。
下面用一个简单的例子来说明链接。假设有一个工作文件,
工作文件中有两个序列分别为 State1(州 )和 TaxRate(各州的税率 ),
其中每个序列都包含四个观测值,见下表,
State1 TaxRate
阿肯色,030
加利福尼亚,050
得克萨斯,035
怀俄明,012
5
在相同的工作文件中,有另一个具有个体平面数据的工作
文件页,其中包括 Name(人名 ),State2(居住地 ),Sales(销售量 ),
每个变量栏包含六个个体,见下表,
Name
State2
Sales
乔治
阿肯色
300
弗雷德
加利福尼亚
500
卡恩
阿肯色
220
马克
得克萨斯
170
波拉
得克萨斯
120
丽贝卡
加利福尼亚
450
6
我们希望在这两个工作文件页之间建立数据链
接 。 在该例中我们注意到, 两个工作文件页的州序
列的名称不同, 可以此区分这两个文件页 。 实际上,
利用名称的不同来区分文件页并不是很合适, 因为
在多数例子中, 名称都是相同的 。
使用拷贝粘贴命令创建链接,首先在源工作文
件页中选择一个或多个源序列,然后点击鼠标右键
选择拷贝 (Copy)命令,或者在 EViews主菜单中选择
编辑菜单栏里的拷贝命令 (Edit/Copy)。接下来,通
过点击切换到目的工作文件页,点击鼠标右键并选
择特殊粘贴 (Paste Special),或者在主菜单里选择
Edit/ Paste Special。
7
1,一般匹配合并链接
EViews将显示对话框(见图)提示填写一般匹配合并选项。
这里,我们使用了 Paste Special命令将源工作文件页中的 TaxRate
序列拷贝粘贴到目的工作文件页中。
8
( 1) 目的对象名称
对话框的左上部用来说明目的对象的名称 。 这里, 我
们用缺省的, *” 表示源工作文件页中名为 TaxRate的序列,
在目的工作文件页中名称不改变 。 我们可以通过输入一个
完整的名称来修改名称 。
如果我们拷贝多个序列到一个新工作文件页里,这种
通配符是非常有用的,因为方便了序列的重命名。
9
( 2) 链接方式 (Pasts as)
接下来, 将要选择是按值粘贴序列, 还是链接粘贴序列 。
如果选择按值粘贴序列, EViews会在目的工作文件页中创建一
个普通序列, 并且将链接结果赋给该序列;如果选择链接粘贴
序列, EViews将会创建一个按照期望定义的实际链接对象 。 正
如期望的那样, 拷贝序列的这两种方法是截然不同的 。
① 按值粘贴 链接计算立即执行, 并且序列创建的同时目
的序列值也被确定 。 该方法遵循了匹配合并和频率转换的传统
模型, 在计算静态值时, 该操作执行一次 。
② 链接粘贴 EViews定义了一个链接对象,并且该链接对
于匹配合并和频率转换方法都有具体的说明。创建时,链接对
象没有被赋值,并且不占用内存。然后,当访问链接序列值时,
EViews将决定是否为该对象赋值,如果需要,将会为它分配内
存,并且执行链接计算。
10
通过链接, 可以从中获益, 比如获得有效内存的使用,
动态地更新目的工作文件页, 但这也要以牺牲速度为代价,
因为链接计算要执行不止一次 。 除了这些, 还应值得指出的
是链接序列可以在任何时候转换成普通序列 。 但是, 一旦转
换成普通序列, 它就不可以再转换成链接序列 。
用我们前述的例子来说明链接方式。首先在包含个体信
息的工作文件页里建立一个序列,该序列值对应了所有个体
的 TaxRate值。我们将通过检查个体的居住地,确定相应的税
率,然后决定个体税率值。例如,乔治住在阿肯色州,他所
在州对应的税率为 0.030,同样地,马克住在得克萨斯州,对
应税率为 0.035。
11
利用序列链接执行匹配合并, 这里我们将源工作文件
页的 TaxRate值分配给目的工作文件页中的多个个体 。 定义
该链接的三个基本要素,
源序列 —— 税率 TaxRate;
源标识 State1和 目的标识 State2;
合并规则, 即 TaxRate值将反复与目的文件页里标识符
State2的所有个体值匹配 。
上述合并规则称为一对多匹配合并的基本链接,而且,
这种规则的必然结果是为每个个体分配了与其所在州相对
应的税率值。
12
执行链接后, 目的工作文件页将包含税率值的合并结果,
记为 TaxRate2。 这些数据是通过合并得到的, 见下表 。
具有匹配合并的基本链接在执行匹配合并之前,首先要转
换源序列。在本例的合并规则中,源序列(税率) TaxRate不
必转换,因此返回序列 TaxRate的原始值。
Name
State2
Sales
TaxRate2
乔治
阿肯色
300
.030
弗雷德
加利福尼亚
500
.050
卡恩
阿肯色
220
.030
马克
得克萨斯
170
.035
波拉
得克萨斯
120
.035
丽贝卡
加利福尼亚
450
.050
13
( 3) 匹配合并选项
无论是建立一个具有固定值的序列, 还是创建一个新的链
接序列, 都必须详细说明链接选项 。
① 匹配标识符信息
首先, 必须对源工作文件页和目的工作文件页中观测值匹
配的信息做详细说明 。 在 Source ID的编辑区域, 可以输入一个
或多个源序列的名称, 在 Destination ID的编辑区域, 可以输入
一个或多个目标序列的名称 。 在这两个区域里输入的名称的个
数和顺序应当一致 。 也就是说, 如果希望将源工作文件页中的
序列 state1,与目的工作文件页中的序列 state2相匹配, 那么输
入这些名称 。
接下来,一个注有 Treat NA as ID category的复选框,其意
思是,是否使用那些在源工作文件页标识符值和目的工作文件
页标识符值中存在空值 (NA)的观测结果。缺省为,如果标识符
序列存在空值 (NA),观测值被忽略;选择该项,表示告诉
EViews将源工作文件页中存在空值的标识符的观测值与目的工
作文件页中存在空值的标识符的观测值相匹配 。
14
均值 (Mean)
中位数 (Median)
最大值 (Maximum)
最小值 (Minimum)
总和 (Sum)
平方和 (Sum of Squares)
方差 (Variance)
标准差 (Standard Deviation)
偏度 (Skewness)
峰度 (Kurtosis)
分位数 (Quantile)
观测值个数 (Number of obs)
空值个数 (Number of NAs)
第一个 (First)
最后一个 (Last)
唯一值 (Unique values)
不准许转换 (No contraction allowed)
② 链接计算方法
右表详尽地列出
了链接的转换方法,
可以从中选择 。 对该
表底端的两个选项需
要作进一步的解释 。
使用最后一个选项 no
contraction allowed,
以确保在第一步的链
接匹配合并之前不执
行转换 。 该选项适用
于这种情况, 即认为
源工作文件页序列标
识符的值是唯一的 。
15
unique values选项的要求比 no contraction allowed较弱些,
即它允许源工作文件页标识符值不唯一, 只要与其匹配的所
有观测值有相同的源序列值 。 在这种情况下, 转换时只要简
单地识别与每个唯一的标识符值相关的唯一的源工作文件页
序列值 。 如果存在具有一个标识符的多个观测值, 并且它们
有多个源工作文件页序列值, 那么链接将会产生错误 。
当源标识值唯一时, 对一对一或一对多的匹配合并结果
转换是没有必要的, 但是执行转换是为了让 EViews能够支持
更加复杂的多对多的合并操作 。 值得强调的是, 缺省的转换
方法即 Mean,保留了具有唯一源工作文件页标识符的数据的
值 。
在 Source sample编辑区域,应当输入在确定链接值时,关
于所使用的源工作文件页样本的描述。根据缺省情况,在该
区域输入完整的样本关键字是, @ALL”,使得 EViews能使用
源工作文件页中的所有观测值。
16
§ 7.3 基本链接方式
基本链接对一个或多个源工作文件页标识符序列值和目的
工作文件页标识符序列值进行比较, 如果两个工作文件页的观
测值有一致的标识符, 那么它们进行匹配 。 从匹配过程可以看
到, 目的工作文件页中相应的观测序列的链接值是由源工作文
件页序列值决定的 。
每一个链接都描述了如何使用源工作文件页序列创建目的
工作文件页序列的链接值 。 构建一个基本匹配合并链接值包括
两个步骤,
首先,我们转换源工作文件页序列,保证存在唯一的值与
每个不同的源工作文件页标识符值相对应。这种转换方法描述
了那些共享一个既定的标识符值的多个源工作文件页序列观测
值是怎样转换成唯一值的。
17
接下来, 我们得到不同的源工作文件页标识符和转换后的
源工作文件页序列值, 然后将每个转换值反复与目的工作文件
页中的所有匹配观测值对照, 执行匹配合并 。
比如最常用的多对多的匹配合并问题, 最基本的方法是,
首先完成源工作文件页序列的多对一的转换, 然后对转换后的
数据执行一对多的匹配合并 。
其它匹配合并的处理都是这种基本方法的特例。例如多对
一的匹配合并,首先转换,然后对转换后的数据执行一对一匹
配,形成目的工作文件页文件;对更普遍的一对多或一对一的
匹配合并,转换步骤没有实际意义,因为标准转换过程仅仅返
回原始的源序列值,接着使用简单的一对一或一对多的匹配合
并方法将原始值链接到目的工作文件页。
18
( 1) 一对多的匹配合并
利用序列链接执行匹配合并, 这里我们将源工作文件页
源序列的值分配给目的工作文件页中的多个目的标识, 反复
与目的文件页中的目的标识符的所有个体值匹配, 上述合并
规则称为一对多匹配合并的基本链接 。 在 上一 节创建链接中
介绍的实例就是一对多匹配合并的链接 。
( 2) 多对一的匹配合并
另一方面,我们可以反方向建立数据链接。例如,可以
把来自源工作文件页的数据 Sales链接到目的工作文件页,然
后利用州标识符进行匹配。因为对于源工作文件页中标识符
State1序列的每个唯一值,目的工作文件页的 State2序列中有
多个观测值与其对应,所以该操作被称为多对一的匹配合并。
19
很容易定义这种新链接的要素,
源序列 —— Sales
源标识符 State2及 目的标识符 State1;
合并规则, 即首先转换 Sales的值, 然后将目的工作文件
页的观测值与上述转换结果相匹配 。
由于转换个体数据的方法很多, 所以合并规则涉及了较
多方面 。 EViews提供了转换方法的扩展菜单, 选项包括计算
均值, 方差, 总和, 最小值, 最大值, 或者统计所有源工作
文件页序列标识值 。
继续上述例子,假设我们采用计算数据总和的转换方法,
那么转换过程要计算每个州的数据总和。可以得知:阿肯色
的销售量 520,加利福尼亚 950,得克萨斯 290。因为怀俄明
没有个体数据,因此转换后相应值为空 (NA)。
20
根据链接定义,多对一匹配合并的结果是生成了一个州文
件页,见下表,
State1
TaxRate
Sales1
Sales1ct
阿肯色
.030
520
2
加利福尼亚
.050
950
2
得克萨斯
.035
290
2
怀俄明
.012
NA
0
同样地,我们可以采用其它转换方法,比如利用每个州
存在的观测值的个数,为销售量定义另一个链接。链接
Sales1ct表明,上表中前三个州分别有两个数据,而怀俄明没
有数据。
21
( 3) 多对多的匹配合并
假设有第三个工作文件页,页中每个州的数据是面板结
构的,为叙述方便称为面板结构页,见下表,前述的两个工
作文件页称为州工作文件页和个体工作文件页。
Year
State3
TaxRate
1990
阿肯色,030
1991
阿肯色,032
1990
加利福尼亚,050
1991
加利福尼亚,055
1990
得克萨斯,035
1991
得克萨斯,040
1990
怀俄明,012
1991
怀俄明,035
22
利用标识符 State2和 State3将目的工作文件页中 Sales的数据
链接到面板结构页里, 该过程是多对多的匹配合并, 因为在这
两个工作文件页中, 每个州都对应多个观测值 。
很容易定义这种新链接的要素,
源序列 —— Sales;
源标识符 State2和 目的标识符 State3;
合并规则, 即首先转换序列 Sales的值, 然后转换结果反复
与面板结构页 State3的值匹配 。
合并规则说明了多对多合并过程,即首先转换源序列,然
后对转换结果执行一对多匹配合并,形成面板结构页。例如,
利用计算销售量总和及计算各个州存在观测值个数这两种转换
方法,把个体工作文件页的 Sales数据链接到面板结构页中,并
且生成两个链接序列 Sales3和 Sales3a,见下页表。
23
Year
State3
TaxRate
Sales3
Sales3a
1990
阿肯色
.030
520
2
1991
阿肯色
.032
520
2
1990
加利福尼亚,050
950
2
1991
加利福尼亚,055
950
2
1990
得克萨斯
.035
290
2
1991
得克萨斯
.040
290
2
1990
怀俄明
.012
NA
0
1991
怀俄明
.035
NA
0
值得注意的是,多对多匹配合并等价于首先在州工作文件页里对个体工
作文件页执行多对一链接,然后在面板结构页里对上述链接结果创建一对多
链接。这种首先对州工作文件页执行多对一链接,然后对 Sales1和 Sales1ct执
行一对多链接的方法被称为两阶段方法。
24
§ 7.4 链接处理
一旦定义了一个链接,可以任意地使用它,把它当作一
个普通序列或者一个字符串序列。在工作文件中用粉色序列
图标或字符串序列图标标识链接。如果链接定义里使用了一
个普通源序列,链接将会出现在工作文件目录中,并且其序
列图标呈粉色。如果使用了字符串源序列,将会呈现一个粉
色字符串序列图标。在这两种情况下,链接都可以作为一个
被指定类型的序列使用。
1.使用链接
链接实际上只有在被使用时才占用内存。在下面的情况
下用到链接:检查链接元素时;或者在组中为链接赋值;或
者在序列说明中使用链接。一旦不用链接,链接内存被释放,
用于它处。因此,链接在执行既定的操作时,仅仅占用极小
部分内存。
25
当链接正处于使用状态时, 对链接中潜在的数据做任何
修改, 将会导致链接的重新赋值 。 如果修改任意的源序列,
源标识符或目的标识符序列, EViews会自动地重新计算链接
值 。 这样, 可以使用链接去定义一个能自动更新的匹配合并
方法 。
例如, 假设我们打开了一个包含州工作文件页和个体工
作文件页的工作文件 。 这里, 我们看到了包含各州 TaxRate数
据的个体工作文件页, 并且该工作文件页被链接到链接序列
TaxRate2上 。 从彩色的序列图标中, 我们看到 TaxRate2是一个
数字序列链接, 见下页图 。
26
27
如果链接序列 TaxRate2没有被使用,链接序列没有值,并
且不占用内存。在打开链接窗口时,或者在组对象里设置链接
时,或者在序列说明中使用链接时,链接处于使用状态。无论
何时,只要链接被使用,或者链接元素被改变,链接就被赋值,
并且它的值随着需要而更新。
例如,如果双击 TaxRate2图标,打开一个标准的序列表单
视图。这时,EViews为链接估值,同时执行匹配合并操作,然
后分配值给链接序列 TaxRate2。注意到, Last updated”一栏显示
了链接值确定的时间,见下页图。在标题栏上会看到
,Link:,,即 TaxRate2不是普通序列,它说明了我们正在处
理一个链接对象。
如果试图打开一个非正常定义的链接序列,这样的链接序
列或者是因为找不到源序列或源标识符序列,或者是因为观测
数据需要的转换方法是禁止的,EViews将显示一个链接视图来
说明链接的定义和遇到的错误。如果试图使用该链接序列,将
会发现所有的链接值都被置为空值,即 NA。
28
29
2,修改链接
可以在任何时候通过对话框或命令修改链接的定义。修改
一个链接,我们必须打开 Link Spec对话框。首先双击工作文件
目录中的图标打开希望的链接序列。然后点击工具栏按钮
Properties,或者在菜单栏里选择 View/Properties,打开
Properties对话框,最后,选择 Link Spec项,见下图。
30
Link Spec对话框在创建链接时使用的原始 Paste Special对
话框的基础上作了稍微的修改 。 对话框的大部分还是没有改
变的, 现在有一个编辑区域, 用来指定源序列和源工作文件
页的名称, 代替了目的名称 。
使用对话框修改链接,仅仅改变了对话框里的一些方法。
例如,对应从 Mean(均值 )到 Minimum(最小值 )的多种转换方
法,通过在 Contraction method下拉列表框中改变选项,我们
可以改变链接的转换方法,同样在 Source sample编辑框中输
入一个新的样本,我们就可以改变源样本。链接中更基本的变
化将会导致改变源序列或工作文件,或者匹配合并标识符。
31
3,消除链接
链接最重要的一个特点就是自动更新 。 考虑链接的这种
鲜明的特点, 我们或者改变源序列, 或者改变源标识符或目
的标识符, 将会导致 EViews重新计算链接值 。 在工作文件页
之间, 可以使用链接创建自动更新的匹配合并序列 。
例如,假设现在显示了 TaxRate2的表单视图,选择在标
识符序列 State2中编辑数值。将马克对应的 State2的, 德克萨
斯, 改为, 阿肯色,,即改变了用来计算 TaxRate2值的标识
符序列值。 EViews自动地重新计算 TaxRate2值,即将马克对
应的值从 0.35改为 0.3,并且更新相应的已打开的表单视图。
进一步说,将来任何时候使用 TaxRate2链接都将使用更新后
的值。
32
在一些情况下, 可能希望固定链接的值, 使得将来改变
源序列或标识符序列时不改变现在的值, 有两种方法可以得
到该结果 。 首先, 可以简单地生成一个包含当前链接值的一
个新序列, 如,
series fixrate = taxrate2
这个新的普通序列 FixRate包含了 TaxRate2的当前值 。 也
就是说, 当 TaxRate2发生变化时, FixRate保持不变 。 该方法
使得原始链接序列和新序列都将保存在一个工作文件里 。
第二种方法是把链接序列转换成普通序列来固定其值,
我们称该过程为非链接或消除链接过程。在该情况下,存在
的链接序列被一个有相同名字的普通序列代替,即使链接消
除时,该普通序列包含了链接序列中的值。要消除链接,只
要选择 Object/Unlink,点击 Yes。应当注意的是,消除链接的
过程是不可逆转的。