Wanda Rulita Sari
(2206107193)
Performance AC dilakukan dengan menggunakan input temperature dan energy
consumption yang diukur dari outdoor unit seperti gambar berikut.
1. Buatkan ANN model untuk memprediksi cooling capacity menggunakan input temperature dan konsumsi energi yang digunakan. (Jumlah input temperature bisa bervariasi).
2. Variasikan model ANN dengan jumlah neuron yang berbeda (cont. 1-30).
3. Hitunglah nilai error dari hasil prediksi menggunakan rumus RMSE.
Plot grafik hasil RMSE dengan sumbu x (jumlah neuron) dan y (RMSE).
4. Plot hasil prediksi dan nilai Target cooling capacity dari ANN model terbaik (ANN model yang RMSE paling rendah).
5. Keluarkansemua nilai weight dan bias dari ANN model terbaik.
6. Tampilkan Network diagram dari ANN model terbaik
Dari dataset yang telah diberikan
Observed
values Predicted values
3 2.9
3 2.9
4 4.1
5 5
4 4.2
6 6.2
8 8.1
4 4.1
2 2.5
5 5.2
Formula RMSE
Contoh data
1. Buatkan ANN model untuk memprediksi cooling capacity menggunakan input temperature dan konsumsi energi yang digunakan. (Jumlah input temperature bisa bervariasi).
Jawaban:
% Load input data from different ranges
[input1, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'F4:F1503');
[input2, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'G4:G1503');
[input3, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'I4:I1503');
[input4, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'K4:K1503');
[input5, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'M4:M1503');
% Combine the inputs into a single matrix
input = [input1, input2, input3, input4, input5]; % Combine horizontally
% Load target data
[target, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'E4:E1503');
% Input target definition
x = input'; % Input harus dalam bentuk matrix dengan kolom sebagai observasi t = target'; % Target dalam bentuk row vector
2. Variasikan model ANN dengan jumlah neuron yang berbeda (cont. 1-30).
Jawaban:
%% Loop to vary the number of neurons from 1 to 30
rmseValues = zeros(1, 30); % Array to store RMSE for each neuron configuration
for n = 1:30
% ANN configuration
trainFCN = 'trainbr'; % 'trainbr' for Bayesian Regularization neuron = [n]; % Jumlah neuron yang divariasikan
net = feedforwardnet(neuron, trainFCN);
% Train the network net = train(net, x, t);
% Predict
ypred = net(x);
% Calculate RMSE
errors = ypred - t; % Selisih antara hasil prediksi dan target squaredErrors = errors.^2; % Kuadratkan error
meanSquaredError = mean(squaredErrors); % Hitung rata-rata dari squared errors
rmse = sqrt(meanSquaredError); % Akar kuadrat dari MSE (RMSE) % Store RMSE value
rmseValues(n) = rmse;
end
%% Plot RMSE vs. Number of Neurons figure;
plot(1:30, rmseValues, '-o');
xlabel('Number of Neurons');
ylabel('RMSE');
title('RMSE vs. Number of Neurons');
3. Hitunglah nilai error dari hasil prediksi menggunakan rumus RMSE dan Plot grafik hasil RMSE dengan sumbu x (jumlah neuron) dan y (RMSE).
Jawaban:
Nilai neuron terkecil berada pada jumlah neuron 28.
Jumlah Neuron RMSE
1 1.059
2 0.9188
3 0.8217
4 0.7936
5 0.6708
6 0.623
7 0.574
8 0.5542
9 0.515
10 0.5066
11 0.4776
12 0.5153
13 0.4415
14 0.5075
15 0.4427
Jumlah Neuron RMSE
16 0.4549
17 0.4156
18 0.4303
19 0.3826
20 0.4487
21 0.4039
22 0.4307
23 0.3962
24 0.4138
25 0.4369
26 0.4069
27 0.3629
28 0.3426
29 0.526
30 0.4224
4. Plot hasil prediksi dan nilai Target cooling capacity dari ANN model terbaik (ANN model yang RMSE paling rendah).
Jawaban:
% Load input data from different ranges
[input1, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'F4:F1503');
[input2, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'G4:G1503');
[input3, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'I4:I1503');
[input4, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'K4:K1503');
[input5, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'M4:M1503');
% Combine the inputs into a single matrix
input = [input1, input2, input3, input4, input5]; % Combine horizontally
% Load target data
[target, ~] = xlsread('DataTugasANN.xlsx', 'Sheet1', 'E4:E1503');
% Input target definition
x = input'; % Input harus dalam bentuk matrix dengan kolom sebagai observasi
t = target'; % Target dalam bentuk row vector
% ANN configuration
trainFCN = 'trainlm'; % 'trainlm' untuk Levenberg- Marquardt
neuron = [28];
net = feedforwardnet(neuron, trainFCN);
% Train the network net = train(net, x, t);
% Predict ypred = net(x);
Results = [ypred; t]';
% Plot results
xx = 1:length(ypred);
figure;
plot(xx, ypred, 'b-', xx, t, 'r--');
legend('Predicted', 'Target');
xlabel('Sample Index');
ylabel('Value');
title('Predicted vs Target');
% Export results to Excel filename = 'Hasil.xlsx';
%% See network topology
% Extract weights and biases
w = net.IW{1}; % Weights from input to the first hidden layer
b = net.b{1}; % Biases for the first hidden layer
% Extract weights for hidden layers and output layer wHL = net.LW{2, 1}; % Weights from hidden layer 1 to output layer
bHL = net.b{2}; % Biases for the second hidden layer
% Transfer function
Z1 = net.layers{1}.transferFcn; % Transfer function of the first hidden layer
Z2 = net.layers{2}.transferFcn; % Transfer function of the second hidden layer
% Performance function
P = net.performFcn; % Performance function used
% Training parameters
Par = net.trainParam; % Training parameters
% Display extracted information
disp('Weights from input to first hidden layer:');
disp(w);
disp('Biases for first hidden layer:');
disp(b);
disp('Weights from first hidden layer to second hidden layer:');
disp(wHL);
disp('Biases for second hidden layer:');
disp(bHL);
disp('Transfer function of the first hidden layer:');
disp(Z1);
disp('Transfer function of the second hidden layer:');
disp(Z2);
disp('Performance function:');
disp(P);
disp('Training parameters:');
disp(Par);
4. Plot hasil prediksi dan nilai Target cooling capacity dari ANN model terbaik (ANN model yang RMSE paling rendah).
Jawaban:
5. Keluarkan semua nilai weight dan bias dari ANN model terbaik.
Jawaban: Neuron Wights from input to first hidden layer (input to hidden
layer) Weights from first
hidden layer to Output Biases for first hidden
layer Biases for second hidden layer
1 2.1518 -0.4157 -0.8075 0.7977 -1.05 -4.3149 0.225 0.0371
2 0.7506 -1.6055 1.0818 -1.2471 1.3246 -2.419 -0.1133
3 0.7802 2.1853 -1.5598 0.0934 0.0446 -2.1785 -1.3885
4 2.107 -0.6062 0.5265 -0.407 2.3916 -0.7687 0.302
5 1.5346 0.6106 1.2434 0.9845 -1.1235 -1.3874 -0.2256
6 -1.5132 1.1944 0.6704 -0.5129 0.5843 1.1632 -0.6165
7 1.3393 -0.7889 -1.9603 1.7652 -0.7863 -0.1384 -0.4419
8 1.2795 0.8069 -0.6713 -1.2218 1.5005 -1.2964 0.0176
9 1.0668 1.4333 -0.9982 -1.4345 0.8301 -0.9977 0.2104
10 2.8194 1.2314 1.1524 0.6797 1.4886 -1.8283 -0.1577
11 -1.0146 -1.4257 -1.4927 1.9749 0.8639 -0.1159 -0.3203
12 2.618 1.347 1.279 1.882 1.2633 -0.6233 0.1968
13 -0.0716 -0.4878 1.5354 -2.2124 1.1014 0.1861 -0.6097
14 -1.6164 -2.8437 -0.835 0.8239 1.2273 -0.5571 0.3699
15 0.0472 1.8797 0.8607 -0.0581 1.1549 0.2252 0.4548
16 2.9305 -0.3147 -0.2666 -1.0356 -1.2681 -0.3284 -0.4998
17 2.3965 -2.1927 -1.1545 0.343 -0.7231 0.5791 0.4937
18 -1.3217 -0.1273 -1.7733 1.2081 0.9166 -0.2848 0.0802
19 1.6512 -1.8992 2.6739 -1.1721 -0.2611 -0.3627 0.559
20 1.2741 1.4584 1.5046 -0.1446 0.9069 0.1581 -0.0689
21 -0.3057 2.2516 0.9179 -0.0597 2.6538 -0.5581 -0.3892
22 -1.4737 0.2545 1.5334 -0.9106 -1.6694 -0.8657 0.2364
23 1.0837 0.5883 -0.4403 -1.937 -1.4031 1.0133 0.5981
24 -2.7673 1.8401 -1.0456 0.2036 -0.4776 -2.8658 -0.1716
25 2.4472 1.6747 -0.0253 -0.5216 1.2988 2.402 0.6556
26 -3.4953 -1.7314 2.3862 -0.0301 0.0112 -3.6064 1.368
27 0.7604 -0.0224 0.9303 -2.1012 -1.3284 1.5733 -0.6241
28 0.4615 1.3899 -0.4976 -0.2521 1.1184 3.3287 -0.2439
6. Tampilkan Network diagram dari ANN model terbaik.
Jawaban:
6. Tampilkan Network diagram dari ANN model terbaik.
Jawaban: