R语言学习知识进行ARIMA分析.doc

上传人:小** 文档编号:2540289 上传时间:2020-04-19 格式:DOC 页数:11 大小:171.53KB
返回 下载 相关 举报
R语言学习知识进行ARIMA分析.doc_第1页
第1页 / 共11页
R语言学习知识进行ARIMA分析.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《R语言学习知识进行ARIMA分析.doc》由会员分享,可在线阅读,更多相关《R语言学习知识进行ARIMA分析.doc(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-*R学习日记时间序列分析之ARIMA模型预测今天学习ARIMA预测时间序列。指数平滑法对于预测来说是非常有帮助的,而且它对时间序列上面连续的值之间相关性没有要求。但是,如果你想使用指数平滑法计算出预测区间, 那么预测误差必须是不相关的, 而且必须是服从零均值、 方差不变的正态分布。即使指数平滑法对时间序列连续数值之间相关性没有要求,在某种情况下, 我们可以通过考虑数据之间的相关性来创建更好的预测模型。自回归移动平均模型( ARIMA) 包含一个确定(explicit) 的统计模型用于处理时间序列的不规则部分,它也允许不规则部分可以自相关。首先,先确定数据的差分。ARIMA 模型为平稳时间序列

2、定义的。 因此, 如果你从一个非平稳的时间序列开始, 首先你就需要做时间序列差分直到你得到一个平稳时间序列。如果你必须对时间序列做 d 阶差分才能得到一个平稳序列,那么你就使用ARIMA(p,d,q)模型,其中 d 是差分的阶数。我们以每年女人裙子边缘的直径做成的时间序列数据为例。从 1866 年到 1911 年在平均值上是不平稳的。 随着时间增加, 数值变化很大。 skirts skirtsts plot.ts(skirtsts)我们可以通过键入下面的代码来得到时间序列(数据存于“skirtsts”) 的一阶差分, 并画出差分序列的图: skirtstsdiff plot.ts(skirts

3、tsdiff)从一阶差分的图中可以看出,数据仍是不平稳的。我们继续差分。 skirtstsdiff2 plot.ts(skirtstsdiff2)二次差分(上面)后的时间序列在均值和方差上确实看起来像是平稳的, 随着时间推移, 时间序列的水平和方差大致保持不变。因此, 看起来我们需要对裙子直径进行两次差分以得到平稳序列。第二步,找到合适的ARIMA模型如果你的时间序列是平稳的,或者你通过做 n 次差分转化为一个平稳时间序列, 接下来就是要选择合适的 ARIMA模型,这意味着需要寻找 ARIMA(p,d,q)中合适的 p 值和 q 值。为了得到这些,通常需要检查平稳时间序列的(自)相关图和偏相关

4、图。我们使用 R 中的“acf()”和“pacf” 函数来分别( 自) 相关图和偏相关图。“acf()”和“pacf 设定“plot=FALSE” 来得到自相关和偏相关的真实值。 acf(skirtstsdiff2,lag.max=20) acf(skirtstsdiff2,lag.max=20,plot=FALSE)Autocorrelations of series skirtstsdiff2, by lag0 1 2 3 4 5 6 7 8 9 101.000 -0.303 0.096 0.009 0.102 -0.453 0.173 -0.025 -0.039 0.073 -0.094

5、11 12 13 14 15 16 17 18 19 200.133 -0.089 -0.027 -0.102 0.207 -0.260 0.114 0.101 0.011 -0.090自相关图显示滞后1阶自相关值基本没有超过边界值,虽然5阶自相关值超出边界,那么很可能属于偶然出现的,而自相关值在其他上都没有超出显著边界, 而且我们可以期望 1 到 20 之间的会偶尔超出 95%的置信边界。 pacf(skirtstsdiff2,lag.max=20) pacf(skirtstsdiff2,lag.max=20,plot=FALSE)Partial autocorrelations of se

6、ries skirtstsdiff2, by lag1 2 3 4 5 6 7 8 9 10 11-0.303 0.005 0.043 0.128 -0.439 -0.110 0.073 0.028 0.128 -0.355 0.09512 13 14 15 16 17 18 19 200.052 -0.094 -0.103 -0.034 -0.021 -0.002 0.074 0.020 -0.034偏自相关值选5阶。故我们的ARMIA模型为armia(1,2,5) skirtsarima skirtsarimaSSeries: skirtstsARIMA(1,2,5) Coefficien

7、ts:ar1 ma1 ma2 ma3 ma4 ma5-0.4345 0.2762 0.1033 0.1472 0.0267 -0.8384s.e. 0.1837 0.2171 0.2198 0.2716 0.1904 0.2888sigma2 estimated as 206.1: log likelihood=-183.8AIC=381.6 AICc=384.71 BIC=394.09预测后5年裙子的边缘直径 skirtsarimaforecast skirtsarimaforecastPoint Forecast Lo 99.5 Hi 99.51912 548.5762 507.1167

8、590.03571913 545.1793 459.3292 631.02951914 540.9354 396.3768 685.49401915 531.8838 316.2785 747.48921916 529.1296 233.2625 824.9968plot.forecast(skirtsarimaforecast$residuals) #谢谢忆水如烟的指正第三步,检验在指数平滑模型下, 观察 ARIMA 模型的预测误差是否是平均值为 0 且方差为常数的正态分布(服从零均值、方差不变的正态分布) 是个好主意,同时也要观察连续预测误差是否(自)相关。 acf(skirtsarima

9、forecast$residuals,lag.max=20) Box.test(skirtsarimaforecast$residuals, lag=20, type=Ljung-Box)Box-Ljung testdata: skirtsarimaforecast$residualsX-squared = 8.5974, df = 20, p-value = 0.9871既然相关图显示出在滞后1-20阶(lags1-20)中样本自相关值都没有超出显著(置信)边界,而且Ljung-Box检验的p值为0.99,所以我们推断在滞后1-20阶(lags1-20)中没明显证据说明预测误差是非零自相关的

10、。为了调查预测误差是否是平均值为零且方差为常数的正态分布(服从零均值、方差不变的正态分布),我们可以做预测误差的时间曲线图和直方图(具有正态分布曲线): plot.ts(skirtsarimaforecast$residuals) plotForecastErrors(skirtsarimaforecast$residuals)上图预测中的时间曲线图显示出对着时间增加,方差大致为常数(大致不变)(尽管上半部分的时间序列方差看起来稍微高一些)。时间序列的直方图显示预测误大致是正态分布的且平均值接近于 0(服从零均值的正态分布的)。因此,把预测误差看作平均值为0方差为常数正态分布(服从零均值、方差不变的正态分布)是合理的。既然依次连续的预测误差看起来不是相关,而且看起来是平均值为 0 方差为常数的正态分布(服从零均值、方差不变的正态分布),那么对于裙子直径的数据, ARIMA(1,2,5)看起来是可以提供非常合适预测的模型。至此,时间序列的学习结束

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com