欢迎使用CSDN-markdown编辑器

来源:互联网 发布:python iptools 编辑:程序博客网 时间:2024/05/29 04:41

三阶指数平滑http://www.cnblogs.com/sylvanas2012/p/4328861.html

library(TSA)
library(robustbase)
d1<-ts(t1,start=c(2011,1),frequency=12)#t1,t2,…t5为时间序列数据
d2<-ts(t2,start=c(2011,1),frequency=12)#
d3<-ts(t3,start=c(2011,1),frequency=12)
d4<-ts(t4,start=c(2011,1),frequency=12)
d5<-ts(t5,start=c(2011,1),frequency=12)
Month=c(“J”,”F”,”M”,”A”,”M”,”J”,”J”,”A”,”S”,”O”,”N”,”D”)
mP<- HoltWinters(d5,beta=FALSE)#建立HoltWinters模型
Pforecasts2 <-forecast.HoltWinters(mP, h=12)
Pforecasts2
par(mfrow=c(2,2))

par(mar=c(5, 4, 4, 2) + 0.1)

par(mai=c(0.5, 0.5,0.5, 0.3))
par(oma=c(1,1, 1, 1))
图1
plot(window(d1,start=c(2011,1)),ylab=”电量”,xlab=”年份”,main=”办公建筑 A”)
points(window(d1,start=c(2011,1)),pch=Month)
图2
plot(window(d2,start=c(2011,1)),ylab=”电量”,xlab=”年份”,main=”办公建筑 B”)
points(window(d2,start=c(2011,1)),pch=Month)
图3
plot(window(d3,start=c(2011,1)),ylab=”电量”,xlab=”年份”,main=”办公建筑 C”)
points(window(d3,start=c(2011,1)),pch=Month)
图4
plot(window(d4,start=c(2011,1)),ylab=”电量”,xlab=”年份”,main=”办公建筑 D”)
points(window(d4,start=c(2011,1)),pch=Month)
图5
plot(window(d5,start=c(2011,1)),ylab=”电量”,xlab=”年份”,main=”办公建筑 E”)
points(window(d5,start=c(2011,1)),pch=Month)

library(forecast)
mP<- HoltWinters(d5 )
Pforecasts2 <-forecast.HoltWinters(mP, h=12)#时间序列模型预测

Data<-ts(t1,start=c(2011,1),frequency=12)
plot(window(Data,start=c(2011,1)),ylab=”电量”,xlab=”年份”)

Month=c(“J”,”F”,”M”,”A”,”M”,”J”,”J”,”A”,”S”,”O”,”N”,”D”)
points(window(Data,start=c(2011,1)),pch=Month)

差分前acf图

acf(as.vector(Data),main=”“,xlab=”滞后”,lag.max=25)

一次差分后acf和pacf

acf(as.vector(diff(Data)),main=”“,lag.max=25,xlab=”滞后”)
pacf(as.vector(diff(Data)),main=”“,lag.max=25,xlab=”滞后”)
eacf(as.vector(diff(Data)))

一次差分后的周期图

periodogram(Data)
plot(diff(Data))
abline(h=0)
points(window(diff(Data),start=c(2011,1)),pch=Month)
plot(diff(diff(Data)))
acf(as.vector(diff(Data,lag=12)),main=”“,lag.max=36,xlab=”滞后”)

对数据进行拆分

plot(stl(Data, “per”))
mP<- HoltWinters(Data,optim.start = c(alpha = 0.1, beta = 0.1, gamma = 0.5) )
library(forecast)
Pforecasts2 <-forecast.HoltWinters(mP, h=12)
plot.forecast(Pforecasts2)#置信区间检测
Box.test(Pforecasts2$residuals, lag=20, type=”Ljung-Box”)#Ljung-Box检验
res<-residuals(mP)#残差值

scale(
pacf(Pforecasts2residuals, lag.max=20)#acf监测  
plot(Pforecasts2
residuals)
hist(window(rstandard(mP),start=2011,1))

pre<-c(548160,487380,463980,388320,438840,655620,804600,852540,679500)
prec<-c(517759,368284.5,546960.2,385229.4,457593.3,726895,745249.7,883308.4,679535.9)

tp1<-c(t1,pre)
tp2<-c(t1,prec)
tp1<-ts(tp1,start=c(2011,1),frequency=12)
tp2<-ts(tp2,start=c(2011,1),frequency=12)
plot(window(tp1,start=c(2011,1)),ylab=”电量”,xlab=”年份”)
Month=c(“J”,”F”,”M”,”A”,”M”,”J”,”J”,”A”,”S”,”O”,”N”,”D”)
points(window(tp1,start=c(2011,1)),pch=Month)
points(prec,pch=16)

0 0
原创粉丝点击