Unit42StatWord文件下载.docx

上传人:b****1 文档编号:3098158 上传时间:2023-05-01 格式:DOCX 页数:26 大小:137.85KB
下载 相关 举报
Unit42StatWord文件下载.docx_第1页
第1页 / 共26页
Unit42StatWord文件下载.docx_第2页
第2页 / 共26页
Unit42StatWord文件下载.docx_第3页
第3页 / 共26页
Unit42StatWord文件下载.docx_第4页
第4页 / 共26页
Unit42StatWord文件下载.docx_第5页
第5页 / 共26页
Unit42StatWord文件下载.docx_第6页
第6页 / 共26页
Unit42StatWord文件下载.docx_第7页
第7页 / 共26页
Unit42StatWord文件下载.docx_第8页
第8页 / 共26页
Unit42StatWord文件下载.docx_第9页
第9页 / 共26页
Unit42StatWord文件下载.docx_第10页
第10页 / 共26页
Unit42StatWord文件下载.docx_第11页
第11页 / 共26页
Unit42StatWord文件下载.docx_第12页
第12页 / 共26页
Unit42StatWord文件下载.docx_第13页
第13页 / 共26页
Unit42StatWord文件下载.docx_第14页
第14页 / 共26页
Unit42StatWord文件下载.docx_第15页
第15页 / 共26页
Unit42StatWord文件下载.docx_第16页
第16页 / 共26页
Unit42StatWord文件下载.docx_第17页
第17页 / 共26页
Unit42StatWord文件下载.docx_第18页
第18页 / 共26页
Unit42StatWord文件下载.docx_第19页
第19页 / 共26页
Unit42StatWord文件下载.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Unit42StatWord文件下载.docx

《Unit42StatWord文件下载.docx》由会员分享,可在线阅读,更多相关《Unit42StatWord文件下载.docx(26页珍藏版)》请在冰点文库上搜索。

Unit42StatWord文件下载.docx

(42.3)

式中,

,即

阶差分后序列等于原来序列的若干序列值的某种加权和。

特别当

模型中的参数

取一些特殊值时,可以转换成一些常见模型,例如,当

时,就是

模型;

时,为

时,

模型为

,被称为随机游走模型,或称醉汉模型,是有效市场理论的核心,常应用于投机价格走势的模拟。

2.ARIMA模型的建模步骤

Box和Jenkins描述了建立ARIMA模型的三个阶段:

识别阶段、估计阶段和预测阶段。

如图42.1所示。

(1)识别阶段

使用identify语句来指定响应变量序列并且识别候选ARIMA模型。

identify语句读入后面语句中用到的时间序列,一般先对序列进行非线性、差分和平稳性检验,可能对序列进行差分,然后计算自相关系数ACF、逆自相关系数IACF、偏自相关系数PACF和互相关系数。

此阶段的输出通常会建议一个或多个可拟合的ARIMA模型。

如果模型确定,还可以检验样本自相关系数SACF和样本偏自相关系数SPACF,以分出模型的类型。

(2)估计阶段

使用estimate语句来指定ARIMA模型去拟合在前面identify语句中指定的响应变量,并且估计该模型的参数。

estimate语句也生成诊断统计量从而帮助判断该模型的适用性。

关于参数估计值的显著性检验可以指出模型里的一些项是否不需要。

拟合优度统计量

可帮助比较该模型和其他模型的优劣。

关于白噪声残差检验可指明残差序列是否包含可被其他更复杂模型采用的额外信息。

如果诊断检验表明模型不适用,则可尝试另一个模型然后重复估计和诊断。

(3)预测阶段

使用forecast语句来预测时间序列的未来值,并对这些来自前面estimate语句生成的ARIMA模型的预测值产生置信区间。

图42.1Box-Jenkins法建模过程示意图

2、ARIMA过程

SAS/ETS软件中的ARIMA过程是集一元时间序列模型判定、参数估计和预测为一体的多功能综合工具。

它是采用Box-Jenkins方法建立ARIMA模型。

当ARIMA模型包括其他时间序列作为输入变量时,该模型有时也被称为ARIMAX模型。

ARIMA模型还支持干预或中断时间序列模型,误差的多元回归分析,任意复杂程度的有理转移函数模型。

ARIMA模型有三个参数(p,d,q),这里p指模型的自回归部分的阶数,d指序列差分的次数,q指模型平均移动部分的次数。

该过程通常分三个阶段进行:

首先识别序列,然后估计和诊断检验模型,最后进行预测。

ARIMA过程一般由下列语句控制:

procarimadata=时间序列数据集out=输出预测值数据集;

where条件表达式;

identifyvar=变量(…)<

选项列表>

;

estimate<

;

forecast<

run;

where语句的作用是指定用于分析的时间间隔,通常条件表达式是有关日期的条件表达式,例如,‘31dec98’d<

day<

‘31dec99’d,其中day是输入数据集中的日期变量。

1.identify语句中的<

指定了构造模型的时间序列变量,可以将identify语句缩写为i。

identify语句主要完成时间序列的差分计算、样本ACF、IACF和PACF函数的计算、卡方检验统计量和白噪声自相关检验的p值的计算。

它的主要选项有:

●var=变量(d1,d2,…,dk)——指明含有要分析的时间序列的变量名,按括号内列出的差分周期列表来计算时间序列的滞后差分,是必选项。

例如,var=X

(1)为对滞后1项的序列差分,即Xt-Xt-1。

var=X

(2)为对滞后2项的序列差分,即Xt-Xt-2。

var=X(1,1)为X进行二阶差分,即(Xt-Xt-1)-(Xt-1-Xt-2)。

●nlag=数字——指明计算自相关的滞后数,其值应大于p+d+q,小于观测数,默认值为24。

●noprint——不输出结果。

●crosscorr=(干预变量(d1))——列出有var=指定的响应序列的交叉相关变量。

干预变量在交叉相关变量中。

交叉相关变量的差分由圆括号内的差分滞后确定。

2.estimate语句中的<

该语句对已执行的identify语句中的响应变量规定一个模型,可以缩写为e。

定义模型的主要选项有:

●p=(p1,p2,…)…(p1,p2,…)——定义一个在p中指定的滞后处具有自回归参数的模型,p的默认值为0。

●q=(q1,q2,…)…(q1,q2,…)——定义一个在q中指定的滞后处具有滑动平均参数的模型,q的默认值为0。

如果p=和q=都没有指定,则拟合随机模型。

●noconstant——在模型中舍弃常数项μ。

●noint——在该模型中不拟合截距参数。

●method=ml/uls/cls——指定估计时使用的方法。

ml为极大似然估计方法,uls为无条件最小二乘法,cls为有条件最小二乘法。

默认值为cls。

●outest=数据集名——将参数估计值输出到指定的数据集。

●outmode=数据集名——将模型和参数估计值输出到指定的数据集。

●outstat=数据集名——将模型诊断统计量输出到指定的数据集。

●plot——可以绘制残差自回归函数等。

3.forecast语句中的<

该语句利用estimate语句所产生的参数估计生成时间序列的预测值。

可以缩写为f。

主要选项有:

●alpha=——设置预测置信限的大小。

上下置信限的置信水平为1-。

的默认值为5%。

●lead=n——指定要计算的多步向前预测值的次数。

默认值为24。

●back=n——指定在数据末尾前n个观测值开始进行分步预测。

默认值为0。

●interval=时间间隔——指定观测之间的时间间隔。

常用的时间间隔为year(年)、qtr(季)、month(月)、week(周)、weekday(工作日)、day(天)、hour(小时)、minute(分)和second(秒)。

●id=变量名——指明输入数据集中一个变量,用于识别与观测有关的时间周期。

●noprint——取消打印输出。

●out=数据集名——将预测值和其他值输出到一个指定的数据集中。

data步中的rename选项可用来重新命名预测值和上下置信限的变量名。

3、实例分析

例42.1建立国际航线旅客月度人数的ARIMA模型。

我们已有一组1949年至1961年国际航线旅客月度人数的144条记录。

使用ARIMA过程进行建模和预测。

其数据列于表42.1。

表42.11949年至1961年国际航线旅客月度人数

YEAR

1

2

3

4

5

6

7

8

9

10

11

12

1949

112

118

132

129

121

135

148

136

119

104

1950

115

126

141

125

149

170

158

133

114

140

1951

145

150

178

163

172

199

184

162

146

166

1952

171

180

193

181

183

218

230

242

209

191

194

1953

196

236

235

229

243

264

272

237

211

201

1954

204

188

227

234

302

293

259

203

1955

233

267

269

270

315

364

347

312

274

278

1956

284

277

317

313

318

374

413

405

355

306

271

1957

301

356

348

422

465

467

404

305

336

1958

340

362

363

435

491

505

359

310

337

1959

360

342

406

396

420

472

548

559

463

407

1960

417

391

419

461

535

622

606

408

390

432

1.建立数据集和绘制原始时间序列图

首先,输入要分析的时间序列的数据,建立SAS数据集。

为了识别时间序列的数据是否平稳和是否明显有季节性,通常先制作时间序列图来观察分析,程序如下:

goptionsreset=globalgunit=pctcback=whiteborder

htitle=6htext=3ftext=swissbcolors=(black);

dataarimad01;

date=intnx('

month'

'

31dec1948'

d,_n_);

inputx@@;

cards;

112118132129121135148148136119104118

115126141135125149170170158133114140

………

417391419461472535622606408461390432

procprintdata=arimad01;

procgplotdata=arimad01;

plotx*date/vaxis=axis1haxis=axis2href='

31dec1949'

dto'

1jan61'

dbyyear;

symbol1i=joinv=ch=2.5l=1font=swissb;

axis1label=('

Passenger'

)order=(100to650by50);

axis2label=('

Month'

)order=('

1jan49'

dbyyear);

formatdatemonyy.;

title1'

TimeSerialChart'

run;

2.对平稳性和季节性的识别

对平稳性和季节性的识别通常有直接估计和利用procarima中identify语句两种方法,或两者结合起来一起判断。

●直接估计平稳性。

直接估计就是通过直接观察时间序列折线图来检验序列是否平稳。

如果时间序列有某种趋势或呈现出增加或减少范围的扩散现象,则序列是不平稳的。

●利用procarima估计平稳性。

如果序列的折线图并不明显地呈现上述现象,而我们又无法直接判断序列究竟平稳与否,通常可以利用procarima过程的identify语句来检测序列是否平稳。

程序如下:

procarimadata=arimad01;

identifyvar=x;

提交程序运行后,部分结果如表42.2所示。

表42.2原始序列x的自相关图

ARIMAProcedure

Nameofvariable=X.

Meanofworkingseries=279.6042

Standarddeviation=118.5103

Numberofobservations=144

Autocorrelations

LagCovarianceCorrelation-198765432101234567891Std

014044.6841.00000||********************|0

113197.3930.93967|.|*******************|0.083333

212200.0630.86866|.|*****************|0.138593

311246.5270.80077|.|****************|0.172303

410623.1720.75638|.|***************|0.196454

510074.6840.71733|.|**************|0.215732

69645.0370.68674|.|**************|0.231705

79394.7810.66892|.|*************|0.245433

89272.1920.66019|.|*************|0.257782

99499.5540.67638|.|**************|0.269268

109983.6000.71085|.|**************|0.280819

1110531.7770.74988|.|***************|0.293049

1210738.1850.76457|.|***************|0.306084

139989.4960.71127|.|**************|0.319071

149049.6580.64435|.|*************|0.329898

158238.9880.58663|.|************.|0.338525

167589.3550.54037|.|***********.|0.345512

177059.3600.50264|.|**********.|0.351332

186608.5100.47053|.|*********.|0.356291

196382.9640.45448|.|*********.|0.360581

206252.5270.44519|.|*********.|0.364537

216491.4100.46220|.|*********.|0.368293

226871.2510.48924|.|**********.|0.372299

237332.8700.52211|.|**********.|0.376738

247517.1860.53523|.|***********.|0.381729

"

."

markstwostandarderrors

观察在表42.2中程序输出的有关时间序列变量x的自相关系数ACF和ACF图,发现自相关系数长期位于零轴正的一边,这是具有单调递增趋势序列的典型特征,同时自相关图呈现出明显的正弦波动规律,这是具有周期变化规律的非平稳序列的典型特征。

自相关图显示出来的这两个性质和该序列时序图显示出的带长期递增趋势的周期性质是非常吻合的。

一般来说,如果ACF缓慢地向零趋近,而几个时滞的ACF却相当大,那么序列也许不平稳。

对于不同的时间序列类型,它们相应ACF的特性有:

●若时间序列是随机无趋势的,所有时滞的自相关系数都等于0。

●若时间序列是上升或下降趋势的,那么对于短时滞来说,自相关系数大且为正,而且随着时滞lag的增加而缓慢地下降。

ACF本身似乎随着时滞长度的增加而呈下降趋势。

●若时间序列无趋势但具有季节性,那么对于按月(L=12)采集的数据来说,时滞12,24,…的自相关系数达到最大(即nL处),而随着时滞长度增加时,变得较小。

●若时间序列有趋势且具有季节性,那么自相关系数特性类同于有趋势序列,但是它们是摆动的,对于按月的数据,在时滞12,24…等处具有峰态。

●若时间序列是平稳的,它具有正自相关的误差项,那么低阶的自相关系数较大,但是随着时滞长度的增加而迅速地衰减。

另外,在ACF图中,通过自相关系数值的图示是否在零点附近的两条对称的虚线之内,完成不同时滞的总体自相关系数为0的检验。

3.变换不平稳序列为平稳序列

如果断定一个时间序列是不平稳的,通常可以作一些简单的变换或修正,使其减少趋势或平稳化。

然后对变换后的新序列建模预测,可以避免将数据拟合成更复杂的模型。

最常用的变换方法有:

●如果时间序列呈线性趋势,均值不是常数,利用一阶差分将产生一个平稳序列。

●如果时间序列呈二次趋势,均值不是常数,利用二阶差分将产生一个平稳序列。

●如果时间序列呈现出随时间的上升或下降而偏差、方差不是常数,通常可利用取自然对数转化为平稳序列。

●如果时间序列呈现指数趋势,均值和方差都不是常数,通常也可利用取自然对数转化为平稳序列。

●如果时间序列呈现“相对环”趋势,通常将数据除以同时发生的时间序列的相应值转化为平稳序列。

(1)取对数消除振幅变大趋势

从原始时间序列的折线图中观察发现,该序列具有季节性变化同时有增大的趋势,而且季节变化的振幅越来越大,再观察ACF图和自相关系数也得到相同的结论。

因此,我们可以对这批数据取对数来先消除增幅越来越大的现象。

另外,数据呈现每隔12个时间单位为一个周期的季节性。

为了便于比较,我们将原始时间序列和消除增幅后的时间序列按12个时间单位的间隔绘制在一张图表上。

dataarimad02;

setarimad01;

xlog=log(x);

procprintdata=arimad02;

procgplotdata=arimad02;

plotxlog*date/vaxis=axis1haxis=axis2

href='

plot2x*date/vaxis=axis3vref=100;

symbol1i=joinv=ch=3l=1r=1font=swissbc=green;

symbol2i=joinv=ch=3l=1r=1font=swissbc=blue;

axis1label=('

Log'

)order=(4.5to6.5by0.2)offset=(0,45);

12Month'

axis3label=('

)order=(100to650by50)offset=(23,0);

TimeSerialLogChart'

提交程序运行后,结果如图42.2所示。

图42.2对原始数据序列取对数以消除变大的季节震幅

(2)取两次差分消除季节增长趋势

从图42.2中可见,对原始时间序列取对数变换后的新序列,明显呈现季节性的增长的趋势,仔细分析每12个单位的周期后发现还有增长趋势。

所以,需要对这个新序列数据再进行滞后一次和滞后12次共两次差分,最终转换为平稳序列。

同样为了便于比较,我们仍然在一张图上绘制转换前的时间序列和转换后的最终的平稳时间序列。

dataarimad03;

setarimad02;

dif12=dif1(xlog)-(lag1(xlog)-lag12(xlog));

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2