应用ARIMA(1,1,0)对2015年1月1日到2015年2月6日某餐厅的销售数量做为期5天的预测

  

setwd('D:\\dat')

#install.packages("forecast")
#install.packages("plyr")
#install.packages("fUnitRoots")
#install.packages("tibble") library(forecast)
library(fUnitRoots)
Data=read.csv("arima_data.csv",header=T)[,2]
sales=ts(Data)
plot.ts(sales,xlab="时间", ylab="销量 / 元") #单位根检验
unitrootTest(sales)
#自相关图
acf(sales)
#一阶差分
difsales=diff(sales)
plot.ts(difsales,xlab="时间", ylab="销量残差 / 元")
#自相关图
acf(difsales)
#单位根检验
unitrootTest(difsales) #白噪声检验
Box.test(difsales, type="Ljung-Box")
#偏自相关图
pacf(difsales)
#ARIMA(1,1,0)模型
arima=arima(sales, order=c(1,1,0))
arima
forecast=forecast(arima, h=5, level=c(99.5))
forecast

Gary.R

实现过程

  数据预处理

setwd('D:\\dat')

#install.packages("forecast")
#install.packages("plyr")
#install.packages("fUnitRoots")
#install.packages("tibble") library(forecast)
library(fUnitRoots)
Data=read.csv("arima_data.csv",header=T)[,2]
sales=ts(Data)
plot.ts(sales,xlab="时间", ylab="销量 / 元")

相关检验

  单位根检验  百度百科:传送门

  单位根检验是指检验序列中是否存在单位根,因为存在单位根就是非平稳时间序列了。单位根就是指单位根过程,可以证明,序列中存在单位根过程就不平稳,会使回归分析中存在伪回归。

> #单位根检验
> unitrootTest(sales) Title:
Augmented Dickey-Fuller Test Test Results:
PARAMETER:
Lag Order: 1
STATISTIC:
DF: 1.6708
P VALUE:
t: 0.9748
n: 0.9745 Description:
Thu Nov 29 21:45:16 2018 by user: ASUS

  自相关  百度百科:传送门

  自相关是指信号在1个时刻的瞬时值与另1个时刻的瞬时值之间的依赖关系,是对1个随机信号的时域描述。

#自相关图
acf(sales)

  

#自相关图
acf(difsales)

  

  一阶差分  百度百科:传送门

  一阶差分就是离散函数中连续相邻两项之差。当自变量从x变到x+1时,函数y=y(x)的改变量∆yx=y(x+1)-y(x),(x=0,1,2,......)称为函数 y(x)在点x的一阶差分,记为∆yx=yx+1-yx,(x=0,1,2,......)

#一阶差分
difsales=diff(sales)
plot.ts(difsales,xlab="时间", ylab="销量残差 / 元")

  

  单位根检验  百度百科:传送门

  单位根检验是指检验序列中是否存在单位根,因为存在单位根就是非平稳时间序列了。单位根就是指单位根过程,可以证明,序列中存在单位根过程就不平稳,会使回归分析中存在伪回归。

> unitrootTest(difsales)

Title:
Augmented Dickey-Fuller Test Test Results:
PARAMETER:
Lag Order: 1
STATISTIC:
DF: -2.4226
P VALUE:
t: 0.01689
n: 0.2727 Description:
Thu Nov 29 21:50:32 2018 by user: ASUS

  白噪声检验  百度百科:传送门

  白噪声序列,是指白噪声过程的样本实称,简称白噪声。随机变量X(t)(t=1,2,3……),如果是由一个不相关的随机变量的序列构成的,即对于所有S不等于T,随机变量Xt和Xs的协方差为零,则称其为纯随机过程。对于一个纯随机过程来说,若其期望为0,方差为常数,则称之为白噪声过程。

> #白噪声检验
> Box.test(difsales, type="Ljung-Box") Box-Ljung test data: difsales
X-squared = 11.304, df = 1, p-value = 0.0007734

  ARIMA(1,1,0)模型  百度百科:传送门

  ARIMA模型全称为自回归积分滑动平均模型,所谓ARIMA模型,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。ARIMA模型根据原序列是否平稳以及回归中所含部分的不同,包括移动平均过程(MA)、自回归过程(AR)、自回归移动平均过程(ARMA)以及ARIMA过程。

> arima=arima(sales, order=c(1,1,0))
> arima Call:
arima(x = sales, order = c(1, 1, 0)) Coefficients:
ar1
0.6353
s.e. 0.1236 sigma^2 estimated as 5969: log likelihood = -207.84, aic = 419.68
> forecast=forecast(arima, h=5, level=c(99.5))
> forecast
Point Forecast Lo 99.5 Hi 99.5
38 4856.386 4639.508 5073.263
39 4881.405 4465.699 5297.112
40 4897.299 4290.401 5504.198
41 4907.396 4122.477 5692.315
42 4913.810 3964.980 5862.639

R_Studio(时序)Apriori算法寻找频繁项集的方法的更多相关文章

  1. 手推Apriori算法------挖掘频繁项集

    版权声明:本文为博主原创文章,未经博主允许不得转载. Apriori算法: 使用一种称为逐层搜索的迭代方法,其中K项集用于搜索(K+1)项集. 首先,通过扫描数据库,统计每个项的计数,并收集满足最小支 ...

  2. 关联分析中寻找频繁项集的FP-growth方法

    关联分析是数据挖掘中常用的分析方法.一个常见的需求比如说寻找出经常一起出现的项目集合. 引入一个定义,项集的支持度(support),是指所有包含这个项集的集合在所有数据集中出现的比例. 规定一个最小 ...

  3. FP-growth算法发现频繁项集(一)——构建FP树

    常见的挖掘频繁项集算法有两类,一类是Apriori算法,另一类是FP-growth.Apriori通过不断的构造候选集.筛选候选集挖掘出频繁项集,需要多次扫描原始数据,当原始数据较大时,磁盘I/O次数 ...

  4. 手推FP-growth (频繁模式增长)算法------挖掘频繁项集

    一.频繁项集挖掘为什么会出现FP-growth呢? 原因:这得从Apriori算法的原理说起,Apriori会产生大量候选项集(就是连接后产生的),在剪枝时,需要扫描整个数据库(就是给出的数据),通过 ...

  5. FP-Growth算法之频繁项集的挖掘(python)

    前言: 关于 FP-Growth 算法介绍请见:FP-Growth算法的介绍. 本文主要介绍从 FP-tree 中提取频繁项集的算法.关于伪代码请查看上面的文章. FP-tree 的构造请见:FP-G ...

  6. FP-growth算法发现频繁项集(二)——发现频繁项集

    上篇介绍了如何构建FP树,FP树的每条路径都满足最小支持度,我们需要做的是在一条路径上寻找到更多的关联关系. 抽取条件模式基 首先从FP树头指针表中的单个频繁元素项开始.对于每一个元素项,获得其对应的 ...

  7. 关联规则—频繁项集Apriori算法

    频繁模式和对应的关联或相关规则在一定程度上刻画了属性条件与类标号之间的有趣联系,因此将关联规则挖掘用于分类也会产生比较好的效果.关联规则就是在给定训练项集上频繁出现的项集与项集之间的一种紧密的联系.其 ...

  8. 【机器学习实战】第12章 使用FP-growth算法来高效发现频繁项集

    第12章 使用FP-growth算法来高效发现频繁项集 前言 在 第11章 时我们已经介绍了用 Apriori 算法发现 频繁项集 与 关联规则.本章将继续关注发现 频繁项集 这一任务,并使用 FP- ...

  9. 【机器学习实战】第12章 使用 FP-growth 算法来高效发现频繁项集

    第12章 使用FP-growth算法来高效发现频繁项集 前言 在 第11章 时我们已经介绍了用 Apriori 算法发现 频繁项集 与 关联规则.本章将继续关注发现 频繁项集 这一任务,并使用 FP- ...

随机推荐

  1. React 中的函数式思想

    函数式编程简要概念 函数式编程中一个核心概念之一就是纯函数,如果一个函数满足一下几个条件,就可以认为这个函数是纯函数了: 它是一个函数(废话): 当给定相同的输入(函数的参数)的时候,总是有相同的输出 ...

  2. tensorflow 使用tfrecords创建自己数据集

    直接采用矩阵方式建立数据集见:https://www.cnblogs.com/WSX1994/p/10128338.html 制作自己的数据集(使用tfrecords) 为什么采用这个格式? TFRe ...

  3. MongoDB v4.0 命令

    MongoDB v4.0 命令 官方文档 > 点这里 < 操作系统库 #操作管理员库 use admin #鉴权 db.auth("root","admin& ...

  4. Bat批处理文件入门

    这个东西吧,感觉在使用windows时作用不是很大,毕竟在windows环境下命令行确实用的比较少,但有时候也会用到,比如测试算法程序时使用批处理+文件可以省去每次手动输入.赶巧最近对批处理也比较感兴 ...

  5. jQuery制作弹出窗(模态框)

    来源:(二少)在南极 ##index.html <!DOCTYPE html><html lang="zh"><head> <meta c ...

  6. docker下进去mysql 编写语句

    设置密码可使用 docker exec -it mysql01 bash        --mysql01:数据库名字 mysql -u root -p ALTER USER 'root'@'%' I ...

  7. h5图片展示和ajax上传

    <img src="" id="img"/> <script src="http://static.lamian.tv//pc/pu ...

  8. maven 依赖包找不到 (转)

    1,手动添加jar包 例: maven在集成Oracle驱动的时候从远程仓库下载不下来ojdbc14 报missing artifact com.oracle:ojdbc14:jar:10.2.0.3 ...

  9. 利用shell脚本做一个用户登录系统

    效果图如下: #!/bin/bash# while truedocat << EOF//======================\\\\| 用户登录系统 |-------------- ...

  10. 1.K近邻算法

    (一)K近邻算法基础 K近邻(KNN)算法优点 思想极度简单 应用数学知识少(近乎为0) 效果好 可以解释机器学习算法使用过程中的很多细节问题 更完整的刻画机器学习应用的流程 图解K近邻算法 上图是以 ...