eviews经典讲义 (16)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

scalar s
4
s=@mean(x)
§6.1.5 序列元素 有时希望使用序列中的一个实际观测值。 EViews 提供的@elem函数可实现此操作,@elem有两个参 数,第一个参数是序列名,第二个参数是数据或观测 值的标识符。例如:使用y序列中的1980:3的季度 数据,则应写为:@elem(y,1980:3)。非时间序列x的 第323个数据: @elem(x,323) 。
17
这里要强调的是组中存放的是构成这个组的序列的名字或是 自动序列,而不包含序列中的数据。我们可以创建一个组,选主 菜单上的objects/new object/group 或者单击工作文件窗口上 工具条中 “show”按钮,添对话框即可。我们也可以通过命令的 方式,例如:在命令窗口中键入 group macrolist gdp invest cons,就建立了一个包含 gdp invest cons 三个序列的组,同 样也可以建立一个包含自动序列的组。例如:
EViews的表达式是由数字、序列名、函数、数学运算符、
和关系运算符组成。
2
§6.1.2 运算符
EViews中包含的基本算术运算符分别是 +、-、*、/、^(幂), 例如: 5+6/13 、3^2-9 参加运算的数可以写为整数形式、十进制 形式和科学计数法的形式。
另外 +、-还可以作为符号运算符来使用。比如:2++++++-2, EViews各种运算符的优先级别为(从高到低):
另外,写入的表达式在计算时是针对每一个观测值的。 10
§6.2.2 基本的赋值表达式
可以写一个序列的名字后加一个‘=’,然后再写一个表达 式。EViews将会使用等号右边的表达式对每一个样本元素进行 计算。并把相应的计算结果赋给等号左边的序列,如果有必要 EViews会创建一个新序列。例如:
y=2*x+37*z
如果序列y不存在,则先建立一个序列,这时序列中的值 都为空(NA),之后对于当前样本的每一个观测值,EViews 将会把通过表达式计算的结果赋给它们。如果y已经存在了, 则在当前的样本空间范围内用表达式计算的结果替换,而样本 空间以外的观测值不替换。
如果等号右端是一个常量表达式,例如: y =3 本空间中的所有观测值用常量代换。
数据操作
1
§6.1 使用表达式
EViews 提供了强大的对表达、产生和使用序列和数据的 语言支持,EViews中可以使用表达式。
§6.1.1 表达式的使用
EViews 提 供 了 广 泛 的 运 算 符 集 和 庞 大 的 内 建 函 数 库 。 EViews不仅提供了标准的数学运算和统计运算,也提供了很多 能够自动处理时间序列中的先行、滞后、差分等操作的特殊函 数。
d(income,0,4) 等价于 income-income(-4)
8
dlog(income,0,4) 等价于 log(income)-log(income(-4)
§6.1.8 缺失数据
在处理数据时可能会遇到一些没有值或某一时段观测值没有用, 或者进行了一些非法计算(例如用一个数除以0),EViews使用空值 NA表示这些情况。
变序列的前几项观测值,那么自动序列的值也会有相应的变16化。
在组中使用自动序列是非常有用的,可以像通常那
样建立一个组,并在组中建立自动序列。首先选取主菜 单 上 的 Objects/New Object/Group , 然 后 键 入 cp log(cp),这样就建立了一个包含两个序列的组,一个 是cp序列,一个是自动序列log(cp)。我们也可以在估 计方程中使用自动序列。
group macrolist log(gdp) d(invest) cons/price
在使用组时有几个问题需要注意:第一、一个组中只包含序 列的标识符,不包含这些序列中的数据。所以如果序列中的数据 发生了变化,组也会产生相应的变化。第二、如果从工作文件中 删除了一个序列,则在包含这个序列的组中相应序列也会消失。 如果这个组只包含这么一个被删除的序列,则组也会被删除。第
EViews中有些地方,可以指定一个先行或滞后指标的分布。 例如:在估计方程中可以有这样的表达式 income(-1 to -4) 这 里描述的是一个从1到4的滞后指标的分布。例如:
sales sales(-1) sales(-2) sales(-3) sales(-4)
sales(0 to -4)
ห้องสมุดไป่ตู้
genr y=exp(x)
一旦序列建立起来则在使用该序列时就不用这
两个关键字了。
14
§6.3 自动序列(AUTO-SERIES)操作
在表达式中我们也可以使用一个表达式代替序列 名字的位置。不管是序列、序列对象还是组元素,不 管这些名字出现在等式中还是在模型中,都可以进行 这样的替换。
代替序列名的表达式叫做自动序列。之所以叫自
件里,在序列线下面有一个附加的等号,这些都在橙色背景下, 该符号说明了序列依赖于公式。与自动序列相比,csp是工作文 件的一个持久序列,它能像任何其它序列一样使用。
5
§6.1.6 逻辑表达式
使用逻辑表达式来计算真假值。逻辑表达式能作为数学表达式的一 部分、样本描述的一部分或在程序中作为if判断的一部分。例如: incm>5000 这个表达式允许我们选择特殊条件的观测值,incm值大于 5000,则就得到真值,否则得到假值。
通常,逻辑表达式中常用到比较运算符‘<、<=、>、>=、=、<>’。 另外,还可以使用逻辑运算符‘and’、‘or’组成更复杂的逻辑表达式。 例如:incm>5000 and educ>=2000。注意:EViews用1表示真,用0表 示假。因此,可以用逻辑值参加数学运算。例如:
sales(to -4)
是完全等价的。
7
EViews也有几个函数可以处理差分或先取对数后作差分。 D函数和DLOG函数就可以实现此功能。例如:
d(income) 等价于 income-income(-1)
dlog(income) 等价于 log(income)-log(income(-1) 并且这两个函数可以提供更高阶的差分计算。例如:
另外,EViews也不能在等号左边多次出现目标序列的情况, 例如:x+1/x=5就不可以。以上提到的两种情况EViews都会出现 提示信息。
13
§6.2.6 命令窗口的方式
也可以使用命令在命令窗口中建立一个新序列, 并为它们分配值。建立一个新序列,则必须使用关 键字series或genr例如:
series y=exp(x)
d(income,4) dlog(income,4)
这是作四阶差分。
也可以既指定作季节差分,又指定作普通差分。例如:
d(income,1,4) 等价于 d(income-income(-4)) dlog(income,1,4) 等价于 d(log(income)-log(income(-4))
如果只作季节差分,就把普通差分项设为0。例如:
累加和。这就是动态分配。
§6.2.5 暗示分配
通过在表达式左端的简单的表达式,你可以完成暗示分配 操作。例如:log(y)=x 则按 y=exp(x) 计算。
通常EViews只能处理:
+ - * / ^ log( ) exp( ) sqr( ) d( ) dlog( ) @inv( )
这几种运算的暗示操作。除此以外其他的运算就不行了。 例如:@tdist(y,3)=x , 就不可以了。
三、如果被包含的序列改了名字,则在组中的这个序列的名字18也
会改变。
二、 自动更新序列(Auto-Updating Series)
建立一个自动更新序列,应先建立一个序列,例如csp,然 后 只 需 点 击 该 序 列 工 具 栏 上 的 Properties 按 钮 , 或 者 选 择 View/Properties,然后选择Values标签,选择Formula,在对 话 框 中 输 入 一 个 有 效 的 序 列 表 达 式 ( cs/p ) , 并 点 击 OK , EViews将把该序列当作自动更新序列,然后计算表达式,并将其 值放入该序列。自动更新序列以标有新图标的形式出现在工作文
则把样
11
§6.2.3 使用样本 我们可以用表达式形式调整和使用已有样本的观测值,这 时用 “Genr”按钮。例如:在上面的对话框中写入 y=z 在下面 的对话框中写入 @all if z<=1 and z>=-1。
注意:建议使用Genr按钮和在尽可能多的地方使用样本表 达式,因为这种方式更有效。
动序列,是因为如果信息有变化,数据的更新是自动
进行的,而不需要我们额外写命令进行更新。所以自
动序列中的数据总是新的。
15
§6.3.1 创建自动序列
一、 暂时自动序列
例如想用图形的方式查看年度cp序列取log后的值,就可 以用自动序列来实现。创建自动序列可以单击“Show”按钮或 选择主菜单上的“Quick/Show”然后键入log(cp),EViews会 以表格形式打开一个序列窗口。在显示序列名字的地方显示的 是log(cp),则就建立了一个自动序列。我们可以像对其它序 列一样对自动序列进行任何操作。要以图形方式显示此序列只 要选View/Graph就可以了,与操作普通序列是一样的。注意: 如果序列的值发生了变化,则此自动序列会做出反应。例如改
当关闭包含自动序列的序列窗口时,自动序列将被 从计算机的内存中删除。处理固定不变的表达式时,可 以把自动序列转换为自动更新序列,只需在序列的工具 栏中点击Name按钮,或者从主菜单中选择 Object/Name,然后提供一个名字。EViews将创建一 个自动更新的序列,它的名字被保存在工作文件中,并 且指定自动序列表达式作为公式来更新序列。
§6.1.4 序列函数
EViews提供的函数能够对当前样本的序列元素进行运算, 一些函数是“元素函数”他们返回的是序列中每一个元素的值。 有些是“整体函数”他们返回的是标量、向量和矩阵。这些函 数一般在创建新序列时使用或在矩阵语言中使用。
EViews中大多数函数前都有一个@符号.例: @mean 此函 数可以计算一个序列的平均值。例:
9
§6.2 序列的操作
表达式的一个主要用途是从一个存在的序列产生一个新序 列或修正已存在的序列值。另外,表达式也允许你进行复杂的 数据传送,并可以保存新序列或已经存在序列对象的结果。
§6.2.1 建立一个新序列
选择quick/generate series…或者单击工作文件工具条上的 “genr”按钮。EViews会弹出一个窗口,只要在上面的编辑框中 写上分配表达式,并在下面编辑框中写上相应的样本空间即可。
(inc <300)+(edu>=2000),如果inc<300,得1,否则得0。另外,
‘= ’既可以当赋值运算符,又可以当作比较运算符使用。现在,我们只
要注意到‘=’用于关系表达式中就表示是比较运算符。
6
§6.1.7 先行指标、滞后指标和差分
处理序列中的先行、滞后指标是很容易的,只要在序列名后 加一对小括号,括号中写上先行滞后的数字即可。滞后的数字 用负号表示,先行的用正数表示。例如:income(-4)表示收入 序列的四阶延迟的滞后指标。sales(2)表示sales序列的超前二 阶的先行指标。括号中的数要求是整数,但写入的数也可以不 是整数,这时系统会自动把它转换成整数。如果转换不了系统 会发出警告 。 如果必须使用非整型数 ,最好使用 @round 、 @floor、@ceil函数处理一下。
§6.2.4 动态分配
也可以在目标序列中使用滞后的值进行动态分配。例如:一 个年度工作文件,观测值是从1945-1997年,则如果在上面的编 辑框中写入:y=y+y(-1) 在下面的编辑框中写入:1946 1997 则 EViews将会用y序列的累加和来替换y序列。这是因为我们在移到
下一个时间段时,则滞后的的那个序列的值已经包含了前几1项2 的
+(正号),-(负号) ^* / +<> <= >= =
and or 最后2列用于逻辑运算。
EViews的表达式是从左往右计算的,也可以使用括号来改3变
运算的先后顺序。
§6.1.3 序列表达式
EViews的表达式还可以对样本序列的观测值进行操作,比 如:
2*y+3 表示用2乘以y的每一个观测值之后加3。也可以在一 个运算中使用多个序列。例:x/y+z
相关文档
最新文档