1、结果展示
2、部分代码
clc
clear
load Generation_data.mat; % load data from hard drive to workspace
IrradiationData=readtable('Irradiation data.xlsx');
TrainIp=table2array(IrradiationData(1028:2927,4)); % read data from workspace
TestIp=table2array(generationdata_table_dt(1005:2904,4));
XTrainIp = input(1:numTimeStepsTrain+1); % training input data points
XTestIp = target(1:numTimeStepsTrain+1); % training target data points
YTrainIp = input(numTimeStepsTrain+1:end); % testing input data points
YTestIp = target(numTimeStepsTrain+1:end);
numFeatures = 2; % number of inputs=2
numResponses = 1; % number of output=1
numHiddenUnits = 200; % number of hidden unites
rmsepred=[];
rmseupdat=[];
maepred=[];
maeupdat=[];
mapepred=[];
mapeupdat=[];
layers = [ ...
sequenceInputLayer(numFeatures)
lstmLayer(numHiddenUnits)
fullyConnectedLayer(numResponses)
regressionLayer];
options = trainingOptions('adam', ...
'MaxEpochs',250, ...
'GradientThreshold',1, ...
'InitialLearnRate',0.005, ...
'MiniBatchSize',50, ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropPeriod',90, ...
'LearnRateDropFactor',0.2, ...
'Verbose',false, ...
'Plots','training-progress'); % LSTM other options
% 'ValidationData',{XTestIp,YTestIp},...
% 'ValidationFrequency',30, ...