Enabling External Factors for Inflation Rate Forecasting using Fuzzy Neural System

Received Dec 10, 2016 Revised Jun 7, 2017 Accepted Aug 11, 2017 Inflation is the tendency of increasing prices of goods in general and happens continuously. Indonesia's economy will decline if inflation is not controlled properly. To control the inflation rate required an inflation rate forecasting in Indonesia. The forecasting result will be used as information to the government in order to keep the inflation rate stable. This study proposes Fuzzy Neural System (FNS) to forecast the inflation rate. This study uses historical data and external factors as the parameters. The external factor using in this study is very important, which inflation rate is not only affected by the historical data. External factor used are four external factors which each factor has two fuzzy set. While historical data is divided into three input variables with three fuzzy sets. The combination of three input variables and four external factors will generate too many rules. Generate of rules with too many amounts will less effective and have lower accuracy. The novelty is needed to minimalize the amount of rules by using two steps fuzzy. To evaluate the forecasting results, Root Means Square Error (RMSE) technique is used. Fuzzy Inference System Sugeno used as the comparison method. The study results show that FNS has a better performance than the comparison method with RMSE that is 1.81.


INTRODUCTION
Economic growth can be used to assess the development of a country. Economic growth means the physical development of goods and services production existing in a country [1]. On the other hand, inflation is the tendency of increasing prices of goods in general and happens constantly [2]. Therefore, it may influence the national economic growth. In other words, inflation could be used as a tool to measure the economic development of a country.
Inflation can occur due to the high consumptive patterns of society. For example, the high employment opportunities creates a high level of income and further raises expenditures that exceed the economic ability of exceeding goods and services. So that the consumptive patterns of society will increase. Moreover, inflation can also occur due to increased prices of imports from their regions. The lower the degree of imported goods competition to domestic products, the greater the impact happens to the changes in the price of imported goods to the inflation. Inflation is often encountered by developing countries, such as Indonesia. Indonesia's economy will decline if inflation is not controlled properly. One of the problems caused by inflation is continuous currency debasement. Indirectly, the debasement may affect to the global trading activities. As a result, it may increase the cost of daily necessities and raise the spread of unemployment quantity.

TWO STAGES FUZZY LOGIC FOR INFLATION RATE FORECASTING
Fuzzy logic used as comparison method as well as part of Fuzzy Neural System (FNS) method. The output generated by fuzzy logic will be used as input to the Neural Network. Fuzzy Inference System (FIS) Sugeno is a model from fuzzy logic used to forecast the inflation rate in Indonesia. FIS Sugeno developed by Takaghi, Sugeno, and Kang (TSK) [20]. This Fuzzy Inference System chosen because this model is suitable for time-series data such as in the study [16]. FIS Sugeno consists of three processes, including the fuzzification process, fuzzy inference engine, and defuzzification.

Fuzzification
Input variables in this study will be divided into two or more fuzzy sets. Fuzzy set is a union representing certain circumstances in a fuzzy variable [21]. Linguistic variables are united with fuzzy set, each of which has a membership function that has been defined [22]. Membership function is a curve showing the representation of the input point data into membership values that has interval between 0-1. Function to determine the membership value is described by Triangular fuzzy number [23]. Figure 1 shows an example of a Triangular fuzzy number representing input variables b-1, b-2 and b-3 [24]. Figure 2 represents the external variables.

Fuzzy Inference Engine
The results of the calculation process of fuzzy membership valued then inferenced to the fuzzy rules. At the FIS Sugeno method, implication function used is Min. Table 3 is an example of fuzzy rules used in this study. The number of fuzzy rules obtained from the number of fuzzy set and then it power the number of input variables. For the example, there are three input variables and two fuzzy sets. So that the number of fuzzy rules obtained is eight fuzzy rules. In this study, each of fuzzy logic has a number of different rules. The first fuzzy logic (positive parameters) has 5 input variables with 2 fuzzy set and 3 fuzzy set. Therefore, the number fuzzy rules are 36. While, the second fuzzy logic (negative parameters) has 2 input variables with 2 fuzzy set. Then, there are 4 rules in negative parameters. The positive and negative parameters describe in Figure 3 and Figure 4 below. This classification of parameters aims to minimize fuzzy rules. If not classified, there are 144 rules. Generating too many rules not effective and need more time.

Defuzzification
The output value (crisp) obtained by changing the input into a number in the fuzzy set or that referred to defuzzification. Defuzzification method in the Sugeno method is Center Average Defuzzyfier.
To decrease the amount of fuzzy rules that are so many, this study uses two stages fuzzy technique, that is grouped the parameters which have the positive and negative influence to the inflation rate. It is said positive parameter if the parameter can control the price level [24]. Money Supply and CPI are often used by Indonesian government to control the price level. They are can be categorized as positive parameters. Besides that, historical data also can be categorized into the positive parameter. The rest can be categorized into the negative parameter showed in Table 4. Figure 3 and Figure 4 describe the two stages of fuzzy structure.   Figure 4. Fuzzy structure with negative parameter Based on the two stages fuzzy test results, each of these processes produce output that is in the form of inflation forecasting. The forecasting results are shown in Table 5. Data processing result using two stages fuzzy, it used as an input variables to be processed using Neural Network.

THE PROPOSED METHOD
In Section 5, the study proposes Fuzzy Neural System (FNS) as inflation forecasting method. FNS is a hybrid method between FIS Sugeno and Backpropagation Neural Network. Figure 5 illustrates the structure of Backpropagation Neural Network [26]. Having obtained the fuzzy output in Section 4, the next stage is the training data process. The training data process in Neural Network is a learning data process. The data that will be used in the training data process data are 70 data records (April 2008 -December 2013) taken from each input variable. Input variable in this stage is in the form of output predictions generated by the FIS Sugeno process in Section 4. In the proposed method used 3 neuron hidden layers, namely Z1, Z2, and Z3. The number of hidden layer is determined to minimize the computational process. However, use some of hidden layer will minimize error value.

NUMERICAL EXAMPLE
Backpropagation Neural Network has two stages working mechanism, namely feedforward and backpropagation. In the feedforward stage, it is conducted the training data process that is the learning data process. The training data process also involves the learning rate testing process. Learning rate testing is carried out together with training data process. The test results can be used for testing the data at the further stage that is testing the number of epoch. In this stage it is used 69 data records (April 2008 -December 2013) to training data process. The results of learning rate testing shown in Table 6.   Figure 6. Learning rate testing graph In Figure 6 known that the learning rate movement chart look down and suddenly up. Basically, the smaller the value of learning rate then the learning process will be longer to reach the target. In addition, the target may not be achieved due to the condition of the epoch stopped before reaching the target so that the error generated is still high. However, the large value of learning rate will make the learning process faster. The faster of the learning process will allow the target to be exceeded. Therefore, the resulting error tends in this analysis tends to be high. It can be concluded that the value of learning rate which is has small and large rates are difficult to achieve the target. It also influenced by the different data. In this test the best value for learning rate is 0.4. The values are selected based on the smallest error average is 0.001047 that shown in Table 6.
After obtained the best learning rate value, that value is used to test the amount of epoch. Testing is performed 10 times. This test aims to get the best epoch that use to find the number of neurons in further testing. The test result is shown in Table 7.  Figure 7. The number of epoch testing Figure 7 shows the movement of the epoch seemed to decline. This is because the more epoch that used, then learning process will reaching the target fastly, so the resulting error is smaller. However, to get that result, it can take a lot of time in computing process. In this testing the best of epoch is 250000. The value are selected based on the the smallest of error average is 0.002153as shown in Table 7.
Having obtained the best of learning value and the number of epoch, then further testing has done the testing of neuron. Some neural network structures are tested for evaluating the optimal network considering the number of neuron in the hidden layer [27]. The result of these tests are used in the next stages is data processing using Neural Network. The testing neuron performed 10 times. The result of neuron testing is shown in Table 8.  Figure 8. The number of neuron testing Figure 8 shows the movementof error average decreases as the number of neurons. This is because more and more neurons are used, the result of error is getting smaller. However, it can take a lot of time in the computing process. In this test the best neuron is 7. The value are selected based on the smallest of error average is 0.00211 as shown in Table 8.
Based on the test result, the number of neurons obtained the best weights to be used for testing data. The weights are summarized in Table 9. Vij is weight from neuron input to neuron hidden. Then, Wjk is weight from neuron hidden to neuron output.

RESULT AND DISCUSSION
In this stage, it is conducted the data testing to get the results of inflation forecasting in Indonesia. The data testing is done after obtaining the value of learning rate and the best weight on the training data process. The best value of learning rate in the training data process is 0.4 with computation time is 1 second.
The next process is data testing. Data used in the testing stage are 30 data (October 2005 -March 2008). This stage is Backpropagation mechanism to produce an inflation rate forecasting in Indonesia. To test the accuracy of the system, this study uses Root Mean Square Error (RMSE) technique. This technique is easy to implement and has been frequently used in variety of studies related to the forecasting, as in the study by Stock and Watson [28] and Sari, et al [29]. Table 10 shows the forecasting results using FNS.  [30]. Accuracy of forecasting result by using FIS Sugeno is 3.54. Previous study [30] used as a comparison method. Table 10 shows a comparison between the proposed method and the comparison method. In Figure 9 it is known that the FNS shows the movement that closer to the actual data. By using RMSE technique, the accuracy of the system generated by FNS is 1.81. While the accuracy generated by the comparison method is 3.54. Based on Table 10 FNS method has a better performance and makes a better prediction than the comparison method. This result can occur because FNS model there is a process of training data neural network so that this method is more flexible in terms of adapting to the environment and have good learning ability.

CONCLUSION
Fuzzy Neural System (FNS) method that is proposed in this study can be implemented for the inflation rate forecasting in Indonesia. The result of RMSE calculation shows that FNS has a better performance than the comparison method FIS Sugeno (previous study) [30]. With the addition of some external parameters (external factor), the forecasting result using FNS method is also better than using Backpropagation Neural Network in previous study [11]. The accuracy of the system produced by FNS using RMSE analysis technique is 1.81.
The accuracy of the system resulted in this study can still be improved. One of the things that affect the accuracy of the system is the formation of fuzzy rules and determining the initial weights in the Neural Network training process. In this study, the determination of fuzzy rules determined manually. While the initial weights in training process are still determined randomly. It might be that such a determination is less fit. Therefore, genetic algorithm implementation in the next study is needed to optimize the fuzzy rules and the initial weights in training data process. Optimization aims to improve the accuracy of the system that is better. Genetic Algorithm has been used to resolve issues related to the optimization like a study conducted by [31].
Provide a statement that what is expected, as stated in the "Introduction" chapter can ultimately result in "Results and Discussion" chapter, so there is compatibility. Moreover, it can also be added the prospect of the development of research results and application prospects of further studies into the next (based on result and discussion).