我有一个从01-01-2004到31-112-2012的每天电力负荷的数据集 . 我想预测每天的电力负荷需求 .

我已经完成了以下步骤 .

step-1.

加载R包并读取数据--------------------------------

library(ggplot2)
library(forecast)
library(tseries)
library(xts)

设置文件夹并读取数据-----------------------------------

setwd("G:\\MY Project\\Jigsaw\\R practice\\Electricity forcasting project\\Avijit")

daily_data<-read.csv("demandload.csv", header = TRUE, stringsAsFactors = FALSE)

Step-2

----------------------------- step-2探索数据-------------- -----------

转换为as.data

daily_data$date<-as.Date(daily_data$date,format = "%d-%m-%Y")

将数据帧转换为时间序列数据 .

daily_ts<-ts(daily_data$demand, frequency = 30)

daily_xts<-xts(daily_data$demand,daily_data$date)

head(daily_data)


     date demand
1 2004-01-01 488.07
2 2004-01-02 582.02
3 2004-01-03 575.58
4 2004-01-04 542.39
5 2004-01-05 600.26
6 2004-01-06 544.76

str(daily_data)

data.frame':    3288 obs. of  2 variables:
 $ date  : Date, format: "2004-01-01" "2004-01-02" "2004-01-03" ...
 $ demand: num  488 582 576 542 600 ...

class(daily_ts)
[1] "ts"
> 
class(daily_xts)
[1] "xts" "zoo"
>

------------------第3步 - 通过绘图进行数据可视化------------------

绘图

plot(daily_xts, main = "Energy demand", xlab="date", ylab="demand(GWh)")

enter image description here

Step-4

星期几

daily_data$day<-as.factor(weekdays(as.Date(daily_data$date,"%y-%m-%d")))

按年度汇总需求(平均)

avg_demand_per_yearday<-aggregate(demand~day, daily_data, "mean")

按星期几的需求

p<-ggplot(daily_data,aes(day, demand))
p+geom_boxplot() + xlab("day") +ylab("demand(GWh)") +ggtitle("Demand per day of the week")

enter image description here

我的目标是将auto.ARIMA模型和预测下一个h = 7的电力负荷需求 .

我坚持要分解数据 . 我需要延长数据的时间吗?如图中所示,有很多噪音 . 我必须平滑数据 . 在找到ARIMA模型的候选人之前,我怎么能够继续?

一旦我尝试使用d = 1和d = 2的ACF和PACF绘图,使用移动平均工作日数据,但它没有给我p和q的有效候选人?我也尝试用Ljung盒子测试验证 . 它表明我的模型不是有效的模型 .

因此,我必须得出结论

需要更多数据准备或平滑数据 .

建议下一步随时欢迎 .

谢谢