sas编程技术统计量计算(编辑修改稿)内容摘要:
由度 N 1W E I G H T | W G T 规定除数使用权数和N 规定除数使用观测个数 NW D F 规定除数使用权数总和减 1其它语句 VAR语句 VAR variablelist。 规定将要计算描述统计量的数值变量及次序。 缺省时,为BY, CLASS, ID,FREQ和 WEIGHT语句中列出的变量之外所有数值变量。 BY语句 BY variablelist。 对 BY变量定义 BY组计算统计量。 当使用 BY语句时,要求输入数据集已按 BY变量排序的次序排列,除非指定NOTSORTED。 FREQ语句 FREQ variable。 指定一个数值型的 FREQ变量 , 它的值表示输入数据集中相应观测出现的频数。 该变量的值应为正整数。 若 FREQ变量值 1或缺失 , 相应的观测不参加计算统计量 , 若这个值不是正整数 , 取整数部分。 WEIGHT语句 WEIGHT variable。 规定一个 WEIGHT变量,其值表示相应观测的权数。 该变量的值应大于零。 若这个值 0或缺失,假定该值为 0。 ID语句 ID variablelist。 对 UNIVARIATE过程产生的输出数据集增加一个或几个附加变量,目的在于识别输出数据集里的观测。 在输出数据集里,某个观测的 ID变量值规定为生成这个观测的数据集中相应观测。 组里 ID变量具有的最大值,除非在 PROC UNIVARIATE语句的选项中指定 IDMIN。 如果有两个以上 ID变量,这个最大值的选择是对输入数据集的相应观测组中的每个观测,这些 ID变量组合成一个值的最大值。 OUTPUT语句 OUTPUT OUT=OUT=SASdatasetstatistickeyword1=name(s) ... statistickeywordn=name(s) percentilesspecification。 要求 UNIVARIATE过程把计算的描述统计量输出到新的 SAS数据集里 , keyword为统计量关键词 , names为存放输出统计量的变量名称。 statistickeywordlist选项就是单变量过程 UNIVARIATE可以计算的描述统计量。 规定的关键词可以分为四类: 描述统计量关键词; 分位数关键词; 稳健估计量关键词; 假设检验关键词。 单变更量过程输出全部均值过程的描述统计量与分位数。 应用举例 例 应用单变量过程进行多变量分析。 options nodate pageno=1 linesize=80 pagesize=72。 proc univariate data=。 var citypop_90 citypop_80。 title 39。 United States Census of Population and Housing39。 run。 例 规定四舍五入单位并识别极端值。 options nodate pageno=1 linesize=80 pagesize=68。 proc univariate data= freq round=1 nextrobs=2 nextrval=4。 var citypop_90。 id region state。 title 39。 United States Census of Population and Housing39。 run。 例 多变量时创建输出数据集。 options nodate pageno=1 linesize=80 pagesize=60。 proc univariate data= noprint。 var test1 test2。 output out=teststat mean=MeanTest1 MeanTest2 std=StdDeviationTest1 pctlpts= 66 pctlpre=Test1_ Test2_ pctlname=Low。 run。 proc print data=teststat noobs。 title1 39。 Univariate Statistics for Two College Tests39。 title2 39。 Output Data Set from PROC UNIVARIATE39。 run。 例 拟合密度曲线。 options nodate pageno=1 linesize=80 pagesize=60。 goptions htitle=4 htext=3 ftext=swissb ftitle=swissb。 data distrdata。 drop n。 label normal_x=39。 Normal Random Variable39。 exponential_x=39。 Exponential Random Variable39。 do n=1 to 100。 normal_x=10*rannor(53124)+50。 exponential_x=ranexp(18746363)。 output。 end。 run。 proc univariate data=distrdata noprint。 var Normal_x。 histogram Normal_x /normal(noprint) cbarline=grey。 title 39。 100 Obs Sampled from a Normal Distribution39。 run。 proc univariate data=distrdata noprint。 var Exponential_x。 histogram /exp(fill l=3) cfill=yellow midpoints=.05 to by .25。 title 39。 100 Obs Sampled from an Exponential Distribution39。 run。 利用极大似然方法估计出未知参数 后,写出 方程为: () () tt incu m 0 5 167。 极大似然估计量的计算方法 极大似然估计量的计算方法有许多种 , 有解析方法 , 也有数值解法。 设 = (1, 2, … , n )是待求的未知参数向量 , 如例 中 = (, , 2) , 异方差例子中 = ( , 2, )。 首先求极大似然估计的迭代公式。 为求极大似然估计 , 需要求解 () 设 是超参数向量的精确值 , 采用 Taylor展开式 , 取一次近似 , 并设 表示参数空间上的任意一点 , 则可将 lnL(y。 )/ 表示成 () 0)。 (ln ψyψ Lψ~ψˆ0)ˆ~(lnlnlnˆ2ˆ~ψψψψψψ ψψψψLLL令其为 0, 可得 () 于是得到 迭代公式 () ψψψψψψψψˆ1ˆ2 lnlnˆ~ LL)()(lnln12)()1(llLLllψψψψ ψψψψψ 求 (l) ( l = 1, 2, … ) , 它的收敛值 () 为所求的极大似然估计。 式 ()中对数似然函数的 二阶导数矩阵 2lnL/ 被称为海塞 (Hessian)矩阵 , 而对数似然函数的 一阶导数 lnL/ 被称为得分向量或 Jacobian向量。 计算式 ()中的海塞 (Hessian)矩阵的逆矩阵 , 计算量是很大的。 计算式 ()的方法有多种 , 近似的方法可节省时间但缺少严密性 , 而严密的方法又有计算时间长的缺点。 实际应用中要根据所用计算机的功能选择适当的方法。 ψψ ~lim ll 1. 解析导数 默认情形下 , 当极大化似然函数和形成标准差的估计时 , EViews计算似然函数关于参数的数值微分。 也可以用 @deriv语句为一个或多个导数指定解析表达式 , 该语句格式为: @deriv pname1 sname1 pname2 sname2 ... 这里 pname是模型中的一个参数名称,而 sname是由模型产生的对应的导数序列的名称。 例如 @deriv c(1) grad1 c(2) grad2 c(3) grad3 grad1=xa/d grad2=grad1*x1 grad3=grad2*x2 2. 导数步长 如果模型的参数没有指定解析微分 , EViews将用数值方法来计算似然函数关于这些参数的导数。 在计算导数时的步长由两个参数控制: r (相对步长 )和 m( 最小步长 )。 用 (i) 表示参数 在第 i 次迭代时的值 , 那么在第 i +1 次迭代时的步长由下式定义: 双侧数值微分 被定义为: ),m a x ( )()1( mrs ii )1()1()()1()(2)(l o g)(l o g)(l o g iiiiii ssLsLL ψ而 单侧数值微分 则由下式计算: () 这里 logL 是似然函数。 双侧导数更加精确 , 但它要对似然函数进行的计算量大概是单侧导数的两倍 , 运行时间上也是如此。 )1()()1()( )(l o g)(l o g)(l o g iiiii sLsLL ψ @derivstep可以用来控制步长和在每次迭代时计算导数的方法。 关键字 @derivstep后面必须设置三项:参数名( 或用关键字 @all代替 ) ;相对步长;最小步长。 默认设置 ( 近似的 ) 为: @derivstep(1) @all 1e10 这里括弧里的“1”表示用的是单侧导数,而 @all关键字表示设置的步长适用于所有参数。 @all后面第一个数值是相对步长,第二个数值是最小步长。 默认的相对步长为 r= 108 ,而最小步长为 m= 1010。 167。 估 计 一旦定义了一个似然对象 , 可以用 EViews来寻找使得似然函数取极大值的参数值。 只需在似然窗口工具栏中单击 Estimate就可以打开估计对话框。 在这个对话框里有许多用来控制估计过程不同方面的选项。 大多数问题使用默认设置就可以。 单击 OK, EViews将用当前的设置开始估计。 1. 初值 由于 EViews使用迭代法来求极大似然估计 , 初值的选择就显得非常重要了。 对于似然函数只有一个极大值的问题 , 只是经过多少次迭代使估计收敛的问题。 对于那些多个极大值的似然函数所面临的问题是决定选择极大值中哪一个。 在某些情况下 , 如果不给出合理的初值 ,EViews将无法作出估。sas编程技术统计量计算(编辑修改稿)
相关推荐
a=nobs。 set nobs=nobs。 if _n_=a。 run。 如何找数据集的最后一个观测值: data a。 set nobs=nobs。 if _N_=NOBS。 run。 找数据集最后一个观测值更简单的方法: data a。 set end=obs_last。 if obs_last=1。 run。 输出数据集的最后一个观测值: data a。 set End=lastobs。
column endcolumn .decimals @ | @@。 INPUT pointercontrol variable=informat. @ | @@。 其中: variable=规定用于 INPUT语句读入的变量名。 例 使用命名输入格式。 data a。 input date yymmdd10. fullshr stkcd=$ lstknm=$。 cards。 20200118
窗转换为数据集格式: PROC ACCESS VIEWDESC=数据视窗名 OUT=数据集名。 例 ACCESS过程将数据视窗转换为数据集。 PROC ACCESS VIEWDESC=s000001 OUT=stk000001。 Run。 通过 ODBC ODBC(Open Database Connectivity)技术是由微软提供的一个应用程序 (API)接口标准。
设,其中一种非常特殊的假设就是平稳性的假设。 通常一个平稳时间序列能够有效地用其均值、方差和自相关函数加以描述。 本章首先通过讨论回归方程扰动项通常会存在的序列相关性问题,介绍如何应用时间序列数据的建模方法,修正扰动项序列的自相关性。 进一步讨论时间序列的自回归移动平均模型( ARMA模型),并且讨论它们的具体形式、估计及识别方法。 由于传统的时间序列模型只能描述平稳时间序列的变化规律
这一部分属于动态计量经济学的范畴。 通常是运用时间序列的过去值 、 当期值及滞后扰动项的加权和建立模型 , 来 “ 解释 ” 时间序列的变化规律。 在时间序列模型的发展过程中,一个重要的特征是对统计均衡关系做某种形式的假设,其中一种非常特殊的假设就是平稳性的假设。 通常一个平稳时间序列能够有效地用其均值、方差和自相关函数加以描述。 本章首先通过讨论回归方程扰动项通常会存在的序列相关性问题
范围内的观测 Where x between 1 and 5。 where 1=x=5。 例 不能用 WHERE语句的情况 data a。 set。 where _n_100。 /*错误语句,必须用 if */ run。 data a。 set。 if _n_100。 run。 例中,不能用 WHERE语句控制 SAS的自动变量。 OUTPUT语句