R中季节性时间序列分析及非季节性时间序列分析
序列分解
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中季节性时间序列分析及非季节性时间序列分析相关推荐
- covariance matrix r语言_时间序列分析|ARIMAX模型分步骤详解和R中实践
这是关于时间序列的第N篇文章,本文将介绍ARIMAX模型,简单来说就是在ARIMA的基础上增加一个外生变量.ARIMAX和ARIMA相比在理论上没有太多新的内容,所以本文直接介绍在R里怎么一步一步跑A ...
- linux如何更改服务器时间格式,Linux中date命令,格式化输出,时间设置
date命令的帮助信息 [root@localhost source]# date --help 用法:date [选项]...[+格式] 或:date [-u|--utc|--universal] ...
- arima 数据预处理_时间序列分析|ARIMA模型分步骤解析及R中实践
你是否想要做时间序列分析,但却不知道代码怎么写? 你是否不清楚时间序列分析各种模型该在什么情况下使用? 本文将针对以上两个问题,带你入门时间序列分析~ 等等! 不止'入门' 读完这篇,你立即就能在R中 ...
- 时间序列预测,非季节性ARIMA及季节性SARIMA
Python 3中使用ARIMA进行时间序列预测的指南 在本教程中,我们将提供可靠的时间序列预测.我们将首先介绍和讨论自相关,平稳性和季节性的概念,并继续应用最常用的时间序列预测方法之一,称为ARIM ...
- linux hwclock -r显示的HWC TIME(硬件时钟时间)与timedatectl结果中的RTC TIME(实时时钟时间)有什么区别?BIOS时钟源
文章目录 RTC TIME(实时时钟时间).HWC TIME(硬件时间)(BIOS时钟).BIOS时钟源 夏日志时间 系统时间与硬件时间的同步原理 20230129 BIOS本地RTC(实时时钟)时间 ...
- 非R包的ballgown提取FPKM的方法及R中dplyr包和Reduce函数的使用实例
现在网上查到的分享好多都是用的R中ballgown包进行差异表达分析,有工具就用可是好文明.不过似乎不用这个R包也可以提取FPKM进行分析,虽然麻烦了点,不过也是一个练手的好机会. 一年后我才发现 ...
- 简单介绍一下R中的几种统计分布及常用模型
统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...
- python时间序列分析航空旅人_python时间序列分析
一.什么是时间序列 时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值. 在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的 ...
- ⅰcp经济模型_简单介绍一下R中的几种统计分布及常用模型
统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...
最新文章
- HarmonyOS UI开发 match_parent与match_content
- sharepoint 2010 显示和隐藏Ribbon区域条
- linux 脚本 获取当前目录,Linux下获取脚本当前工作目录的一点感触
- 《口袋奇兵》开发商引入阿里云PolarDB数据库 IT成本降幅达50%
- 好看的UI商城源码已扫码无后门无加密
- c++语言中的循环语句有,C++语言中的循环语句
- Java运行报错问题——Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook
- Unity3d资源管理模块
- 基于Python实现的遗传算法求TSP问题
- css不同大小字体底部对齐
- 【五校联考5day2】光棍
- 【Unity3D开发小游戏】《超级马里奥游戏》Unity开发教程
- GIS应用技巧之景观格局指数
- cenntos7安装Nginx添加passenger模块
- centos 中 Discuz 论坛模板配置问题
- 怎么制作鸿蒙系统启动盘,开物成务,鸿蒙操作系统全景解构
- java jsf 入门_JSF入门实战
- dos 命令——切换盘符与切换工作目录
- 零售巨头家乐福在西班牙推出家禽区块链食物追踪平台
- java 多线程之join