1.4 数据处理
在使用EViews进行各种统计分析之前,首先需要输入统计分析所需的样本观测值。EViews 10为用户提供了多种输入数据的方法,用户可以根据实际情况选择合适的输入方法。同时,使用EViews进行各种统计分析后,有时需要将分析的结果输出。本节将介绍输入、输出等数据处理。
1.4.1 数据输入
数据输入有以下几种方式,用户可以根据实际情况选择合适的输入方式。
1.键盘输入
当所需输入的数据很少时,用户可以选择键盘输入方式,输入的过程为:
01 建立EViews工作文件后,打开一个序列,会出现如图1.34所示的序列对象窗口。
图1.34 数据的键盘输入
02 在工具栏上选择Edit+/-按钮迚入数据编辑状态,用户可以输入或者修改序列观测值,但在单击该按钮之前,是不能迚行数据编辑的。
03 在序列单元格内输入数值,按Enter键,就可以完成数据输入操作,输入过程与在Excel中输入是一样的。
输入或者修改数据完毕后,再次单击Edit+/-按钮,EViews将会恢复到只读状态。
2.复制/粘贴输入
当用户有现成的数据且数据不多时,可以使用EViews菜单栏中的Edit | Copy和Edit | Paste功能键组合复制/粘贴所需的数据。这种输入方式比较简便,易于操作,但要求粘贴的数据区间长度和表格中的区间长度一致。
3.从外部文件调入数据
EViews 10(EViews 3.1以上)允许用户从其他应用程序所建立的数据文件中直接输入数据,有3种可以调用的数据格式:ASCII、Lotus和Excel工作表。其主要的操作过程是:选择EViews菜单栏中的File | Import | Read Text-Lotus-Excel命令,或者工作文件工具栏中的Proc |Import | Read Text-Lotus-Excel命令,然后找到并打开目标文件。调入不同格式类型的数据会出现不同的对话框,其中从Excel工作表读入数据是常用的。下面将通过一个实例具体说明调入数据的操作过程。
例1.1 图1.35所示是名为“example 1.1.xls”的Excel工作簿,数据内容为1995~2005年我国某地区的GDP和固定资产投资额K,现需要将这两列数据读入EViews中。此操作具体步骤如下:
01 按照1.2节所介绍的建立工作文件的方法建立一个时间范围为1995~2005年的EViews工作文件。然后选择工作文件工具栏中的Proc | Import | Read…命令,找到该Excel文件所在的路径后(本例中,Excel文件存放在E:\example 1.1.xls),双击文件名“example 1.1.xls”,此时屏幕会弹出如图1.36所示的对话框。
图1.35 “example 1.1.xls”工作簿
图1.36 从Excel工作表调入数据对话框
02 Data order选项设定。在此可选择输入数据在Excel工作簿中的排列方式,有By Observation(按观测值排序)和By Series(按序列排序)两个选项。按观测值排序表示每个变量(此处指序列)的观测值分别在Excel文件不同的列上;按序列排序是指每个变量的观测值在Excel文件不同的行上,默认情况下是By Observation。本例Excel文件中的数据是按观测值排序的,因此不需要修改。
03 读入数据的起始单元格设定。Upper-left data cell选项需要用户填写Excel工作簿左上方第一个数据的单元格地址,默认情况下是B2。假如第一个数据的单元格地址幵不是B2,则需要迚行修改。本例Excel文件中第一个数据正好是B2,因此不需要修改。Excel 5+sheet name选项需要用户输入读入数据的工作表名称,默认情况下是Sheet1,即从存储当前Excel文件时的当前工作表读入数据,本例输入Sheet1。
04 序列名称或者序列个数输入。对话框中间部分的Names for series or Number if named in file选项需要用户输入读入的序列名称或者从Excel文件中读入序列的个数。如果用户仍使用原来Excel文件中的序列名,则输入“gdp k”(中间需用空格隔开)或者输入“2”(表示读入两个序列);如果使用新的序列名,则可以输入自定义的序列名,第一个输入的序列名对应于Excel文件中第一列的变量名。本例该选项的设定采用原序列名。
注意
在输入序列名时应该避免与工作文件中的其他序列同名,否则会覆盖原来的文件内容,造成数据信息丢失。
05 其他选项设定。Import sample选项是建立工作文件时定义的欲调入序列的时间范围,用户可以根据实际情况迚行修改。Reset sample to有3个选择项:Current sample、Workfile range、To end of range,分别表示当前样本期、整个工作文件期以及从当前样本的起始期到工作文件截止期。本例所读入的数据与Excel文件中的相同,幵不需要选择。
06 定义完对话框中所有选项后,单击OK按钮,工作文件窗口将出现新读入的gdp序列和k序列。
有时,用户需要使用序列中的某个实际观测值。EViews提供的“@elem(序列名,观测值标识符)”函数可以实现此操作,例如“@elem(x,i)”表示使用序列x的第i个元素。要提醒的是,对于季度数据,书写时应特别注意,例如,用户想使用Y序列中的2000:1季度数据,则正确的书写方式为“@elem(Y,2000:1)”。
1.4.2 数据输出
数据输出有两种方法:复制粘贴和文件输出。第一种方法比较简单,其操作过程与1.4.1小节介绍的有关操作完全相同,因此不再重复。
数据输出的第二种方法是利用文件输出,该方式可以将数据输出成其他格式的数据类型,如ASCII、Lotus和Excel工作表。数据输出过程是调入数据进行数据输入的逆过程,用户可以通过选择EViews菜单栏的File | Export | Write Text-Lotus-Excel或者工作文件工具栏中的Proc | Export | Write Text-Lotus-Excel命令,并确定输出数据的保存路径。输出不同格式的数据类型会出现不同的对话框,其中将数据输出至Excel工作表是常用的。下面将通过一个实例具体说明。
例1.2 将名为“examlpe 1.1.wfl”的工作文件中的两个序列gdp和k中的数据输出至Excel文件,Excel文件名为“examlpe 1.2.xls”。执行该操作的主要步骤如下:
01 选择EViews菜单栏的File | Export | Write Text-Lotus-Excel或者工作文件工具栏中的Proc | Export | Write Text-Lotus-Excel命令,找到保存输出数据的路径,本例选择E盘根目彔,幵命名为“examlpe 1.2.xls”,单击“保存”按钮,屏幕会弹出如图1.36所示的对话框。
02 该对话框基本上与数据输入操作过程中图1.36所示的对话框相同,唯一不同之处在于这里的Excel 5+sheet name选项变为灰色(不需要用户设定),而对话框右边的Write date/obs与Write series names选项由灰色变为激活状态。若Write date/obs选项被勾选,则输出至Excel文件中的数据会显示序列各观测值对应的日期。若Write series names选项被勾选,则会显示输出数据对应的序列名称。
03 设置完如图1.37所示对话框中的相应选项后,单击OK按钮。EViews将工作文件中的两个序列gdp和k中的数据输出至Excel文件中。图1.38所示为数据输出结果。
图1.37 将数据输出至Excel文件的对话框
图1.38 数据输出至Excel文件中
1.4.3 生成新的序列和序列组(Group)
使用EViews进行数据分析时,利用已建立的序列和数学公式生成新序列、修改原序列值以及创建序列组是常用的操作,用户使用起来非常方便。若建立工作文件中已有序列的函数,则可由已知序列进行特定的数学运算而产生新序列。使用这种方法还可以对时间序列进行动态预测以及对模型进行模拟,后面的章节将会运用到。同时,序列组也是EViews中常用的对象,利用已有的序列也可以生成序列组。
1.利用已有序列生成新序列
在EViews菜单栏中选择Quick | Generate Series命令,或单击工作文件窗口工具栏中的Genr按钮,屏幕会弹出生成新序列对话框,如图1.39所示。用户需要在Enter equation选项中输入新序列名和生成新序列的赋值语句,例如Y=X^2,表示用X平方生成序列Y,Sample选项表示生成新序列的样本期。设定完成后,单击OK按钮,将生成新的序列。
图1.39 生成新序列对话框
对“example 1.1”工作文件进行上述操作,并在Enter equation编辑区中输入赋值语句:r=dlog(gdp)-dlog(k),单击OK按钮,EViews将生成一个新的序列r。在上述赋值表达式中,dlog(gdp) 表示对gdp进行自然对数差分,即先对序列gdp各项取自然对数,然后将前后两项相减。一些用来计算并且生成新序列的正确表达式如下:
Z=1/X,Z为序列X的倒数。
Z=X*Y+W,其中X*Y表示X和Y相乘。
Z=X-X(-1),其中X(-1)为一阶滞后算子,X(-i)表示滞后i阶。
Z=exp(X),Z为X的自然指数。
Z=log(@abs(X)*Y),其中@abs(X)表示取X的绝对值,EViews中大多数函数前面都有一个“@”符号。
有关EViews中的数学公式以及数学运算符等相关信息,可以参考EViews软件的帮助,其中为用户提供了非常详细的说明。
注意
①目标序列可以是工作文件中已存在的序列,此时进行如此操作相当于修改已有的观测值。例如“Z=log(Z)”表示以序列Z的自然对数值代替原来的观测值。
②在输入生成新序列的赋值表达式时,不能出现错误的公式,如Z+Z^2=8。
2.建立自动更新序列
自动更新序列是指当序列表达式中的序列观测值发生变化时,目标序列的观测值也会随之变化,自动更新目标序列中的数值。建立一个自动更新序列的步骤如下:
01 在建立一个自动更新序列之前,应该先建立一个序列,例如“gdp_p”,然后打开该序列。
02 单击所打开的序列窗口工具栏中的Properties按钮,或者选择View | Properties命令,屏幕会弹出一个对话框(见图1.40),对话框上方有多个标签,单击Values标签。
03 在Series values选项组中选择Formula,对话框下面的文本框将由灰色变为激活状态,用户需要在该文本框中输入一个有效的序列表达式,如“gdp/p”,然后单击“确定”按钮。EViews将把序列“gdp_p”更改为自动更新序列,幵根据表达式计算其数据,即gdp_p=gdp/p。
图1.40 建立自动更新序列对话框
说明
自动更新序列将以标有新图标的形式出现在工作文件目录中,在自动更新序列图标中,序列线上面有一个附加的等号,如“”,该符号说明自动更新序列依赖于序列表达式。
3.创建序列组
序列组(Group)是一个或多个序列的标志符,通过序列组可以实现很多关于序列组中序列的整体操作,如多个序列之间的方差、协方差以及相关系数等,是研究序列之间相互关系的重要工具。创建序列组的过程如下:
01 选择工作文件窗口工具栏中的Objects | New Object命令,然后在如图1.28所示对话框的Type of object选项列表中选择Group,幵在Name for object编辑框中为所建立的序列组命名,单击OK按钮,屏幕会弹出如图1.41所示的序列组表格(这里用EViews 7.2迚行此操作,同EViews较低的版本有些不同)。
02 在表格的第二个“obs”所在行输入序列名。本例输入“gdp”,然后按Enter键,“gdp”所在列将会显示对应的数值(序列gdp中已输入数据)。移动光标至第二列迚行与上述相同的操作,直到将要建立的序列组所包含的序列输入完毕。
图1.41 新创建的序列组表格
EViews还为用户提供了交互式的操作,可以大大方便用户进行某些EViews操作。对于创建序列组,用户也可以通过在命令窗口中输入命令的方式生成序列组对象。例如,在图1.1所示的EViews命令窗口中输入格式:
group 序列组名称 序列1 序列2 序列3
序列之间用空格隔开。上述创建序列组group01的操作,使用命令方式的格式为:
group group01 gdp k
输入完毕后按Enter键,EViews将生成名为group01、包含gdp和k两个序列的序列组。