R_Studio(时序)Apriori算法寻找频繁项集的方法

  应用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

原文地址:https://www.cnblogs.com/1138720556Gary/p/10041177.html

时间: 2024-10-12 23:43:18

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

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

关联分析是数据挖掘中常用的分析方法.一个常见的需求比如说寻找出经常一起出现的项目集合. 引入一个定义,项集的支持度(support),是指所有包含这个项集的集合在所有数据集中出现的比例. 规定一个最小支持度,那么不小于这个最小支持度的项集称为频繁项集(frequent item set). 如何找到数据集中所有的频繁项集呢? 最简单的方法是对所有项集进行统计,可以通过逐渐增大项集大小的方式来遍历所有项集.比如说下面的数据集,先统计所有单个元素集合的支持度,{z} 的支持度为5 (这里把项目出现次

发现频繁项集的方法 Apriori算法

我们是通过算法来找到数据之间的关联规则(两个物品之间可能存在很强的相关关系)和频繁项集(经常出现在一起的物品的集合). 我们是通过支持度和置信度来定义关联规则和频繁项集的 一个项集支持度是指在所有数据集中出现这个项集的概率,项集可能只包含一个选项,也有可能是多个选项的组合. 置信度 针对于啤酒-->尿布这样的关联规则来定义,计算方式为支持度(啤酒,尿布)/支持度啤酒,其中支持度(啤酒.尿布)为3/5,支持度啤酒为4/5,所以他的置信度为3/4,即置信度为75%,这意味着在啤酒的规则中,有0.75

FP-TREE 算法,频繁项集与关联规则分析

使用场景如: 用户频道属性分析 .用户忠诚度分析 .用户偏好路径分析. 用户偏好终端分析. 用户访问网站时间分析. 用户浏览内容分析 例子:一用户某次访问网站的路径示意图 ABCD ABEGH ABEGW AOU AOV Apriori算法 需要扫描多个事物数据集,增加IO开销.会产生2的k次方频繁项集. FP-Tree算法 概念: 树 链 节点 节点的前向路径 单支 多支 条件基 若Tree为单支,则输出整条单支和条件基BASE,支持度为单支中所有节点支持度的最小值. 若Tree为多支,先输出

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

前言: 关于 FP-Growth 算法介绍请见:FP-Growth算法的介绍. 本文主要介绍从 FP-tree 中提取频繁项集的算法.关于伪代码请查看上面的文章. FP-tree 的构造请见:FP-Growth算法之 FP-tree 的构造(python). 正文: tree_miner.py文件: #coding=utf-8 import tree_builder import copy class Tree_miner(object): """tree_miner类. 作

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

上篇介绍了如何构建FP树,FP树的每条路径都满足最小支持度,我们需要做的是在一条路径上寻找到更多的关联关系. 抽取条件模式基 首先从FP树头指针表中的单个频繁元素项开始.对于每一个元素项,获得其对应的条件模式基(conditional pattern base),单个元素项的条件模式基也就是元素项的关键字.条件模式基是以所查找元素项为结尾的路径集合.每一条路径其实都是一条前辍路径(perfix path).简而言之,一条前缀路径是介于所査找元素项与树根节点之间的所有内容. 下图是以{s:2}或{

FP - growth 发现频繁项集

FP - growth是一种比Apriori更高效的发现频繁项集的方法.FP是frequent pattern的简称,即常在一块儿出现的元素项的集合的模型.通过将数据集存储在一个特定的FP树上,然后发现频繁项集或者频繁项对.通常,FP-growth算法的性能比Apriori好两个数量级以上. FP树与一般的树结构类似,但它通过链接(Link)来连接相似元素,被连起来的元素项可以看成一个链表. 上图是一棵FP树,一个元素项可以在一棵FP树种出现多次,FP树的节点会存储项集的出现频率,每个项集会以路

FP-growth高效频繁项集发现

FP-growth 算法优缺点: 优点:一般快于Apriori 缺点:实现比较困难,在某些数据上性能下降 适用数据类型:标称型数据 算法思想: FP-growth算法是用来解决频繁项集发现问题的,这个问题再前面我们可以通过Apriori算法来解决,但是虽然利用Apriori原理加快了速度,仍旧是效率比较低的.FP-growth算法则可以解决这个问题.FP-growth算法使用了频繁模式树(Frequent Pattern Tree)的数据结构.FP-tree是一种特殊的前缀树,由频繁项头表和项前

Spark下的FP-Growth和Apriori(频繁项集挖掘并行化算法)

频繁项集挖掘是一个关联式规则挖掘问题.关联挖掘是数据挖掘中研究最早也是最活跃的领域,其中频繁模式的挖掘是关联挖掘的核心和基础,是产生关联规则挖掘的基础.频繁项集最经典的应用就是超市的购物篮分析. 首先要理解频繁项集中的以下概念. 频繁项:在多个集合中,频繁出现的元素项. 频繁项集:在一系列集合中每项都含有某些相同的元素,这些元素形成一个子集,满足一定阀值就是频繁项集. K项集:K个频繁项组成的一个集合. 支持度:包含频繁项集(F)的集合的数目. 可信度:频繁项与某项的并集的支持度与频繁项集支持度

[ML&DL] 频繁项集Apriori算法

频繁项集Apriori算法 Reference 数据挖掘十大算法之Apriori详解 Apriori算法详解之[一.相关概念和核心步骤] 关联分析之Apriori算法 haha 算法理解部分主要是前两个链接,写的很靠谱.在实际中再配合上hadoop的mapreduce.