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)
在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate。 一、为什么Control类提供了Invoke和BeginInvoke机制?关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。1、windows程序消息机制Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵。...
什么是Portlet ?作者:Sunil Patil译者:observer版权声明:任何获得Matrix授权的网站,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:Sunil Patil;observer原文地址:http://www.onjava.com/pub/a/onjava/2005/10/19/challenging-java-dominance.html中文地址:htt
之前写了ONENET平台的MQTT协议接入说明,但没过多久,它们给出的信息显示可能要收费。这次给大家更新一个阿里云平台的接入例程,毕竟马云爸爸还是比较大气的,相信不会那么抠门。 方法、步骤、代码基本是类似的,只是细节位置需要修改一下。废话有点多,不说了,开始吧!1、平台账号注册平台网址:https://account.aliyun.com淘宝或者支付宝...
平衡二叉树的定义(AVL)定义 平衡二叉树或者是一棵空树,或者满足以下的性质:它的左子树和右子树的高度之差的绝对值不超过1,并且左子树和右子树也是一个平衡二叉树。平衡因子 左子树高度减去右子树的高度的值或者右子树高度减去左子树高度的值。显然 -1 <=bf <= 1AVL树的引入 平衡二叉树在二叉排序树上引入的,在二叉树中,如果插入的节点接近有序,那么二叉树就会退化为链表大大降低了查找效率
前端部署自动化:gitlab提交代码+Jenkins自动构建+构建完成通知钉钉群自动化构建1.钉钉配置2.前端Jenkins构建自动化构建1.钉钉配置1、以管理账号登入jenkins,依次进入“系统管理->管理插件->可选插件”,在可选插件页面右上角“过滤”框中输入dingding,如下图可以看到有两个可选插件,这里我们用到第一个插件“DingTalk”。2、安装完成后首先在钉钉群里面设置机器人。在群设置中找到“群机器人”选项,点击进入对应的界面。3、进入Jenkins-Sys
文档OCR识别可以将纸质文件,如:单据、档案资料、合同等,转换成电子文档,并集中存储到系统当中,提供方便灵活的管理功能,帮助企业更便捷、高效地管理好海量纸质文档:1、纸质文档电子化2、自动入库3、OCR文字识别4、智能化统计分析处理通过文档OCR识别功能及一个管理系统,结合完整的纸质文档电子化方案,实现企业纸质文档电子化管理,满足普遍企业的需求。OCR核心技术主要包括:单行识别引擎和文本行检测技术。有了这两类核心技术即可以实现大部份OCR应...
从后台加载数据,结构为目录树二级菜单。数据格式为:html:&lt;ul class="sidebar-menu" id="proMenu" style="background:#88A0CE;"&gt;&lt;/il&gt;JS: var width = window.screen.availWidth * 0.9 - 15; //区域宽度...
背景虽然最终会被部署到国产数据库环境,但是实际项目开发时大概率是一开始在 MySQL 上开发,直到最后部署时再做迁移适配。之前是我们在项目真正开发之前进行的预研与测试。今天开始真实场景下的数据迁移,操作系统与数据库已经由专业的运维人员安装完毕,操作系统:统信UOS;数据库:达梦8。虽然可以在IDEA中建立与DM8服务端连接,并且提供了不少功能,但是不能直接修改字段类型。还是通过DM自带的管理工具比较方便。到达梦官方注册账号,下载 Windows 下的开发版,可仅安装客户端工具。这次我们用到的主要是
关键词火狐 Firefox firefox 自定义路径 指定安装路径 安装在D盘步骤1.进入官网https://www.firefox.com.cn/download/点击“立即下载”按钮下方的“高级安装选项和其他平台”2.选择对应安装包并下载。这里以win10(64bit)为例3.下载的时候关注一下安装包有没有“full”字眼,有就对了(安装的时候可以自定义路径)参考怎么指定火狐浏览器的路径安装到别的盘?...
目录基础挑战解决方案:动态表达式Transaction介绍参数表达式逻辑表达式属性表达式常量和调用表达式比较表达式Lambda表达式和编译从内存到数据库结论LINQ意为语言集成查询。它提供了一种一致的强类型机制,用于跨各种源查询数据。LINQ基于表达式。本文通过在参考应用程序中构建自定义表达式树来探索LINQ和基础表达式。LINQ意为语言集成查询,是我最喜欢的.NET和C#技术之一。使用LINQ,开发人员可以直接在强类型代码中编写查询。LINQ提供
题目地址http://poj.org/problem?id=3259WormholesTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 37361 Accepted: 13736DescriptionWhile exploring his