数学建模社区-数学中国

标题: Eview Help [打印本页]

作者: frankrong    时间: 2005-4-27 17:45
标题: Eview Help
* ?" L7 ?, {6 v9 `* J

如果将二次指数平滑的预测结果和原观测值共同显示在同一张图上,可以使用户看起来更清楚。首先在工作文件菜单中同时选中两个序列SALES和SALESSM,方法是先点击一个序列,之后按住键盘上的Shift键再点击另外一个序列。然后点击工作文件菜单工具栏中的Show,在弹出的对话框中点击OK。此时,系统将弹出一个类似序列对象窗口的群窗口(见图4),窗口中以Excel表格的形式同时显示出SALES和SALESSM。最后点击该窗口上方的View→Graph→Line(见图5)。

4 `' S- T' r6 y$ I/ ^9 n

# N) ^$ @( L& z# T# D O7 {

图4 群对象窗口

, w1 o; q1 X) `2 p( h

5 J( l$ B9 f$ O( V3 G

图5 实际销售额与平滑值序列对比图

6 R6 A* @. o% o! t- i, u `3 c8 Q

二、趋势延伸法实例

* \: P4 h) _3 z) q/ O+ P& G

时间序列的趋势即序列随时间变化的基本规律和特点。对于存在趋势的序列,通常可以选取适当的模型进行分析和预测。

0 s* T, q& H' v: C

(-)直线趋势

9 t7 Z/ F5 H& y& n$ B

直线趋势模型是一种最常用,也是最成熟的方法。模型的基本结构为:

! T6 ~2 N. k) J1 m) _

Yt=a+bt

; D0 a! ?# l; P

式中,a,b是模型的参数。这种模型的结构比较简单,估计方法非常成熟,是很多其他趋势模型估计的基础。下面结合实例说明如何使用该软件进行直线趋势模型的预测。

: X' n: R" I% X% t" t$ A2 [1 P/ R

[例3]设某市1992-2002年市场鸡蛋销售量如表4所示。试预测2003年该市鸡蛋销售量。

. ], @$ o: ^3 ]5 P1 J. n) x( |

表4 某市鸡蛋销售量 单位:万千克

6 U: z5 Z% Q" y. v6 e& e

D8 U- T! I5 A/ V- N1 V4 I

解:第一步,建立一个新的工作文档,文档的样本期为1992-2002年。生成序列SALES,录入表4中的销售量观测值。

- f$ w! l+ t/ `7 U3 K

第二步,打开SALES序列对象窗口,点击View→Line Graph,绘制序列散点图(见图6)。

/ d d2 O f% F% Y% S3 q8 i+ d

# l- F! u2 G* W4 \; A7 R) \

图6 序列散点图

+ a0 ~; P* i2 v8 @) J1 b

Eviews中没有直接绘制散点图的菜单选项。当需要绘制散点图时,首先需要绘制连线图(Line Graph)。屏幕显示图形对象窗口后,用鼠标左键双击图形的任意位置,或者点击右键,然后在弹出的菜单中选择Options。此时,系统将弹出图形属性对话框。

" `9 ~) g, [# n4 E& i

图形属性对话框中的选项很多。用户在这里可以方便地更改图形的类型(Graph Type)、图形的属性(Graph Attitude)、线形图格式见(Line Graph)、条形图格式(Bar Graph)等。这里,将图形的类型选择为线形图(Line Graph),再在线形图格式中选择仅有标示(Symba1s Only)。点击OK。

6 c: Y! Y. m- j6 o- u+ b' Q" f7 u5 b

从散点图上可以看出,该序列基本呈现出一种直线增长的趋势,因而宜采用直线趋势延伸的方法进行预测。

/ w0 i: |1 U% S) B$ F( a' Y( ~

第三步,生成时间变量T。在进行模型参数的估计时通常要用到最小二乘的方法,其中,观测值就是因变量,序列T就是自变量。

5 U" m) V( G R7 U$ {3 }9 B

生成一个新序列的方法有很多,可以通过菜单操作,也可以直接在主窗口中输入命令行实现。有关菜单操作的方法在本章第一节中已经说明,这里采用命令行的形式生成序列T。

" `$ S' _7 b' d: }/ w7 s8 I

Eviews生成序列的命令为data,用户只需在主窗口中输入命令:data T。

5 m' h% L C7 _& N

对于序列T,用户可以在打开的对象窗口中为它赋值,比如赋值1,2,3,…

( ]4 @3 p- j8 {( e2 J1 W

如果用户需要直接生成含有值的序列T,也可以利用函数生成序列,在主窗口中输入命令行(见图7)。

3 V" ]% Y& {0 b5 J; y; z( m$ ~

2 c( k, P- X9 f _! |( F6 s

图7 T序列生成命令和取值情况节略

6 p* @$ l, \* Z* D

genr T=@trend

n. t n* I1 J5 t8 {

系统自动生成序列T,并从0开始计数,它的取值依次为0,l,2,3,…

, M: m# p: J* m

第四步,模型估计。在Eviews中最小二乘回归的命令是LS,它的基本书写格式为:

8 B' l( @, S, z7 H1 z& e* y1 ^% A

LS 因变量 C 自变量

) ~7 w$ ?1 A6 j4 j$ R

其中,C代表模型中的常数项,对于没有常数项的模型可以不写。

2 h9 K" ] W0 t! ` k" h

本例中,使用下面的命令进行回归: LS SALES C T(见表5)。

: |& R# e! R7 { G' ~

: t( e% V# |9 w$ j, h" P

: j* e! p ?- K( Z9 `

表5 最小二乘回归结果

) a7 C3 t2 r& n7 W

根据表5的结果,得到如下模型:

1 L. g0 M3 X; ^7 y2 O

sale=31.227+2.391×T

2 y9 D, z4 r+ q1 Q$ {! ^! t

第五步,进行预测。根据上述模型结果,可以很容易地给出2003年鸡蛋销售量的预测结果。将T=11代入上述模型,计算结果表明该企业2003年的鸡蛋销售额为57.5万元。

6 G6 k) B- |) G! i7 l) B# k

(二)曲线趋势

2 ]; N+ a, v; z @) N1 v# Y' y

经济序列中有很多呈现出曲线变化的趋势。直线趋势的估计比较简单,曲线趋势的估计则更为常用。指数曲线、二次曲线、三次曲线和龚拍兹曲线是在市场经济序列中常见的模型,它们的估计也大同小异,这里就以指数曲线为例介绍如何使用Eviews进行模型的估计。

0 Y: h& T4 b6 G$ `0 C1 O) W4 _) G2 {

[例4]某市近9年灯具商品销售量资料如表6所示。试预测2002年的销售量。

2 V- N% a" O5 I/ J. Z I* D

解:第一步,建立一个新的工作文档,文档的样本期为1993-2001年。生成序列SALES,录入表中的销售量观测值。

4 T9 G+ T% g- Q @' [: V, h

表6 某市灯具销售量 单位:万件

* G* s: x" B% j0 _0 t; x4 \

0 g. I9 \& C" ] G- J' i1 L

第二步,打开SALS序列对象窗口,点击View→Line Graph,绘制序列散点图(见图8)。

) i8 O9 W; G* ]& P: ~& Y5 N/ u- j' v

; V) _- Y9 S% p! z

图8 销售量散点图

9 X; ]% E/ r) N! p

从绘制出的散点图可以看出,该企业的灯具销售变动呈现规律的加速增长。根据经验判断,要预测该企业下一年度的销售数据,可以使用指数趋势模型。如果计算出销售数据的环比增长率,可以更加确信地选择指数模型。本章内容以各类方法的软件实现为主要阐述内容,对模型选择有兴趣的读者可以参阅本书前面的相关章节。

' J$ n5 d% S/ G5 T0 O

第三步,生成时间变量T。这里采用系统自动生成的方法,即输入命令:

, _! V' U, ^! q, ^$ K

genr T=@trend。

* k1 y' y% L6 ] m9 P, @/ H9 Z* e* N

第四步,对因变量序列进行变换。在变化因变量序列之前,首先要弄清楚为什么变换。指数模型的基本形式如下:

, x7 f' [% A* m/ P4 m7 \

Yt= abt

$ C6 ]. I; V8 T, T/ a; x

从统计学的角度考虑,传统的估计方法无法直接估计这种模型的参数,因此需要对模型的形式进行变换,从而使参数可以被估计出来。指数趋势模型通过变换可以变成一个线性模型,所以指数模型称为可线性化的模型。指数模型变换后的结果为:

% V1 g2 ^% c' ~! l" n" K

log(Yt)=log(a)+log(b)×t

3 b5 t' Y. F# D

细心的读者会发现,这时模型的形式与前面介绍的直线趋势模型非常的相似,只是模型左边的因变量作了一个对数变换。所以,对因变量进行变换的原因实际上源自对模型的变换,变换的目的是为了能够使用传统的估计方法估计出模型的参数。

# J3 K$ }, x/ S$ @ O7 b

对于指数模型,通常要将因变量作对数变换。在Eviews中就是要生成一个新的序列,新序列的数值恰好等于原观测序列的值取对数的结果。

, ~3 H& i3 G$ A+ E0 w5 K) t+ M

使用命令的方式进行操作,在主窗口中输入如下命令:

% Q; q* _9 i! [( @, p- X4 E+ a

genr lsales=log(sales)

* O* U* q- E# e* e3 S2 G

lsales是新生成序列的名称。如果作出lsales的散点图,会发现变换后的序列基本呈一条直线。这里留给有兴趣的读者自己去试一试。

" h8 U: e% p$ k: w

第五步,模型估计。在主窗口中输入下面的命令:

" |% P V0 t! B

LS lsales c t

/ A( m: J! r: e& d$ U4 L

注意,这里实际上是用变换后的序列和时间变量T进行线性回归,估计的结果为参数log(a)和log(b)的值(见表7)。

' {; ~. i2 q4 D6 g3 z8 E2 |- n2 w

表7 线性回归结果

( Q% u( X' A# [( s& Y# d

) e9 C$ z* ~) f

; @/ \' z1 F* L1 X: c4 a

第六步,进行预测。根据表7的结果,可以得到如下模型:

4 D5 ?7 B* H! |4 u/ _3 W# M

log(Sales)=2.1463+0.2225×T

" W; i3 k) G( {: B: l( H

将T=9代入上述模型,求得log(sales)=4.1488。从而可以预测出该企业在2002年的销售量为63.36万件。

3 Q7 y# o7 \$ Q

三、季节指数法实例

5 }( V s! D7 r. ^4 }) |$ n& e9 E

(-)季节模型的类型

- I* x, `4 B7 j* z2 B

季节模型是反映具有季节变动规律的时间序列模型。季节变动通常是指以年为一个周期的变化。引起季节变动的首要因素是四季更迭。季节变动在很多产品市场上都是一种常见现象,最为典型的季节性产品市场如冷饮、服装、空调等。

# D. B E# U; E$ A/ o% r

传统的时间序列分析把时间序列的波动归结为四大因素:趋势变动(T)、季节变动(S)、循环变动(C)和不规则变动(I)。其中循环变动指周期为数年的变动,这种变动不一定存在固定变化周期和确定性变化规律,通常指经济周期。不规则变动即随机变动。四种变动因素对序列的影响被概括为两个经典模型:

2 _9 a3 X) V0 m

乘法模型Y=TSCI

3 g3 ~! v% ^. P. M& A( R

加法模型Y=T+S+C+I

: t5 M- j7 b! H" y

乘法模型通常适用于因素T,S,C相关的情形,比如季节因素的作用随着趋势的变化而改变;加法模型通常适用于因素T,S,C相互独立的情况。需要注意的是,季节模型一般需要3年以上的季度或月度数据。

4 t6 G+ K2 C2 q2 s/ q& V: S! `

(二)季节调整

( a, O$ e6 B4 \6 _4 |

对序列进行季节调整,就是将季节变动从序列中去除。基本思路是:

" ?9 O% Q9 l( d

Y/S=TSI/S=TI

! |( H0 _8 a9 G7 ?6 G% E) O! d! M

或 Y-SI=TI

4 C1 @0 _9 o' ?$ T

序列里存在季节波动常常会妨碍市场人员对某些问题的认识。比如,3月份的饮料销售比2月份好吗?如果单单从数据的表面看,3月份的销量应该比2月份好。但这种所谓的“好”并没有考虑季节变动而引起的市场规模的扩大,也就是说,如果剔除季节因素的影响,3月份的销售效果未必比2月份好。季节调整的目的就是为了剔除掉季节因素的作用,从而使序列本身的趋势特征更加准确地显现出来。

+ i; k+ M- q' C$ C; b/ J( W! L6 p

Eviews中有两种实现季节调整的菜单操作方法。在主窗口中点击菜单Quick→Series Statistics→Seasonal Adjustment,或者在序列对象窗口中点击工具栏按钮Procs→Seasonal Adjustment。点击后,屏幕出现季节调整对话框窗口(见图9)。

- r! O" S& a4 {/ c7 ^) j4 g

对话框左上部分是季节调整的方法(Adjustment Method),包括Census X11法、移动平均季节乘法(Ratio to moving average-Multiplicative)、移动平均季节加法(Difference from moving average-Additive)。系统默认的方法是移动平均季节乘法。

5 \9 V* N) q8 t5 [5 r

对话框左下部分是待计算序列(Series to Calculate),包括调整后序列(Adjusted Series)名称和季节因子(Factors)名称。季节因子计算是可选的,只有用户在其对应的框中输入名称后,系统才会将季节因子计算的结果保存在一个序列中。

1 D" Y% F: t- Y" G5 x1 u2 K2 i5 c

[例5]现有某地区某种产品产量近4年的分月资料(见表8),试预测该种产品2003年各月的产量。

% E& e8 t& C- }; _

表8 某地区某产品产量 单位:万件

8 [" Z0 H- I4 n; z2 ]8 q& ^( W

- @2 ]! M" b5 F% P" q

9 X, c7 k/ g. F8 W, o, U/ I

图9 季节调整对话框

9 p; P5 e$ d3 T5 j/ {

解:第一步,建立一个新的工作文档,文档的样本期为1999年三月-2002年12月。生成序列SUPLY,录入表中的产量数据。

( a! S( J7 M1 B4 x0 m

第二步,打开SUPLY序列对象窗口,点击View→Line Graph,绘制连线图(见图10)。

7 g) P, n2 n5 z$ w1 j

/ X$ k3 j' P2 N5 c' G" I

图10 产量变化图

0 |7 ? B" k' r- e; @* o: ~$ M

从图形的形状很容易看到,该种产品的产量确实存在非常明显的季节变动。

8 W% u6 u0 C5 @* r" N

第三步,生成调整后序列。根据前面的方法,生成调整后序列SUPLYSA和季节团于序列JIJIE。这里使用的模型是乘法模型,因此在如图9所示的对话框中选择的季节调整方法是移动平均季节乘法(Ratio to moving average-Multiplicative)。季节调整后产量变化情况和月度季节因子见图11和表9。

7 q: ~$ ^* \ B; N) \

' k+ Y; R+ E' q8 J2 n& K7 v

图11 季节调整后产量变化情况

7 b6 l) |$ _7 B. C

表9 月度季节因子

7 Q5 z, h2 N! c: j

9 }- L( z4 |1 Q; V/ x3 D

第四步,进行预测。按照乘法模型的理论,当剔除序列的季节波动之后,序列中主要存在的变动因素是趋势。对于趋势,当然可以采用移动平均或者指数平滑的方法确定,但由于本例中要求预测2003年度12个月份的产量,预测期较长,因此采用建立趋势模型,进行外推预测是比较合适的。

4 C! i# l! |% v4 B

建立趋势模型的具体步骤这里不再赘述。这里仍然采用指数模型,通过参数估计得到模型的具体形态如下:

% K- e3 i. ^6 _) n/ s$ ^2 ?

log(suplysa)=1.8557+0.0284×T

2 C& B& n, `8 _

其中,T使用命令Genr T=@Trend得到。根据趋势模型可以推算出2003年l-12月的趋势值(见表10(中))。将对应月份的趋势值乘以相应的季节因子得到预测值(见表10(右))。

/ I8 z0 A, d ^1 Z6 |# g/ @! T L% h

表10 趋势预测值与预计产量 单位:万件

2 c/ C* c7 M+ N1 w






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5