时间序列模型_时间序列算法模型-程序员宅基地

技术标签: R  数据  

kings<-scan("http://robjhyndman.com/tsdldata/misc/kings.dat",skip=3)
#读入时间序列数据,忽略前三行
kings
kingstimeseries<-ts(kings)#将数据存储到一个时间序列对象中去

births<-scan("http://robjhyndman.com/tsdldata/data/nybirths.dat")
births
birthstimeseries<-ts(births,frequency=12,start=c(1946,1))
birthstimeseries

souvenir<-scan("http://robjhyndman.com/tsdldata/data/fancy.dat")
souvenirtimeseries<-ts(souvenir,frequency=12,start=c(1987,1))
souvenirtimeseries

plot.ts(kingstimeseries)#可用相加模型来描述,
plot.ts(birthstimeseries)#
plot.ts(souvenirtimeseries)#相加模型不适合描述,季节性波动和随机变动的大小随时间序列逐步上升
logsouvenirtimeseries<-log(souvenirtimeseries)#自然对数转换
plot.ts(logsouvenirtimeseries)

library("TTR")
kingstimeseriesSMA3<-SMA(kingstimeseries,n=3)#跨度为3的简单移动平均平滑
plot.ts(kingstimeseriesSMA3)
kingstimeseriesSMA8<-SMA(kingstimeseries,n=8)#跨度为3的简单移动平均平滑
plot.ts(kingstimeseriesSMA8)

birthstimeseriescomponents<-decompose(birthstimeseries)
birthstimeseriescomponents$seasonal#季节
birthstimeseriescomponents$trend#趋势
birthstimeseriescomponents$random#随机
plot(birthstimeseriescomponents)

birthstimeseriesseasonallyadjusted<-birthstimeseries-birthstimeseriescomponents$seasonal
plot(birthstimeseriesseasonallyadjusted)
#使用指数平滑法进行预测
#简单指数平滑法
rain<-scan("http://robjhyndman.com/tsdldata/hurst/precip1.dat",skip=1)
rainseries<-ts(rain,start=c(1813))
plot.ts(rainseries)

rainseriesforecasts<-HoltWinters(rainseries,beta=FALSE,gamma=FALSE)
rainseriesforecasts

rainseriesforecasts$fitted#预测值
plot(rainseriesforecasts)
rainseriesforecasts$SSE

library("forecast")
rainseriesforecasts2<-forecast.HoltWinters(rainseriesforecasts,h=8)
plot.forecast(rainseriesforecasts2)
rainseriesforecasts2$residuals

acf(rainseriesforecasts2$residuals,lag.max=20)

plotForecastErrors<-function(forecasterrors)#检验预测误差是均值为零的正态分布
{
  #forecasterrors<-rainseriesforecasts2$residuals
  mybinsize<-IQR(forecasterrors)/4
  mysd<-sd(forecasterrors)
  mymin<-min(forecasterrors)-mysd*3
  mymax<-max(forecasterrors)+mysd*3
  mybins<-seq(mymin,mymax,mybinsize)
  hist(forecasterrors,col="red",freq=FALSE,breaks=mybins)
  mynorm<-rnorm(10000,mean=0,sd=mysd)
  myhist<-hist(mynorm,plot=FALSE,breaks=mybins)
  points(myhist$mids,myhist$density,type="l",col="blue",lwd=2)
}

plotForecastErrors(rainseriesforecasts2$residuals)
#####################################################################
###霍尔特指数平滑法                                               ###
#####################################################################
skirts<-scan("http://robjhyndman.com/tsdldata/roberts/skirts.dat",skip=5)
skirtsseries<-ts(skirts,start=c(1866))
plot.ts(skirtsseries)
skirtsseriesforecasts<-HoltWinters(skirtsseries,gamma=FALSE)
skirtsseriesforecasts
skirtsseriesforecasts$SSE
plot(skirtsseriesforecasts)

skirtsseriesforecasts2<-forecast.HoltWinters(skirtsseriesforecasts,h=19)
plot.forecast(skirtsseriesforecasts2)
acf(skirtsseriesforecasts2$residuals,lag.max=20)
Box.test(skirtsseriesforecasts2$residuals,lag=20,type="Ljung-Box")

plot.ts(skirtsseriesforecasts2$residuals)
plotForecastErrors(skirtsseriesforecasts2$residuals)

#####################################################################
###Holt-Winters指数平滑法                                         ###
#####################################################################
souvenir<-scan("http://robjhyndman.com/tsdldata/data/fancy.dat")
souvenirtimeseries<-ts(souvenir,frequency=12,start=c(1987,1))
souvenirtimeseries
logsouvenirtimeseries<-log(souvenirtimeseries)

souvenirtimeseriesforecasts<-HoltWinters(logsouvenirtimeseries)
souvenirtimeseriesforecasts
souvenirtimeseriesforecasts$SSE
plot(souvenirtimeseriesforecasts)

souvenirtimeseriesforecasts2<-forecast.HoltWinters(souvenirtimeseriesforecasts,h=48)
plot.forecast(souvenirtimeseriesforecasts2)

acf(souvenirtimeseriesforecasts2$residuals,lag.max=20)
Box.test(souvenirtimeseriesforecasts2$residuals,lag=20,type="Ljung-Box")

plot.ts(souvenirtimeseriesforecasts2$residuals)
plotForecastErrors(souvenirtimeseriesforecasts2$residuals)
###################################################################
###ARMA        指数平滑法                                         ###
#####################################################################
skirtsseriesdiff1<-diff(skirtsseries,differences=1)
plot.ts(skirtsseriesdiff1)
skirtsseriesdiff2<-diff(skirtsseries,differences=2)
plot.ts(skirtsseriesdiff2)

kings<-scan("http://robjhyndman.com/tsdldata/misc/kings.dat",skip=3)#读入时间序列数据,忽略前三行
kings
kingstimeseries<-ts(kings)#将数据存储到一个时间序列对象中去
kingstimeseriesdiff1<-diff(kingstimeseries,differences=1)
plot.ts(kingstimeseriesdiff1)
acf(kingstimeseriesdiff1,lag.max=20)#画出相关图
acf(kingstimeseriesdiff1,lag.max=20,plot=FALSE)#取得相关系数
pacf(kingstimeseriesdiff1,lag.max=20)#画出相关图
pacf(kingstimeseriesdiff1,lag.max=20,plot=FALSE)#取得相关系数
auto.arima(kings)
kingstimeseriesarima<-arima(kingstimeseries,order=c(0,1,1))
kingstimeseriesarima
kingstimeseriesforecasts<-forecast.Arima(kingstimeseriesarima,h=5,level=c(99.5))
kingstimeseriesforecasts
plot.forecast(kingstimeseriesforecasts)
acf(kingstimeseriesforecasts$residuals,lag.max=20)
Box.test(kingstimeseriesforecasts$residuals,lag=20,type="Ljung-Box")
plot.ts(kingstimeseriesforecasts$residual)
plotForecastErrors(kingstimeseriesforecasts$residual)


volcanodust<-scan("http://robjhyndman.com/tsdldata/annual/dvi.dat",skip=1)
volcanodustseries<-ts(volcanodust,start=c(1500))
plot.ts(volcanodustseries)
acf(volcanodustseries,lag.max=20)#画出相关图
acf(volcanodustseries,lag.max=20,plot=FALSE)#取得相关系数
pacf(volcanodustseries,lag.max=20)#画出相关图
pacf(volcanodustseries,lag.max=20,plot=FALSE)#取得相关系数
auto.arima(volcanodustseries)

volcanodustseriesarima<-arima(volcanodustseries,order=c(2,0,0))
volcanodustseriesarima
volcanodustseriesforecasts<-forecast.Arima(volcanodustseriesarima,h=31)
volcanodustseriesforecasts
plot.forecast(volcanodustseriesforecasts)
acf(volcanodustseriesforecasts$residuals,lag.max=20)
Box.test(volcanodustseriesforecasts$residuals,lag=20,type="Ljung-Box")
plot.ts(volcanodustseriesforecasts$residual)
plotForecastErrors(volcanodustseriesforecasts$residual)
mean(volcanodustseriesforecasts$residuals)

#

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35606497/article/details/53189642

智能推荐

PBR的理解_pbr中金属贴图的意义-程序员宅基地

文章浏览阅读158次。PBR的理解基于物理的渲染要素贴图基于物理的渲染可以直接基于物理参数写材质,无论光照条件如何,看起来都正确。要素能量守恒光照射到物体上会发生反射、吸收和散射,反射出去的光线永远小于入射光线金属属于导体,反射率高,吸收光而不散射菲涅尔效应光滑的物体,光的入射角越大反射率越高微表面微平面统计了概率上的取向度,与中间向量方向越一致,越得到清晰而集中的镜面反射,否则越宽阔模糊。中间向量:(l v分别为入射向量和反射向量)h=l+v∣l+v∣ h = \frac{l+v}{\mid l+v _pbr中金属贴图的意义

css 兼容性总结,前端兼容性问题总结-程序员宅基地

文章浏览阅读285次。HTML 篇样式兼容性问题怪异模式怪异模式是没有遵守 W3C 规范的一种兼容模式,其中的 width 是包括 contentWidth, 左右padding, 左右border 在内的全部范围(height 也一样),类似于 box-sizing: border-box;,而且 table 的 font-size 不能从父元素继承。以下情况会触发浏览器怪异模式(Quirks Mode):没写 DO..._css content兼容性

TabLayout -----------简单使用_android tablayout无法引用-程序员宅基地

文章浏览阅读295次。这里边用的是tablayout+viewpagerXML:<android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/tab_layout" app:tabSelec..._android tablayout无法引用

前端拖拽改变两个div的宽度_前端拖动宽度-程序员宅基地

文章浏览阅读2.6k次。左右排版的div 容器,可以拖动改变div 宽度的占比。完整代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Resizable Div Container</title> <meta ..._前端拖动宽度

总结了一份嵌入式硬件开发的具体流程-程序员宅基地

文章浏览阅读4.5k次,点赞7次,收藏56次。关注、星标公众号,直达精彩内容来源:网络素材整理:李肖遥传送门: 总结了一份嵌入式产品研发的具体流程之前,我们详细讲述了嵌入式产品的研发流程,那么在这一节,我们具体以嵌入式产品的硬件部分..._电子产品开发流程图 csdn

eclipse新建web项目出现红叉问题解决方法_创建web项目,文件夹上有小红茶-程序员宅基地

文章浏览阅读1.3w次,点赞22次,收藏43次。最近在写web项目的时候,因为换了一台电脑,新建web项目的时候老是上面有个红叉,虽然还是可以正常使用,但对于有强迫症的我来说,简直是一种煎熬,上网搜了一些方法,但都是没作用,最后终于摸索好了,若是当我们遇到的错误是一个类型的时候,希望对大家有所帮助(但是不保证完全解除,因为我上网搜了好几种,试了也都没有用,可能也和电脑有关)鼠标右击项目,打开Properties找到Project Fac..._创建web项目,文件夹上有小红茶

随便推点

学前教育怎么利用计算机思维,乐高教育全新推出编程启蒙小火车锻炼孩子计算机思维...-程序员宅基地

文章浏览阅读360次。(2018年12月12日,上海)乐高教育专为2-5岁儿童设计的全新幼儿教学解决方案——编程启蒙小火车45025,已于今年11月1日全面登陆中国、美国和俄罗斯市场。编程启蒙小火车结合乐高得宝积木和数字元素,培养孩子的创造性思维习惯与能力,让他们在趣味玩乐中学习如何建立新的事物联系,创造新的序列,并在神奇的编程世界中开启自己的第一次探索之旅,鼓励他们探索充满无限可能的世界。专为学前儿童设计的编程..._如何利用互联网思维发展乐高

@Scheduled定时任务重复执行两次_@scheduled 执行了两次-程序员宅基地

文章浏览阅读4.2k次。java @Scheduled定时任务重复执行两次问题描述解决方法问题描述java Maven项目,使用@Scheduled(cron = “0 0/59 * * * ?”) 对定时方法进行了标注,结果该方法在每59分钟执行完后的若干秒中再次执行了一次。同时该项目在Windows本地运行没有问题,部署在服务器后出现重复两次执行情况。搜索了网上很多方法,大多都为 “定时任务xml初始化一次,注..._@scheduled 执行了两次

ROS多机通信SSH远程运行CCMSLAM_ssh 查看主机ros topic-程序员宅基地

文章浏览阅读936次。文章目录1.测试通信设置ROS_MASTER_URI主机rex中断输入:从机nano终端输入:启动CCMSLAM主机rex从机nano查看效果背景:主机(笔记本,用户名rex):安装CCMSLAM。从机(Nano,用户名nano):安装CCMSLAM,并可以驱动CSI摄像头,发布ROS话题。1.测试通信两台设备连到同一个网下,我用的是手机热点。由于我的主机(笔记本)用的是虚拟机,需要把虚拟机网络设置为桥接模式,方法是:虚拟机 ->设置 ->网路适配器 ->桥接模式(自动):在_ssh 查看主机ros topic

开发Unity3D动画性能优化插件_GPU Animation Baker Pro-程序员宅基地

文章浏览阅读2.3k次。GPU Animation Baker Pro- -原理在本插件中,通过对目标模型的骨骼动画数据进行采样,然后将采样后的数据保存到Texture中去,最后通过使用编写好的自定义Shader从这些Texture中读取出动画数据,在渲染阶段进行播放。- -性能对比默认情况下,当我们在屏幕上同时播放大量的skinned mesh蒙皮网格动画之后,会发现帧率很低并且性能很..._animation baker

使用IEEE802.1Q VLAN实现单线复用之牛刀小试篇_sg105 pro单线复用-程序员宅基地

文章浏览阅读1.7w次,点赞5次,收藏45次。家住老城区,联通终于改了光纤,原来入户的电话线和联通宽带网线废弃不用了(没人性的吉视传媒的同轴电缆和一条网线早已废弃)。新套餐里送了IPTV,宽带速度升为200Mbps。这要感谢强哥!光猫是华为的HG8346R5,带2.4G的WIFI,电话机也接至光猫(语音异常清澈),自带1个千兆LAN口和4个百兆LAN口。安装人员告诉IPTV接到LAN2(登录光猫发现LAN4也是IPTV端口)。光猫到电视机..._sg105 pro单线复用

Yarn无法查看日志: Aggregation may not be complete, Check back later or try the nodemanager at xxxx:xxxx_logs not available for container-程序员宅基地

文章浏览阅读6.9k次,点赞8次,收藏16次。前言最近这个新集群搭建完后,出现了很多问题,今天又出现了要给蛋疼的问题,执行了一个测试代码,想要通过yarn查看日志,可以用命令:yarn logs -applicationId application__1576828612082_0004_000001也可以直接再Web UI中点击查看:本来很简单的操作,谁知道在这个集群就报错了出现的问题点击Web中的logs后直接跳转到如下一..._logs not available for container

推荐文章

热门文章

相关标签