序列分解

1、非季节性时间序列分解

移动平均MA(Moving Average)

①SAM(Simple Moving Average)
简单移动平均,将时间序列上前n个数值做简单的算术平均。
SMAn=(x1+x2+…xn)/n

②WMA(Weighted Moving Average)
加权移动平均。基本思想,提升近期的数据、减弱远期数据对当前预测值的影响,使平滑值更贴近最近的变化趋势。
用Wi来表示每一期的权重,加权移动平均的计算:
WMAn=w1x1+w2x2+…+wnxn

R中用于移动平均的API
install.packages(“TTR”)
SAM(ts,n=10)

  • ts 时间序列数据
  • n 平移的时间间隔,默认值为10

WMA(ts,n=10,wts=1:n)

  • wts 权重的数组,默认为1:n
#install.packages('TTR')
library(TTR)data <- read.csv("data1.csv", fileEncoding="UTF8")plot(data$公司A, type='l')data$SMA <- SMA(data$公司A, n=3)lines(data$SMA)plot(data$公司A, type='l')data$WMA <- WMA(data$公司A, n=3, wts=1:3)lines(data$WMA)

2、季节性时间序列分解

在一个时间序列中,若经过n个时间间隔后呈现出相似性,就说该序列具有以n为周期的周期性特征。
分解为三个部分:
①趋势部分
②季节性部分
③不规则部分
R中用于季节性时间序列分解的API
序列数据周期确定

  • freg<-spec.pgram(ts,taper=0, log=’no’, plot=FALSE)
  • start<-which(freqspec==max(freqspec==max(freqspec))周期开始位置
  • frequency<-1/freqfreq[which(freqfreq[which(freqspec==max(freq$spec))]周期长度

序列数据分解
decompose(ts)

data <- read.csv("data2.csv", fileEncoding = "UTF8")freq <- spec.pgram(data$总销量, taper=0, log='no', plot=FALSE);start <- which(freq$spec==max(freq$spec))
frequency <- 1/freq$freq[which(freq$spec==max(freq$spec))]data$均值 <- data$总销量/data$分店数freq <- spec.pgram(data$均值, taper=0, log='no', plot=FALSE);start <- which(freq$spec==max(freq$spec))
frequency <- 1/freq$freq[which(freq$spec==max(freq$spec))]plot(data$均值, type='l')meanTS <- ts(data$均值[start:length(data$均值)], frequency=frequency
)
ts.plot(meanTS)meanTSdecompose <- decompose(meanTS)
plot(meanTSdecompose)#趋势分解
meanTSdecompose$trend
#季节性分解数据
meanTSdecompose$seasonal
#随机部分
meanTSdecompose$random

R中季节性时间序列分析及非季节性时间序列分析相关推荐

  1. covariance matrix r语言_时间序列分析|ARIMAX模型分步骤详解和R中实践

    这是关于时间序列的第N篇文章,本文将介绍ARIMAX模型,简单来说就是在ARIMA的基础上增加一个外生变量.ARIMAX和ARIMA相比在理论上没有太多新的内容,所以本文直接介绍在R里怎么一步一步跑A ...

  2. linux如何更改服务器时间格式,Linux中date命令,格式化输出,时间设置

    date命令的帮助信息 [root@localhost source]# date --help 用法:date [选项]...[+格式] 或:date [-u|--utc|--universal] ...

  3. arima 数据预处理_时间序列分析|ARIMA模型分步骤解析及R中实践

    你是否想要做时间序列分析,但却不知道代码怎么写? 你是否不清楚时间序列分析各种模型该在什么情况下使用? 本文将针对以上两个问题,带你入门时间序列分析~ 等等! 不止'入门' 读完这篇,你立即就能在R中 ...

  4. 时间序列预测,非季节性ARIMA及季节性SARIMA

    Python 3中使用ARIMA进行时间序列预测的指南 在本教程中,我们将提供可靠的时间序列预测.我们将首先介绍和讨论自相关,平稳性和季节性的概念,并继续应用最常用的时间序列预测方法之一,称为ARIM ...

  5. linux hwclock -r显示的HWC TIME(硬件时钟时间)与timedatectl结果中的RTC TIME(实时时钟时间)有什么区别?BIOS时钟源

    文章目录 RTC TIME(实时时钟时间).HWC TIME(硬件时间)(BIOS时钟).BIOS时钟源 夏日志时间 系统时间与硬件时间的同步原理 20230129 BIOS本地RTC(实时时钟)时间 ...

  6. 非R包的ballgown提取FPKM的方法及R中dplyr包和Reduce函数的使用实例

     现在网上查到的分享好多都是用的R中ballgown包进行差异表达分析,有工具就用可是好文明.不过似乎不用这个R包也可以提取FPKM进行分析,虽然麻烦了点,不过也是一个练手的好机会.  一年后我才发现 ...

  7. 简单介绍一下R中的几种统计分布及常用模型

    统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...

  8. python时间序列分析航空旅人_python时间序列分析

    一.什么是时间序列 时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值. 在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的 ...

  9. ⅰcp经济模型_简单介绍一下R中的几种统计分布及常用模型

    统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...

最新文章

  1. HarmonyOS UI开发 match_parent与match_content
  2. sharepoint 2010 显示和隐藏Ribbon区域条
  3. linux 脚本 获取当前目录,Linux下获取脚本当前工作目录的一点感触
  4. 《口袋奇兵》开发商引入阿里云PolarDB数据库 IT成本降幅达50%
  5. 好看的UI商城源码已扫码无后门无加密
  6. c++语言中的循环语句有,C++语言中的循环语句
  7. Java运行报错问题——Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook
  8. Unity3d资源管理模块
  9. 基于Python实现的遗传算法求TSP问题
  10. css不同大小字体底部对齐
  11. 【五校联考5day2】光棍
  12. 【Unity3D开发小游戏】《超级马里奥游戏》Unity开发教程
  13. GIS应用技巧之景观格局指数
  14. cenntos7安装Nginx添加passenger模块
  15. centos 中 Discuz 论坛模板配置问题
  16. 怎么制作鸿蒙系统启动盘,开物成务,鸿蒙操作系统全景解构
  17. java jsf 入门_JSF入门实战
  18. dos 命令——切换盘符与切换工作目录
  19. 零售巨头家乐福在西班牙推出家禽区块链食物追踪平台
  20. java 多线程之join

热门文章

  1. 另一种 Vue 中 keep-alive 控制方法
  2. 【git】warning: adding embedded git repository问题
  3. 1251: [蓝桥杯2015初赛]星系炸弹 【简单】
  4. java sin函数图像_画 Sin()函数图像
  5. silent love open my heart
  6. 优秀工具介绍之——Iconfont 阿里图标库
  7. 如何将Windows系统自带的计算器窗体置顶
  8. 另类看设计模式[来自酷壳网]
  9. Python中的列表类型
  10. JAVA堆里放啥,栈里放啥,一看就懂