EViews编程的各种表达语言Word格式文档下载.docx
《EViews编程的各种表达语言Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EViews编程的各种表达语言Word格式文档下载.docx(119页珍藏版)》请在冰点文库上搜索。
15.5.1系统的建立30
15.5.2系统的设定30
15.5.3系统的估计30
15.5.4系统估计结果中统计量/序列的提取30
15.5.5系统特征的观察31
15.6时间序列模型32
15.6.1时间序列的季节调整32
15.6.2几种常见的滤波33
15.6.3变量的单位根检验34
15.6.4非平稳变量的协整检验35
15.6.5格兰杰因果关系检验36
15.6.6VAR/VEC模型的建立36
15.7状态空间模型39
15.7.1状态空间模型的建立39
15.7.2模型设定39
15.7.3模型估计41
15.7.4模型估计的特征观察41
15.7.5相关统计量的提取42
15.7.6提取状态变量及其标准差42
15.7.7提取信号变量及其标准差43
15.7.8基于状态空间模型的预测43
15.7.9几种常见模型在EViews中的状态空间表示44
15.8面板数据46
15.8.1面板数据的导入46
15.8.2面板的建立46
15.8.3定义截面标识符47
15.8.4添加/删除截面标识符47
15.8.5变量的生成及数据文件表显示47
15.8.6面板模型的设定与估计47
15.8.7模型估计的特征观察48
15.8.8相关统计量的提取48
15.8.9固定效应的显着性检验、随机效应Hausman检验49
基本统计量的观察49
面板单位根检验50
15.9程序控制语句50
15.9.1建立、执行程序文件50
15.9.2程序变量51
15.9.3程序控制语句52
15.9.4关于程序结构的几点说明55
15.9.5应用案例55
EViews编程
EViews不仅提供了方便快捷的交互式窗口操作方式而目提供了强大的程序语句。
借助这些程序语言,可以更快捷地完成许多任务。
本章介绍EViews对多种对象的基础操作命令,在计量经济模型分析中常用的运算指令以及基础程序语句。
在阅读本章之前,首先需要说明三点:
1)本章所介绍的命令主要以EViews3.1版本为基础,同时对EViews3.1以后的更新版本新增的命令也给以充分的介绍,但高版本的新增命令与功能在较低版本中一般不能运行。
2)学习编程入门知识的一个较好的方法是根据我们提供的案例进行实践操作。
为了便了读者阅读,本章案例所提供的命令语言或程序均用CourierNew字体显示。
关于命令语言的文字说明,统一加括号<>表示。
3)在本章的举例中凡带有(file:
……)标志的,意说着该例子可以用数据文件(file:
……)练习操作。
该数据文件可以免费下载。
15.1EViews基本操作命令简介
EViews中所有的数据分析都必须在一个工作文件中进行,因此首先需要建立一个工作文件,然后在此基础上根据研究的不同目的建立各种工作对象进行分析。
EViews中基本的工作对象包括:
序列(Series)、alpha序列(Alpha)、数值映射(Valmap)、方程(Equation)、数组(Group)、样本S(Sample)、对数似然(LogL)、矩阵(Matrix)、对称矩阵(Sym)、列向量(Vector)、行向量(Rowvector)、系数向量(Coef)、标量(Scalar)、面板(Pool)、向量自回归(VAR)、状态空间(Space)、系统(Sysem)、模型(Model)、表格(Table)、图形(Graph)等。
不同的工作对象其图标也不同,详见第1章表1-1。
在这些工作对象中,序列(series)和方程(equation)是最基本的,也是应用最多的两种。
在这一节我们将重点介绍对工作文件和几个基本工作对象以及数据读取的基础操作命令。
15.1.1工作文件的基本操作
15.1.1.1对工作文件的操作
1.建立工作文件
EViews可以很轻松地实现对截面数据、时间序列数据和面板数据的输入、建立不同类型工作文件的命令格式如下:
截面数据:
命令格式:
wfcreate(选项)u观测值个数
时间序列数据:
wfcreate(选项)时间频率选项起始日期终止日期
面板数据:
wfcreate(选项)时间频率选项起始日期终止日期截面个数
选项包括:
Wf=<为工作文件命名>
Page=<为工作文件的文件页命名>
时间频率选项包括a/s/q/m/w/d/7/U。
<a表示年度数据,S表示半年度数据,q表示季度数据,m表示月度数据,w表示周数据;
d表示日数据(每周5天,周一至周五),7表示日数据(每周7天)>
起始日期和终止日期的格式请参见“日期”一节的说明。
例
(1):
wfcreate(wf=myfile,page=page1)u31<建立一个名字为myfile的工作文件,并在这个文件中建立名为Page1的工作页,数据为截面数据,共有31个截面。
>
例
(2):
wfcreate(wf=myfile,page=page1)m1980m12000m12<建立一个名字为myfile的工作文件,并在这一文件中建立名为“Page1”的工作页,数据为月度数据,区间为1980年1月至2000年12月。
例(3):
wfcreate(wf=myfile,page=page1)q1990q12005q420<建立一个名字myfile的工作文件,并在这一文件中建立名为“Page1”的工作页,数据为面板数据,时间跨度为1990年第一季度至2005年第四季度,共20个截面。
2.保存工作文件
wfsave保存的位置\保存的文件名
例:
wfsavea:
\mywork<将工作文件mywork保存在a盘。
3关闭已存在的工作文件
Close文件名
closemywork<关闭mywork文件。
4.打开已存在的工作文件
load文件名
load“a:
\mywork”<打开mywork文件。
5.激活工作文件
如果有多个工作文件同时打开,那么所有操作只是对处于激活状态的文件起作用,激活某个工作文件可以使用如下命令,
wfselect工作文件名称
15.1.1.2对工作页的操作
为便于操作,Eviews5.X版本在一个工作文件中设定了多个页(Page),因此,用户在创建工作文件时需要同时创建工作页,工作页的建立可以采用如下命令。
1.创建工作文件时创建工作页
wfcreate(选项)频率区间
其中,选项包括:
Wf=<工作文件的名称。
Page=<工作页的名称。
wfcreate(wf=macro,page=china)a19802005
<创建工作文件macro,并创建工作页china,区间为1980-2005年。
2.在现有工作文件中创建新的工作页
命令格式:
Pagecreae(选项)频率起始日期终止日期
选项包括:
pagecreate(page=page2)q1980q12005q4
3.将其他工作页的工作对象添加到当前工作页
Pageappend(选项)工作文件名称\工作页名称[需要添加的工作对象]
选项包括
smpl=smpl_space<设定样本区间,默认为“@all”。
allobj<添加所有的工作对象。
match<只添加名称相同的工作对象。
sufix=arg<为添加的工作对象设置后缀,默认为“_a”,这样可以避免将目标工作页中名称胡同的工作对象覆盖。
pageselectpage1
pageappend(smpl=”1998m12000m12”)page2x*<将Page2中的以x开头的所有工作对象在区间1998:
1~2000:
12的数据附加到当前工作页page1中。
需要注意的是,使用pageappend将取消当前工作页的日期结构。
因此,使用此命令后必须利用pagestruct命令恢复原来的日期结构。
4.删除工作页的部分样本
papecontract新的区间
注:
只是对当前处于活动状态的工作页起作用。
5.工作页的复制
pagecopy(选项)[需要复制的工作对象]
<将当前工作页的部分或全部工作对象复制到当前工作文件的其他工作页,或复制到其他工作文件。
>
smpl=<设定需要复制的样本区间,默认为“@a11”。
dataonly<仅复制出series、alpha、link、和valmap四类对象。
nolink<不复制link。
wf=<目标工作文件。
page=<目标工作页。
例
(1)Pagecopy(wf=newwf,page=pagel)<将当前工作页的所有工作对象全部复制到新的工作文件newwf中新的工作页page1里。
例
(2)pagecopy(page=newpage)Y*<将当前工作页中所有以y开头的工作对象复制到当前工作文件中新的工作页newpage里。
6.工作页的删除
Pagedelete工作页名称
7.工作页的调入
pageload路径\工作文件名
<从其他工作文件中调入一个或多个工作页到当前的工作文件中。
8.工作页的重命名
pagerename原来的名称新的名称
9.工作页的保存
Pagesave需要保存的工作页名称
10.工作页的激活
EViews在打开一个工作文件时,其所包含的多个工作页都同时打开,但要对其中的某个工作页进行操作,必须首先使其处于活动状态。
激活命令为:
命令格式1:
pageselect需要激活的工作页名称
命令格式2:
wfselect工作文件名称\工作页名称
pageselctpage3
wfselectmypwfl\Page2
11.构建工作页的结构
pagestruct(选项)[ID序列]
<把某个工作文件的结构应用到当前的工作页。
其中,ID序列可选可不选,如果设定了这项内容,那么EViews自动决定工作文件的结构,但其自动决定的结构可以通过(选项)中的设定加以覆盖;
也可以用*表示所有的对象。
None<取消现有的工作文件结构。
Freq=<设定文件的数据频率,包括”a”(annual),”s”(semi-annual),”q”(quarterly),”m”(monthly)、”w”(weekly)、”d”(5-daydaily)、”7”(7-daydaily)或”u”(unstructed/undated)。
Start=<起始日期,如果没有设定,那么EViews将默认为“@first”。
End=<终止日期,如果没有设定,那么EViews将默认为“@last”。
regular(或reg)<如果文件中存在漏掉的日期,那么EViews自动补充。
balance=(或bal=)<适用于面板数据,”balance=s”或”balance=e”或”balance=m”,EViews自动加入观测值,分别使得每个截面的起始日期相同、使得每个截面的终止日期相同、使得每个截面的起始和终止日期相同。
dropna<在ID序列中如果存在缺失值,将其删除。
dropbad<如果日期指数序列包含不规则的日期,将其删除。
对日期的设定可以使用“十”或“-”。
例pagestruct(start=@first-12,end=@last+5)
<在现有文件的前面添加12个观测值,在后面添加5个观测值。
EViews5.0、EWews5.1以前的版本使用“expand”或“range”命令来改变工作文件的区间,EViews5.0、EWews5.1以后的版本中可以使用pagestruct来实现上述操作。
15.1.2建立工作对象
对象类别对象名称
例equationeq01<建立方程eq01。
matrix(5,5)mat<建方5×
5阶的矩阵。
操作方式对象名称观察/程序(选项)观察/程序语句
对工作对象的操作方式有四种:
do、freeze、show、和print。
Do<执行命令>
Freeze<生成表格>
Print<打印处于激活状态的对象>
Show<显示对象>
doeq01.lsycx<用普通最小二乘法估计y对常数项和x的回归>
如果没有输入do、show等命令,那么EViews对程序操作的缺省选项命令是do,而对观察操作的缺省选项命令是show。
如:
equation.lsycx表示对方程y=c
(1)+c
(2)*x+u用最小二乘法回归,此命令等同于doequation.lsycx。
再如:
gdp.line表示观察序列gdp的曲线图,此命令等同于showgdp.line。
下面对几个基本工作对象逐一进行介绍。
15.1.3样本区间(sample)
如果只想对整个区间中的某部分样本进行操作,这时需要首先建立样本区间。
15.1.3.1建立样本区间
sample样本区间名起始日期1终止日期1起始日期2终止日期2……if条件语句
samplemysp1978:
01l992:
121997:
012000:
12<设定样本区间mysp,包括两个时段,第一时段从1978年1月至1992年12月,第二时段从1997年1月至2000年12月。
12ifx>0<设定样本区间mysp从1978年1月至2000年12月之间所有满足x>0的观测值>
注1:
多个条件可以用and或or连接。
注2:
sample只是设定样本区间对象,操作命令仍然针对整个工作区间,如要在样本区间内进行操作,还必须使样本区间对象生效,方法是用smpl命令。
15.1.3.2smpl命令
smpl样本区间名或直接设定符合条件的样本区间
smplmysp<使上面设定的样本区间mysp生效。
Smpl19782000ifx<1000andy<500<设定样本区间为1978~2000年之间同时X<1000和y<500的所有观测值。
如果没有满足条件的观测值,那么在样本区间内的操作不起任何作用。
samplemyspifx>
9andx<
6<建立样本区间mysp>
smplmysp<使上述区间mysp生效>
scalars=@obs(x)<建立数值标量s表示观察x在样本区间内的观测值个数。
结果将显示s=0。
seriesy=@trend()<建立时间趋势序列y>
结果将显示y中所有数据均为Na。
15.1.3.3几个特殊命令
@first<第一个观测值。
@last<最后一个观测值。
@all<整个工作区间>
smpl@first@first+99@last-99@last<表示样本区间为前100个观测值和后100个观测值。
15.1.3.4重新设定样本区间
样本区间名.set新的起始日期新的终止日期If条件语句
mysp.set1988:
011998:
12<将样本区间mysp重新设定为从1978年1月至1998年12月>
15.1.4序列(series)
EViews中,序列代表一个变量的一组观测值,可以是时间序列数据(规则的或不规则的),也可以是截面数据。
15.1.4.1生成新序列
1.生成新序列
series序列名称
genr序列名称=表达式<利用公式创建序列。
命令格式3:
frml序列名称=表达式<利用公式创建自动更新的序列。
〕
seriesgdP<建立序列gpd(只是建立工作对象,数据尚未输入)>
Genrdgdp=d(gdp)<生成序列dgdp,为gdp的一阶差分>
Frmldqdp=d(gdp)<生成自动更新的序列dgdp,为gdp的一阶差分>
2.序列数据的填充
序列名.fill数据
gdp.fill135,259,……<逐个输入序列gdp的元素>
3.通过已有的序列生成新序列
series序列名=表达式
serieslngdp=log(gdp)<生成新序列lngdp,为序列gdp的对数>
EViews工作文件中自身带有一个序列resid,此序列用于存放最新估计方程的残差项,即每当估计新方程时,resid的数值会自动更新。
15.1.4.2自动生成新的序列
EViews中设定了一些特殊变量的生成命令,下面逐一介绍。
1.时间趋势变量
seriestime=@trend(d)<生成时间趋势变量time,第d期指定的位置为0,往后依次加1,往后依次减1。
d的格式由工作文件的数据类型来决定>
workfilemyworkq1980:
12000:
4<建立季度数据工作文件mywork>
seriestime=@trend(1981:
01)<生成序列time,1981年第一季度为0,1980年第四季度为-1,1981年第二季度为1,……>
2.ID序列
sereis序列名=@obsnum<每一个观测值对应的顺序号,即1,2,…>
seriestime=@obsnum<生成序列time.取值为1,2,……,84。
3.季节虚拟变量
seriesdum=@seas(s)<生成季节性虚拟变量dum,对应第s个季度(或月度)dum为1,其余季度(月度)dum为0。
workfilemyworkq1981:
seriesdum1=@seas
(1)<建立虚拟变量dum1,第1季度取1,其他季度取0>
4.季节变量
seriess=@day/@month/@quarter/@year<生成季节变量s,s的取值为其对应的月价值。
workfilemyworkm1990:
12<建立月度工作文件mywork>
seriesm=@month<生成序列m,m的取值为对应的月份值,即1月份取1,2月份取2,…,12月份取12>
5.其他虚拟变量
首先定义符合条件的样本区间,然后给虚拟变量赋值。
workfilemyworka19502000<建立年度数据工作文件mywork>
Smpl19501978<设定样本区间从1950-1978年>
Seriesdum=0<建立虚拟变量dum,在1950~1978年dum取值为0>
Smpl19792000<设定样本区间从1979-2000年>
Dum=1<虚拟变量dum在1979-2000年取值为1>
Smpl@all<恢复整个样本区间。
虚拟变量除了在回归模型中直接作为解释变量(如分段回归模型)或被解释变量(如定性响应模型)之外,还可以用做定义样本区间,请看下面的例子。
中国1982-1988年市场用煤销售量(y)季节数锯(《中国统计年鉴》1987,1989)。
由于受取暖用煤的影响,每年第4季度的销售量大大高于其他季度,因此,在回归模型中需要加入季节虚拟变量以反映季度因素。
设EViews文件为dum.wfl,其中包含四个变量:
sale(销售量)、t(时间趋势变量)、dum1(虚拟变量,第1季度取1,其他季度取0),dum2(虚拟变量,第2季度取1,其他季度取0),dum3(虚拟变量,第3季度取1,其他季度取0)。
回归模型为
如果要单独观察每个季度的回归模型结果,那么需要首先将每个季度定义为样本区间。
比如考察第1个季度的回归结果,那么EViews命令为:
SmplIfdum1=1
Equationeq.lsyct
15.1.4.3提取序列中的某一个元素
命令格式@elcm(x,d)<序列x中第d期的元素,d的格式由工作文件的数据类型来决定。
4<建立工作文件mywork>
seriesx=@trend()<建立时间趋势序列X>
scalars=@elem(x,”1981:
4”)<提取序列x在1998年第4季度的元素,并存放在标量s中,s=3。
15.1.4.4序列的数学运算
只要序列中的数据满足数学运算的条件,那么数学运算公式都可以直接用于序列运算如@sum(x)、@mean(x)。
更多的运算规则可参见第二部分函数运算一节中关于时间序列函数的说明。
15.1.5数组(group)
几个序列共同构成一个数组。
在数组内可以进行序列的协整检验、格兰杰因果关系检验等多种计量分析,也可以进行多元统计分析(如主成分分析等)。
更详细的介绍请参见后面时各种计量模型的分析。
建立数组通过下面的命令实现。
group数组名序