注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

数据挖掘

学习数据挖掘

 
 
 

日志

 
 

SAS/ETS模块下的宏命令(BOXCOXAR宏命令)  

2013-07-05 13:14:48|  分类: SAS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
经常用的宏命令:

%AR
%BOXCOXAR
%DEPVALUE
%DFTEST
%LOGTEST
%MA
%PDL

其中%AR  %MA  %PDL只能在proc model过程中使用

BOXCOXAR宏命令
%BOXCOXAR宏命令 为时间序列寻找最优的BOX-COX变换.

概述

因变量的变化对于处理非线性和异方差常常是有用的,例:对数变化常被用于具有指数增长的时间序列建模.
box-cox 变换是一类通用的功率变换,它包含对数变换和无变换作为特殊情况. Box-Cox变换:

SAS/ETS模块下的宏命令(BOXCOXAR宏命令) - 小坏 - Do  What

 其中参数lamda 控制变换的形状,例如lamda=0时生成对数变换,lamda=0.5生成平方根变换.当lamda=1时,只是c-1的平移.
常数c是可选择的,当某些Xt取负值或接近0时,就要使用c.   c应当使得对所有的t,Xt总是大于-c

%BOXCOXAR宏命令试着求lamda值,以及由该值产生的最佳box-cox变换, 为找到这样的lamda值,%boxcoxar宏命令用每个lamda值对时间序列进行变换,然后对每个变换后的序列,拟合AR模型. 这里要假定对应的时间序列经适当的变换后,可用一个AR模型进行拟合, 在每个AR模型下,都计算数据的似然函数,产生最大似然函数的lamda值就对应该时间序列的最优box-cox变换.

可以控制lamda的计算范围,也可以用于拟合变换后的序列的AR模型的阶数, 同样可以在拟合AR模型前先对序列进行差分运算.
语句说明

%boxcoxar宏命令有如下形式:
  %BOXCOXAR(SAS-data-set,variable,[options])
其中 sas-data-set是数据集名,含有待分析的数据序列数据, variable 是待分析的时间序列变量名,这两个变量时必须的.
  %BOXCOXAR 可以使用下面的选项.选项必须紧跟在需要它的变量之后并用逗号分开
1,AR=n 指定拟合变换后的时间序列AR模型的阶数,缺省是AR=5.
2,const=values  指定一常数c 在变换前将c加在序列上,当序列中存在负数或0时,要使用const=value,缺省时const=0.
3,dif=(differencing-list) 指定差分阶数,该差分运算在拟合AR模型前用于变换后的序列. differencing-list是用逗号分开的并括在括号里面的一组正整数.
4,lambdahi=value(值) 指定lamda 进行网格搜索时的最大lamda值,缺省时是lamda=1
5,lambdalo=value(值) 指定lamda 进行网格搜索时的最小lamda值,缺省时是lamda=0
6,Nlamda=n--指定要考虑的lamda的值得个数,包括最大值和最小值.
7,out=sas-data-set 吧计算结果写入结果集,包含lamda值,以及每个lamda值对应的一些统计 模型指标 AIC  SBC等
8,print=yes/no --指定是否打印计算结果
4, 结果
产生最大对数似然的lamda值在宏变量&boxcoxar中被返回,如果宏命令%boxcoxar不能计算关于误差的最佳变换,那么变量&boxcoxar返回error.
除非指定选项print=no 否则打印结果,当指定选项out=时,结果被存储在SAS数据集中.
SAS/ETS模块下的宏命令(BOXCOXAR宏命令) - 小坏 - Do  What
 

  评论这张
 
阅读(319)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017