序列分解
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=