SAS编程技术SQL从单个表中检索数据.ppt_第1页
SAS编程技术SQL从单个表中检索数据.ppt_第2页
SAS编程技术SQL从单个表中检索数据.ppt_第3页
SAS编程技术SQL从单个表中检索数据.ppt_第4页
SAS编程技术SQL从单个表中检索数据.ppt_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第20章 SQL从单个表中检索数据,清华大学经管学院 朱世武 Z Resdat样本数据: SAS论坛: ,SELECT语句综述,SELECT语句是PROC SQL的主要工具。使用SELECT语句可以识别、检索和操作表中的数据,使用SELECT子句可以设定查询条件。,SELECT语句格式,SELECT object-item FROM from-list ;,SELECT 子句,语句格式 SELECT object-item FROM from-list,选择所有列,语句格式: COLUMN-NAME= * (asterisk) select * from from-list SELECT子句中

2、,“*”号表示选择表中的所有列。,例:proc sql outobs=3; select * from ResDat.dret;,选择特定列,语句格式: Select column-name from from-list,例20.1 选择特定列。 proc sql outobs=3; title 股票代码; select stkcd from resdat.lstkinfo; proc sql outobs=3; title 股票代码和名称; select stkcd,lstknm from resdat.lstkinfo; quit;,用DISTINCT语句剔除查询结果中重复观测,语句格式:

3、 =distinct,例20.2 删除重复观测。 proc sql; select distinct stkcd from ResDat.yrret; quit;,创建说明列,语句格式:SELECT TEXT, COLUMN-NAME,例20.4 创建说明列。 proc sql outobs=3; select Stock Code for, lstknm, is, stkcd from ResDat.lstkinfo; quit;,输出窗口结果:,计算新列值,语句格式:Calculating Values =Calculating Expression of columns,例20.5 计算

4、股票每日成交金额。 proc sql outobs=3; title Trading Sum; select stkcd, lstknm, clpr*trdvol format=12.2 from ResDat.qttndist; quit;,为列分配别名,语句格式:SELECT calculation-form 别名必须符合SAS名称要求,别名只在当前的查询中有效。,例20.6 为列分配别名。 proc sql outobs=3; title Trading Sum; select stkcd, lstknm, clpr*trdvol as trdsum format=12.2 from R

5、esDat.qttndist; quit;,CALCULATED 语句,语句格式:Calculated Column-name 使用别名引用一个计算过的列值时,必须使用Calculated 关键词,并将Calculated放在列名称之前,以此告知PROC SQL这个列是经计算得到的。,proc sql outobs=3; select stkcd,lstknm,date,clpr*mcfacpr as adjpr format 8.2, (calculated adjpr*trdvol) as trdsum format 12.2 from resdat.qttndist; quit;,CAS

6、E表达式,语句格式: CASE WHEN when-condition THEN result-expression END,例20.7 简单形式的Case表达式。 proc sql outobs=3; select stkcd,lstknm,lstdt, case when exchflg=1 then 上交所 when exchflg=2 then 深交所 else 所有交易所 end as exchflg from resdat.lstkinfo order by lstdt; quit; 例中,将股票信息表lstkinfo交易所标识(exchflg)的编码值进行转换,同时得到新的交易所

7、标识列及相关数值。,使用ORDER BY语句排序,语句格式 ORDER BY order-by-item ;,选项说明: order-by-item 可以是如下:,例20.9 对股票上市时间列进行排序。 proc sql outobs=3; select lstknm,lstdt from resdat.lstkinfo order by lstdt; quit;,可以通过指定列在SELECT子句中的整数位置对该列排列。 例20.11 按第4列排序。 proc sql outobs=3; select stkcd,lstknm,date,clpr*mcfacpr as adjpr format

8、 8.2 from resdat.qttndist order by 4 desc; quit;,用WHERE语句选择观测,语句格式 WHERE sql-expression 选项说明: sql-expression (见sql-expression定义).,例20.13 用WHERE语句选择1991年以前上市的股票。 proc sql outobs=3; select lstknm, lstdt from resdat.lstkinfo where lstdt31dec1991d; quit;,使用IN算符 例20.14 简单IN算符用法。 proc sql outobs=3; select

9、 lstknm, stkcd from resdat.lstkinfo where stkcd in (000001 600651 000004); quit;,使用BETWEEN-AND 算符,例20.16 使用BETWEEN-AND算符选择满足一定范围的观测。 proc sql; create table stkinfo1991 as select * from resdat.lstkinfo where lstdt between 1jan1991d and 31dec1991d; quit;,使用LIKE算符,例20.17 使用匹配算符LIKE选择观测。 proc sql; selec

10、t stkcd,lstknm from resdat.lstkinfo where lstknm like ST%; quit;,使用汇总函数汇总数据,使用汇总函数(aggregate function or summary function)可以产生数据的统计量。,用WHERE子句汇总数据,例20.19 使用乘法函数算出代码为000002的股票调整后的收盘价。 proc sql outobs=3; select stkcd,lstknm,clpr*mcfacpr as adjpr from resdat.qttndist where stkcd=000002; quit;,使用SUM函数,例

11、20.20 使用sum函数计算深发展历年派发现金红利总额。 proc sql; select sum(dividend) format=8.2 as totledv from resdat.stk000001; quit;,观测数汇总,语句格式: Select count(distinct ) as ,proc sql; title Number of total Rows; select count(*) as number from resdat.lstkinfo; quit;,使用GROUP BY子句进行分组汇总,语句格式 ,选项说明:,例20.22 分组进行汇总。 proc sql o

12、utobs=3; title 2005年股票月收益平均值; select stkcd, avg(monret) from resdat.monret where 1jan2005d=date=31dec2005d group by stkcd; quit;,用HAVING子句选择分组数据,语句格式 ,例20.25 算出A股市场股票2005年的交易天数。 proc sql; select stkcd,count(*)as trday from resdat.dret where 1jan2005d=date=31dec2005d group by stkcd having substr(stkc

13、d,1,1) in (0,6) or substr(stkcd,1,2)=99; quit;,第五章 时间序列模型,关于标准回归技术及其预测和检验我们已经在前面的章节讨论过了,本章着重于时间序列模型的估计和定义,这些分析均是基于单方程回归方法,第9章我们还会讨论时间序列的向量自回归模型。 这一部分属于动态计量经济学的范畴。通常是运用时间序列的过去值、当期值及滞后扰动项的加权和建立模型,来“解释”时间序列的变化规律。,在时间序列模型的发展过程中,一个重要的特征是对统计均衡关系做某种形式的假设,其中一种非常特殊的假设就是平稳性的假设。通常一个平稳时间序列能够有效地用其均值、方差和自相关函数加以描述

14、。本章首先通过讨论回归方程扰动项通常会存在的序列相关性问题,介绍如何应用时间序列数据的建模方法,修正扰动项序列的自相关性。进一步讨论时间序列的自回归移动平均模型(ARMA模型),并且讨论它们的具体形式、估计及识别方法。,由于传统的时间序列模型只能描述平稳时间序列的变化规律,而大多数经济时间序列都是非平稳的,因此,由20世纪80年代初Granger提出的协整概念,引发了非平稳时间序列建模从理论到实践的飞速发展。本章还介绍了非平稳时间序列的单位根检验方法、ARIMA模型的建模方法、协整理论的基本思想及误差修正模型。,5.1 序列相关及其检验,第3章在对扰动项ut的一系列假设下,讨论了古典线性回归模

15、型的估计、检验及预测问题。如果线性回归方程的扰动项ut 满足古典回归假设,使用OLS所得到的估计量是线性无偏最优的。 但是如果扰动项ut不满足古典回归假设,回归方程的估计结果会发生怎样的变化呢?理论与实践均证明,扰动项ut关于任何一条古典回归假设的违背,都将导致回归方程的估计结果不再具有上述的良好性质。因此,必须建立相关的理论,解决扰动项不满足古典回归假设所带来的模型估计问题。,5.1.1 序列相关及其产生的后果,对于线性回归模型 (5.1.1) 随机扰动项之间不相关,即无序列相关的基本假设为 (5.1.2) 如果扰动项序列ut表现为: (5.1.3) 即对于不同的样本点,随机扰动项之间不再是

16、完全相互独立的,而是存在某种相关性,则认为出现了序列相关性(serial correlation)。,由于通常假设随机扰动项都服从均值为0,同方差的正态分布,则序列相关性也可以表示为: (5.1.4) 特别的,如果仅存在 (5.1.5) 称为一阶序列相关,这是一种最为常见的序列相关问题。,如果回归方程的扰动项存在序列相关,那么应用最小二乘法得到的参数估计量的方差将被高估或者低估。因此,检验参数显著性水平的t统计量将不再可信。可以将序列相关可能引起的后果归纳为:, 使用OLS公式计算出的标准差不正确,相应的显著性水平的检验不再可信 ;, 回归得到的参数估计量的显著性水平的检验不再可信。, 在线性

17、估计中OLS估计量不再是有效的;,EViews提供了检测序列相关和估计方法的工具。但首先必须排除虚假序列相关。虚假序列相关是指模型的序列相关是由于省略了显著的解释变量而引起的。例如,在生产函数模型中,如果省略了资本这个重要的解释变量,资本对产出的影响就被归入随机误差项。由于资本在时间上的连续性,以及对产出影响的连续性,必然导致随机误差项的序列相关。所以在这种情况下,要把显著的变量引入到解释变量中。,5.1.2 序列相关的检验方法,EViews提供了以下3种检测序列相关的方法。 1D_W统计量检验 Durbin-Watson 统计量(简称D_W统计量)用于检验一阶序列相关,还可估算回归模型邻近残

18、差的线性联系。对于扰动项ut建立一阶自回归方程: (5.1.6) D_W统计量检验的原假设: = 0,备选假设是 0。,如果序列不相关,D.W.值在2附近。 如果存在正序列相关,D.W.值将小于2。 如果存在负序列相关,D.W.值将在24之间。 正序列相关最为普遍,根据经验,对于有大于50个观测值和较少解释变量的方程,D.W.值小于1.5的情况,说明残差序列存在强的正一阶序列相关。,Dubin-Waston统计量检验序列相关有三个主要不足: 1D-W统计量的扰动项在原假设下依赖于数据矩阵X。 2回归方程右边如果存在滞后因变量,D-W检验不再有效。 3仅仅检验是否存在一阶序列相关。 其他两种检验

19、序列相关方法:Q-统计量和Breush-Godfrey LM检验克服了上述不足,应用于大多数场合。,2 . 相关图和Q -统计量,1. 自相关系数 我们还可以应用所估计回归方程残差序列的自相关系数和偏自相关系数来检验序列相关。时间序列ut滞后k阶的自相关系数由下式估计 (5.2.26) 其中 是序列的样本均值,这是相距k期值的相关系数。称rk为时间序列ut的自相关系数,自相关系数可以部分的刻画一个随机过程的性质。它告诉我们在序列ut的邻近数据之间存在多大程度的相关性。,2偏自相关系数 偏自相关系数是指在给定ut-1,ut-2,ut-k-1的条件下,ut与ut-k之间的条件相关性。其相关程度用偏

20、自相关系数k,k度量。在k阶滞后下估计偏相关系数的计算公式如下 (5.2.27) 其中:rk 是在k阶滞后时的自相关系数估计值。 (5.2.28) 这是偏相关系数的一致估计。,要得到k,k的更确切的估计,需要进行回归 t = 1, 2, , T (5.2.29) 因此,滞后k阶的偏相关系数是当ut 对ut-1,ut-k 作回归时 ut-k 的系数。称之为偏相关是因为它度量了k期间距的相关而不考虑k -1期的相关。,我们还可以应用所估计回归方程残差序列的自相关和偏自相关系数(在本章5.2.4节给出相应的公式),以及Ljung-Box Q-统计量来检验序列相关。Q-统计量的表达式为:,(5.1.7

21、),其中:rj是残差序列的 j 阶自相关系数,T是观测值的个数,p是设定的滞后阶数 。,p阶滞后的Q-统计量的原假设是:序列不存在p阶自相关;备选假设为:序列存在p阶自相关。 如果Q-统计量在某一滞后阶数显著不为零,则说明序列存在某种程度上的序列相关。在实际的检验中,通常会计算出不同滞后阶数的Q-统计量、自相关系数和偏自相关系数。如果,各阶Q-统计量都没有超过由设定的显著性水平决定的临界值,则接受原假设,即不存在序列相关,并且此时,各阶的自相关和偏自相关系数都接近于0。,反之,如果,在某一滞后阶数p,Q-统计量超过设定的显著性水平的临界值,则拒绝原假设,说明残差序列存在p阶自相关。由于Q-统计

22、量的P值要根据自由度p来估算,因此,一个较大的样本容量是保证Q-统计量有效的重要因素。,在EViews软件中的操作方法: 在方程工具栏选择View/Residual Tests/correlogram-Q-statistics。EViews将显示残差的自相关和偏自相关函数以及对应于高阶序列相关的Ljung-Box Q统计量。如果残差不存在序列相关,在各阶滞后的自相关和偏自相关值都接近于零。所有的Q-统计量不显著,并且有大的P值。,例5.1: 利用相关图检验残差序列的相关性,考虑美国的一个投资方程。美国的GNP和国内私人总投资INV是单位为10亿美元的名义值,价格指数P为GNP的平减指数(197

23、2=100),利息率R为半年期商业票据利息。回归方程所采用的变量都是实际GNP和实际投资;它们是通过将名义变量除以价格指数得到的,分别用小写字母gnp,inv表示。实际利息率的近似值r则是通过贴现率R减去价格指数变化率p得到的。样本区间:1963年1984年,建立如下线性回归方程: t = 1, 2, , T,应用最小二乘法得到的估计方程如下: t =(-1.32) (154.25) R2=0.80 D.W.=0.94,虚线之间的区域是自相关中正负两倍于估计标准差所夹成的。如果自相关值在这个区域内,则在显著水平为5%的情形下与零没有显著区别。 本例1阶的自相关系数和偏自相关系数都超出了虚线,说

24、明存在1阶序列相关。1阶滞后的Q-统计量的P值很小,拒绝原假设,残差序列存在一阶序列相关。,选择View/Residual test/Correlogram-Q-statistice会产生如下结果:,3 . 序列相关的LM检验,与D.W.统计量仅检验扰动项是否存在一阶自相关不同,Breush-Godfrey LM检验(Lagrange multiplier,即拉格朗日乘数检验)也可应用于检验回归方程的残差序列是否存在高阶自相关,而且在方程中存在滞后因变量的情况下,LM检验仍然有效。 LM检验原假设为:直到p阶滞后不存在序列相关,p为预先定义好的整数;备选假设是:存在p阶自相关。检验统计量由如下

25、辅助回归计算。,(1)估计回归方程,并求出残差et (5.1.8) (2)检验统计量可以基于如下回归得到 (5.1.9) 这是对原始回归因子Xt 和直到p阶的滞后残差的回归。LM检验通常给出两个统计量:F统计量和TR2统计量。F统计量是对式(5.1.9)所有滞后残差联合显著性的一种检验。TR2统计量是LM检验统计量,是观测值个数 T 乘以回归方程(5.1.9)的R2。一般情况下,TR2统计量服从渐进的 2(p) 分布。,在给定的显著性水平下,如果这两个统计量小于设定显著性水平下的临界值,说明序列在设定的显著性水平下不存在序列相关;反之,如果这两个统计量大于设定显著性水平下的临界值,则说明序列存

26、在序列相关性。,在EView软件中的操作方法: 选择View/Residual Tests/Serial correlation LM Test,一般地对高阶的,含有ARMA误差项的情况执行Breush-Godfrey LM。在滞后定义对话框,输入要检验序列的最高阶数。,LM统计量显示,在5%的显著性水平拒绝原假设,回归方程的残差序列存在序列相关性。因此,回归方程的估计结果不再有效,必须采取相应的方式修正残差的自相关性。,例5.1(续) 序列相关LM检验,例5.2: 含滞后因变量的回归方程扰动项序列相关的检验,考虑美国消费CS 和GDP及前期消费之间的关系,数据期间:1947年第1季度1995

27、年第1季度,数据中已消除了季节要素,建立如下线性回归方程: t = 1, 2, , T 应用最小二乘法得到的估计方程如下: t = (1.93) (3.23) (41.24) R2=0.999 D.W.=1.605,如果单纯从显著性水平、拟合优度及D.W.值来看,这个模型是一个很理想的模型。但是,由于方程的解释变量存在被解释变量的一阶滞后项,那么 D.W.值就不能作为判断回归方程的残差是否存在序列相关的标准,如果残差序列存在序列相关,那么,显著性水平、拟合优度和F统计量将不再可信。所以,必须采取本节中介绍的其他检验序列相关的方法检验残差序列的自相关性。这里采用 LM 统计量进行检验(p=2),

28、得到结果如下: LM统计量显示,回归方程的残差序列存在明显的序列相关性。,下面给出残差序列的自相关系数和偏自相关系数,相关图如下: 本例13阶的自相关系数都超出了虚线,说明存在3阶序列相关。各阶滞后的Q-统计量的P值都小于5%,说明在5%的显著性水平下,拒绝原假设,残差序列存在序列相关。,5.1.3 扰动项存在序列相关的 线性回归方程的估计与修正,线性回归模型扰动项序列相关的存在,会导致模型估计结果的失真。因此,必须对扰动项序列的结构给予正确的描述,以期消除序列相关对模型估计结果带来的不利影响。 通常可以用AR(p) 模型来描述一个平稳序列的自相关的结构,定义如下: (5.1.10) (5.1

29、.11),其中:ut 是无条件扰动项,它是回归方程(5.1.10)的扰动项,参数 0,1, 2,k 是回归模型的系数。式(5.1.11)是扰动项ut的 p 阶自回归模型,参数 1,2,p 是 p 阶自回归模型的系数,t 是无条件扰动项ut自回归模型的误差项,并且是均值为0,方差为常数的白噪声序列,它是因变量真实值和以解释变量及以前预测误差为基础的预测值之差。 下面将讨论如何利用AR(p) 模型修正扰动项的序列相关,以及用什么方法来估计消除扰动项后方程的未知参数。,1修正一阶序列相关 最简单且最常用的序列相关模型是一阶自回归AR(1)模型。为了便于理解,先讨论一元线性回归模型,并且具有一阶序列相

30、关的情形,即p = 1的情形: (5.1.12) (5.1.13),把式(5.1.13)带入式(5.1.12)中得到 (5.1.14),然而,由式(5.1.12)可得 (5.1.15) 再把式(5.1.15)代入式(5.1.14)中,并整理 (5.1.16) 令 ,代入式(5.1.16)中有 (5.1.17) 如果已知 的具体值,可以直接使用OLS方法进行估计。如果 的值未知,通常可以采用GaussNewton迭代法求解,同时得到 , 0, 1的估计量。,2修正高阶序列相关 通常如果残差序列存在p阶序列相关,误差形式可以由AR(p)过程给出。对于高阶自回归过程,可以采取与一阶序列相关类似的方法

31、,把滞后误差逐项代入,最终得到一个误差项为白噪声序列,参数为非线性的回归方程,并且采用Gauss-Newton迭代法求得非线性回归方程的参数。 例如,仍讨论一元线性回归模型,并且扰动项序列具有3阶序列相关的情形,即p = 3的情形:,(5.1.18),(5.1.19),按照上面处理AR(1) 的方法,把扰动项的滞后项代入原方程中去,得到如下表达式:,(5.1.20),通过一系列的化简后,仍然可以得到参数为非线性,误差项t 为白噪声序列的回归方程。运用非线性最小二乘法,可以估计出回归方程的未知参数 0 , 1 , 1 , 2 , 3。,我们可以将上述讨论引申到更一般的情形:对于非线性形式为 f

32、(xt , )的非线性模型,xt = 1, x1t , x2t , xkt , = 0 , 1 , k ,若扰动项序列存在p阶序列相关, (5.1.21) (5.1.22) 也可用类似方法转换成误差项t为白噪声序列的非线性回归方程,以p = 1为例, (5.1.23) 使用Gauss-Newton算法来估计参数。,3. 在Eviews中的操作: 打开一个方程估计窗口,输入方程变量,最后输入ar(1) ar(2) ar(3)。针对例5.2定义方程为:,需要注意的是,输入的ar(1) ar(2) ar(3) 分别代表3个滞后项的系数,因此,如果我们认为扰动项仅仅在滞后2阶和滞后4阶存在自相关,其他滞后项不存在自相关,即 则估计时应输入:cs c gdp cs(-1) ar(2) ar(4) EViews在消除序列相关时给予很大灵活性,可以输入模型中想包括的各个自回归项。例如,如果有季度数据而且想用一个单项来消除季节自回归,可以输入:cs c gdp cs(-1) ar(4)。,例5.3 用AR(p)模型修正回归方程残差序列的自相关(1) 例5.1中检验到美国投资方程的残差序列存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论