


Title text should go hereEven if on two lines(but not three),First level,Second level,Third level,第,24,章,SAS,处理流程与指针控制,清华大学经管学院 朱世武,Resdat,样本数据:,SAS,论坛:,SAS,处理流程,SAS处理流程数据集,SAS数据文件,SAS数据视图,PROC SQL视图,SAS/ACCESS视图,原始数据,外部文件数据,程序行数据,远程数据,FTP TCP/IP socket,URL,DATA步,SAS数据集,PORC步,SAS报告,SAS数据集,SAS日志,SAS报告,SAS日志,其它外部数据文件,数据步定义,通过数据步可以实现的功能如下创立SAS数据集SAS数据文件或SAS数据视窗;,读取外部数据文件创立SAS数据集;,通过对现有SAS数据集取子集、合并、修改和更新创立新的SAS数据集;,分析、操作或展示数据;,创立新变量;,产生报告、或将文件存储到硬盘或磁带上;,提取信息;,文件管理编译SAS语句,包括语法检查,编译阶段,建立,输入缓冲区,程序数据向量PDV,描述信息,开始,data数据步语句,反复计数,运行阶段,设定,PDV中的变量值为缺失,数据读入语句,判断,是否还有记录可以读入,关闭数据集,执行下一个数据步或者过程步,没有,有,读入,一个数据记录,执行,其它的可执行语句,写入,一个观测到数据集中,数据步处理流程,指针控制,当,SAS,从输入数据中读取数据,并将其读入到输入缓冲区时,用一个指针标记所读数据的位置。
INPUT,语句提供了三种方式来控制指针运动列指针控制,设置指针的列位置,行指针控制,设置指针的行位置,行固定说明符,在输入缓冲区内保持指针在同一个记录行上,从而使得其它的,INPUT,语句可以读入同一条记录行SAS,默认的情况下,,INPUT,语句在读入一条记录之后就自动释放该条记录而进入下一条,列行指针控制,列指针控制指定变量从哪一列开始读入数据行指针控制可以实现如下控制:,将指针移动至下一次记录行;,在,INPUT,语句中定义每个观测所要读入的记录行数量,或在,INFILE,语句中使用,N=,选项,设定每个观测所需读入的记录数量例24.2 列行指针控制data one;,input 2 Name$+1 age;,cards;,sara 15,kitty 23,paul 24,;,run;,例中:2表示第一个变量Name从每个观测记录的第二列开始读取数据,在读完Name之后,+1表示此时指针向右相对移动一列读取age的数值通过列表输入方式的INPUT语句,每读入一个数值之后,指针自动停留在数据后的第二列上如本例第一个数据行,读完sara后,指针已经指到sara后第二列上,所以此时指针只需相对向右一位,就能继续读入下一个变量。
使用行固定说明符,以下情况发生时使用行固定说明符使得指针停留在当前的输入记录行上一个数据记录行被多个INPUT语句读入单尾缀一个数据记录行包含多个观测所需要的值双尾缀一个数据记录行需要在下一个DATA步的重复过程中再次读入(双尾缀)单尾缀,一般来说,数据步中的每个INPUT语句都会将一条新的数据记录行读入输入缓冲区中,假设用单尾缀控制,那么在同一个重复过程中:,指针位置没有改变没有新的记录行被读入到输入缓冲区当中下一个INPUT语句会继续读入同一条记录行SAS在使用单尾缀时,会在碰到以下情况时释放一条记录行:,一个空的INPUT语句:input;,一个不带单尾缀的input语句;,下一次重复过程开始例,24.3,单尾缀,的作用data,one;,input a b;/*input,语句,1*/,input;/*input,语句,2*/,input c d ;/*input,语句,3*/,cards;,1 2 3 4,1 2 3 4,;,run,;,上述例子是一个标准组合顺序,123,,得到的结果是,Obs,a,b,c,d,1,1,2,1,2,如果是,13,组合,得到的结果,Obs,a,b,c,d,1,1,2,3,4,2,1,2,3,4,双尾缀,一般来说,假设使用双尾缀,那么数据步在进行下一次重复过程时,INPUT语句读入同一条记录行。
在碰到以下情况时,SAS才会将一个记录行释放:,指针移动超过了输入记录的尾端;,空INPUT语句;,在DATA步下一次重复开始时,有一个单尾缀的INPUT语句input;,例,24.4,双尾缀,的作用data,one;,input a b ;,cards;,1 2 1 2,1 2 1 2,;,run;,例中,每个数据记录行可以完成两次重复过程,当指针移动超过了输入记录的尾端,指针才开始换行读完数据后的指针位置,分别用列表方式、列方式、格式化方式读入下一段数据,-+-1-+-2-+-3,REGION1 49670,REGION2 97540,REGION3 86342,列表方式:,input region$jansales;,在读完,REGION1,之后,指针停留在第,9,列上1-+-2-+-3,REGION1 49670,格式化方式和列方式,列方式,input region$1-7 jansales 12-16;,格式化方式,input region$7.+4 jansales 5.;,input region$7.12 jansales 5.;,I,NPUT,语句控制指针从前,7,列中读取数据赋给变量,REGION,,而后指针停留在第,8,列上。
1-+-2-+-3,REGION1 49670,多个数据行构成一个观测,看下面的例子,:,data,list2;,infile datalines;,input#4 name$1-10#2 age 13-14#3 team 16;,datalines;,li 12 1,wang 45 2,zhou 12 3,qian 3 4,zhang 23 5,ren 11 6,wu 1 7,qiu 98 8,;,proc print,data=list2;,quit;,Obs name age team,1 qian 45 3,2 qiu 11 7,input#4 name$1-10#2 age 13-14 team 16;,对应输出窗口结果,Obs name age team,1 qian 45 2,2 qiu 11 6,指针超过行的结尾,在使用或+控制指针时,如果指针移动超过数据行的结尾,那么自动转到下一次数据记录行的第一列,并将此信息输入到SAS日志中如下例:,data one;,input x +6 y;,cards;,1 2,3 4,;,run;/*x=1 y=3*/,23 data one;,24 input x +6 y;,25 cards;,NOTE:INPUT,语句到达一行的末尾,,SAS,已转到新的一行。
NOTE:,数据集,WORK.ONE,有,1,个观测和,2,个变量NOTE:“DATA,语句”所用时间(总处理时间),:,实际时间,0.05,秒,CPU,时间,0.06,秒,30 ;,31 run;,指针移到第一列之前,当列指针试图移到第一列之前的位置时,会被限制到第一列例,24.5,列指针移到第一列data,one;,input x (A-7)y;,cards;,1,;,run,;/*x=1 y=1*/,SAS,在读完,X,的值之后,指针回到第一列x,和,y,有同样的值恩格尔和克拉格Kraft,D.,1983在分析宏观数据时,发现这样一些现象:时间序列模型中的扰动方差稳定性比通常假设的要差恩格尔的结论说明在分析通货膨胀模型时,大的及小的预测误差会大量出现,说明存在一种异方差,其中预测误差的方差取决于后续扰动项的大小从事于股票价格、通货膨胀率、外汇汇率等金融时间序列预测的研究工作者,曾发现他们对这些变量的预测能力随时期的不同而有相当大的变化预测的误差在某一时期里相对地小,而在某一时期里那么相对地大,然后,在另一时期又是较小的这种变异很可能由于金融市场的波动性易受谣言、政局变动、政府货币与财政政策变化等等的影响。
从而说明预测误差的方差中有某种相关性为了刻画这种相关性,恩格尔提出自回归条件异方差(ARCH)模型ARCH的主要思想是时刻 t 的ut 的方差(=t2)依赖于时刻(t 1)的扰动项平方的大小,即依赖于 t2-16.1.1 ARCH模型,为了说得更具体,让我们回到k-变量回归模型:,(6.1.1),如果 ut 的均值为零,对 yt 取基于(t-1)时刻的信息的期望,即Et-1(yt),有如下的关系:,(6.1.2),由于 yt 的均值近似等于式的估计值,所以式也称为均值方程假设在时刻(t 1)所有信息的条件下,扰动项 ut 的条件分布是:,(6.1.7),也就是,ut 遵循以0为均值,(0+1u2t-1)为方差的正态分布由于,(6.1.7),中,u,t,的方差依赖于前期的平方扰动项,我们称它为,ARCH(1),过程:,通常用极大似然估计得到参数,0,1,2,k,0,1,的有效估计容易加以推广,,ARCH,(,p,),过程可以写为:,(6.1.8),这时方差方程中的,(,p,+1),个参数,0,1,2,p,也要和回归模型中的参数,0,1,2,k,一样,利用极大似然估计法进行估计如果扰动项方差中没有自相关,就会有,H0:,这时,从而得到扰动项方差的同方差性情形。
恩格尔曾说明,容易通过以下的回归去检验上述虚拟假设:,其中,t 表示从原始回归模型估计得到的OLS残差在 ARCH(p)过程中,由于 ut 是随机的,ut2 不可能为负,所以对于 ut 的所有实现值,只有是正的,才是合理的为使 ut2 协方差平稳,所以进一步要求相应的特征方程,的根全部位于单位圆外如果 ii=1,2,p都非负,式等价于 1+2+p 16.1.2 ARCH,的检验,下面介绍检验一个模型的残差是否含有ARCH效应的两种方法:ARCH LM检验和残差平方相关图检验1.ARCH LM检验,Engle在1982年提出检验残差序列中是否存在ARCH效应的拉格朗日乘数检验Lagrange multiplier test,即ARCH LM检验自回归条件异方差性的这个特殊的设定,是由于人们发现在许多金融时间序列中,残差的大小与最近的残差值有关ARCH本身不能使标准的OLS估计无效,但是,忽略ARCH影响可能导致有效性降低ARCH LM检验统计量由一个辅助检验回归计算为检验原假设:残差中直到q阶都没有ARCH,运行如下回归:,式中 t 是残差这是一个对常数和直到 q 阶的滞后平方残差所作的回归。
这个检验回归有两个统计量:,1F 统计量是对所有残差平方的滞后的联合显著性所作的一个省略变量检验;,2TR2 统计量是Engles LM检验统计量,它是观测值个数 T 乘以回归检验的 R2;,普通回归方程的,ARCH,检验都是在残差检验下拉列表中进行的,需要注意的是,只有使用最小二乘法、二阶段最小二乘法和非线性最小二乘法估计的方程才有此项检验Breusch-Pagan-Godfrey,Harvey,Glejser,ARCH,White,Custom Test Wizard,图,6.4,普通方程的,ARCH,检验列表,2.残差平方相关图,显示直到所定义的滞后阶数的残差平方t2的自相关性和偏自相关性,计算出相应滞后阶数的Ljung-Box统计量残差平方相关图可以用来检查残差自回归条件异方差性ARCH如果残差中不存在ARCH,在各阶滞后自相关和偏自相关应为0,且Q统计量应不显著可适用于使用LS,TSLS,非线性LS估计方程在图6.4中选择Residuals Tests/Correlogram Squared Residuals。