1 前言
做负荷分解的网络很多,本篇用contrib中的几个网络对AMPds数据集进行训练和测试。本篇内容较短。仅展示部分网络的代码和结果。
2 数据集
AMPds数据集所选电器见下表。电器选择原则如下:
1)所选电器种类丰富,包括二态电器(如电视、冰箱)、多态电器(如洗衣机、洗碗机),这些电器具有代表性。
2)数据集中其他分支,如卧室,厨房,电子工作台等不具有代表性。
3)所选电器的功耗占据了家庭住户中绝大部分的电力功耗。
描述 |
|
TVE |
电视 |
HPE |
热泵 |
FRE |
强制空气炉:风扇和恒温器 |
FGE |
冰箱 |
DWE |
洗碗机 |
CWE |
洗衣机 |
CDE |
干衣机 |
2 深度学习网络代码
seq2seq
def seq2seq(window_length):
model = Sequential()
# 1D Conv
model.add(Conv1D(30,10,activation="relu",input_shape=(window_length,1),strides=2))
model.add(Conv1D(30, 8, activation='relu', strides=2))
model.add(Conv1D(40, 6, activation='relu', strides=1))
model.add(Conv1D(50, 5, activation='relu', strides=1))
model.add(Dropout(.2))
model.add(Conv1D(50, 5, activation='relu', strides=1))
model.add(Dropout(.2))
model.add(Flatten())
model.add(Dense(1024, activation='relu'))
model.add(Dropout(.2))
model.add(Dense(window_length))
model.compile(loss='mse', optimizer='adam')
return model
seq2point
def seq2point(window_length):
# Model architecture
model = Sequential()
model.add(Conv1D(30,10,activation="relu",input_shape=(window_length,1),strides=1))
model.add(Conv1D(30, 8, activation='relu', strides=1))
model.add(Conv1D(40, 6, activation='relu', strides=1))
model.add(Conv1D(50, 5, activation='relu', strides=1))
model.add(Dropout(.2))
model.add(Conv1D(50, 5, activation='relu', strides=1))
model.add(Dropout(.2))
model.add(Flatten())
model.add(Dense(1024, activation='relu'))
model.add(Dropout(.2))
model.add(Dense(1))
model.compile(loss='mse', optimizer='adam') # ,metrics=[self.mse])
return model
dae
def dae(window_length):
model = Sequential()
model.add(Conv1D(8, 4, activation="linear", input_shape=(window_length, 1), padding="same", strides=1))
model.add(Flatten())
model.add(Dense((window_length)*8, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dense((window_length)*8, activation='relu'))
model.add(Reshape(((window_length), 8)))
model.add(Conv1D(1, 4, activation="linear", padding="same", strides=1))
model.compile(loss='mse', optimizer='adam')
return model
3 结果展示
所有模型的窗口大小统一为256,256为随意选的。
CDE
DWE
FRE
HPE
TVE
从分解结果可