Crude Palm Oil Prediction Based on Backpropagation Neural Network Approach

use in predicting the CPO prices. On the other hand,


II. Methods
Prediction is an art and science that predicts future events.In other words, the prediction is to require historical data that aims to predict the future.The field of prediction research is increasingly important especially in the economic field.The prediction in production will be required if the conditions of the market are complex and dynamic.Therefore, accurate predictions in assisting management decision making are necessary.Then, numerous algorithms have been existing and developed in the predictions area, from traditional until intelligent algorithms.In this paper, historical data on crude oil palm production have been implemented to be analysed using intelligent algorithms [11] [12][13].This section will briefly explain a predictions, the BPNN algorithm and historical data used.
A backpropagation neural network (BPNN) algorithm is a part of an intelligent method that aims to reduce an error rate in predicting.This method adjust its weight based on the desired output and target differences.The BPNN principle is a multilayer training method by using three layers, namely input layer, hidden layer and output layer, and also weight update process [14].
The BPNN is a development from single layer that only have an input and an output layers.By using a hidden layer, the error value on the network is smaller than the single layer.Where, the hidden layer as a place to update and adjust the weight.Thus, the new weight values are obtained then directed towards the desired output target [14] [15].The BPNN architecture and flowchart can be seen in Figure 1 and Figure 2. The BPNN steps are are listed as follows [13] where Z is neuron hidden,  is input bias weight neuron to j,  is neuron input i,  is neuron input to neuron hidden weights.Applying the activation function was calculated by equation (2): where,  is unit j in hidden layer, _ is unit  output.For example, the activation function used is sigmoid with equation (3): The next process is sending all neuron to the output unit where, in step 5, each output (yk, k = 1, … m) summing neuron input weight using equation (4): where, _ is output unit  ,  is weight bias for hidden neuron k,  is unit j in hidden layer, and wjk is hidden neuron to output neuron weights.Finally, applying activation function was using eq (5): where, _ is unit output  B. Backward steps Feed forward steps contains step 6 to step 7.
where, k is weight correction factor wjk,  is target, k is output neuron k, y_ink is output unit yk.
Moreover, weight correction factor and bias was calculated using equation (7).
∆  =     (7) ∆ 0 =   where, ∆w jk is hidden neuron weight wjk (t) with wjk (t+1), ∆w0k is bias weight for hidden neuron k, a is learning rate, k is weight correction factor wjk, x is input In step 7, Each hidden layer ( ,  = 1, … p) summing the input layer values (a) from the units in the top layer, by using equation (8).
In the next process, calculating error in each layer has been done using equation (9).
where, j is weight correction factor vij,  is correction factor, x is input.While calculating weight correction factor and bias has been done using equation (10).
∆  =     (10) where, ∆ij is neuron input weight to neuron hidden,  is learning rate, j is weight correction factor vij, i is neuron input i C. Update weight and bias steps Feed forward steps contains step 8 where each output (yk, k = 1, … m) calculating update weight and bias (j = 0.1, ... p) using equation (11).
() =  () + ∆ (11) where, wjk is neuron hidden to neuron output weights, ∆jk is difference in weight of hidden neurons to output neurons Each hidden layer (zj, z = 1, … p) calculating update weight and bias (i = 0.1, ... n) using equation (12). () =  () + ∆ (12) where, vij is neuron input to neuron hidden weights, ∆ij is difference in weight of hidden neurons to output neurons In this study, historical data was obtained from PT. Perkebunan Nusantara XIII Long Pinang Village, Paser, East Kalimantan, Indonesia.The Fresh Fruit Bunch (FFB) harvest data from 2015 to 2018.A normalized FFB data can be seen in Table 1 The algorithm performance must be measured.A statistical methods (i.e., SSE, R, R2, MAPE, MSE etc.) are usually used to measure the algorithm performance [7].In this paper, Mean Squared Error (MSE) has been performed to evaluate the BPNN algorithm in predictions.The MSE are sum of squares for all prediction errors values in each period and dividing by the number of prediction periods [18][19] [20].The MSE can be calculate using (1), where i is real values, and I is predicted values where, i is real values, and  i is predicted values

III. Results and Discussion
In this experiment, the crude palm oil prediction have been tested to get a good BPNN model.Therefore, a try-and-error approach has been implemented.Several variables includes hidden layer architecture (HLA), learning function (LF), activation function (AF) and learning rate (LR) have been explored.Furthermore, the BPNN variables can be seen in Table 2.
Based on neural network principles, a total of 48 data have divided by 2 include 36 for training and 12 for testing data.Meanwhile, five inputs data (2015, 2016, 2017, and 2018) with bias and one output have been utilized.
After experiment many times, the BPNN architectures by using hidden layer architectures (HLA) 5-10-11-12-13-1 (4), the learning function (LF) was trainlm, activation function (AF) on the input and hidden the layers were logsig, and the output layer was purelin, learning rate (LR) were 0.5 and 0.7, maximum epoch of 1.000, and the error limit of 0.01 have been produced good model with MSE of 0.0643.The result can be seen in Table 4.
Based on the best BPNN parameters (in Table 4), the forecasting for the following year has been carried out.In this test, the first BPNN model (with LR=0.5) have been used for predict the next year (2019) production.Figure 3    Furthermore, the CPO prediction in January -December 2019 has been carried out with the first BPNN architecture.Figure 5 shows the CPO prediction.The prediction slowly increased until April, then dropped in May and June.Afterwards, it mat increased until October and decreased again until December.
Table 5 shows the prediction results based on the first BPNN model.The average prediction is 1668008.93 with -0.175 of error.It can be concluded from the table that there are movements in monthly CPO production.In Table 5, prediction results based on the first BPNN model.Based on experiment, the average prediction of 1668008.93 and error prediction of -0.175 have been obtained.In other words, in each month there are an increase and decrease in CPO production.

IV. Conclusion
The implementation of backpropagation neural network (BPNN) method has been presented.In this study, several variables values (i.e., hidden layer architecture (HLA), learning function (LF), activation function (AF) and learning rate (LR) and other parameter values such as maximum epoch and error limit) have been investigated.Based on experiment, BPNN architecture with 5-10-11-12-13-1, learning rate of 0.5, learning function of trainlm, and activation function of logsig and purelin has a very good accuracy with mean square error (MSE) of 0.064249.Therefore, this model can be used to predict crude palm oil production in 2019.The BPNN with metaheuristic optimization will be conducted in the future experiment.
[14][16][17].• Step 1: Initialize weights with small random value numbers • Step 2: As long as the stop condition is not fulfilled, do steps 3 to 8 • Step 3: Each input unit receives an xi input signal and is forwarded to hidden units • Step 4: Each unit is hidden summing the weight of the input signal • Step 5: each output summing neuron input weight • Step 6: Each output unit calculated error in each layer • Step 7: Each hidden layer summing the input layer values from the units in the top layer • Step 8: Each output calculating update weight and bias • Step 9: Stop if condition met A. Feed Forward steps Feed forward steps contains step 3 to step 5.In step 3, each input unit ( ,  = 1, … n) receives an xi input signal and is forwarded to hidden units.While in step 4: Each unit is hidden ( ,  = 1, ... p) summing the weight of the input signal with equation (1):

Fig. 1 .
Fig. 1.BPNN architecture and Figure 4, the first BPNN model results of training and testing have almost the same values with the target.

Table 3 .
BPNN training and testing results