{'fraction_non_alphanumeric': 0.029997436116571234, 'fraction_numerical': 0.01316126826766943, 'mean_word_length': 4.661344944363813, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Artificial Neural Network for Monthly Rainfall Rate Prediction

Rainfall rate forecasting plays an important role in various human activities. Rainfall forecasting is a challenging task due to the uncertainty of natural phenomena. In this paper, two neural network models are proposed for monthly rainfall rate forecasting. The performance of the proposed model is assesses based on monthly rainfall rate in Ampel, Boyolali, from 2001-2013. The experiment results show that the accuracy of the first model is much better than the accuracy of the second model. Its average accuracy is just above 98%, while the accuracy of the second model is approximately 75%. In additional, both models tend to perform better when the fluctuation of rainfall is low.


Introduction
Rainfall is a result of complex nature processes and become one of the main concerns in meteorological services. Rainfall forecasting is part of weather forecasting and is crucial for various sectors, such as agriculture [1][2][3][4], water resource management, flood management [5] as well as transportation. Rainfall prediction is useful to warn about natural disaster such as flood and to plan a head activity such as cropping pattern scheduling. Rainfall forecasting still become a challenging task due to the uncertainty of natural phenomena. It involves multiple specialized fields of expertise [6].
Many studies have been conducted on rainfall forecasting, however, success model of rainfall forecasting are rarely visible [6]. There are various categories of forecasting methods, such as Naïve approach, Judgmental methods, Quantitative and Qualitative methods, time series methods and artificial intelligence methods [7]. According to Shrivastava et al [7], there are two main approaches in rainfall forecasting, numerical and statistical methods. The performance of the numerical method depends on the initial condition, which is inherently incomplete. The method is poor for long-range prediction. On the other hand, the statistical method is widely used for long-term rainfall prediction. In their studies, [6] stated that statistical method performance were successful in normal monsoon rainfall but fail in extreme monsoon years [6]. In addition, the statistical method is useless for highly nonlinear relationship between rainfall and its predictors and there is no ultimate end in finding the best predictors [6]. For decades, artificial neural network (ANN) has been applied for rainfall forecasting. The Artificial Neural Network analyzes the trend of existing data (such as historical set of rainfall rate data) and uses the trend for prediction [8]. It able to approximate the uncertain function that related forecast data to the actual weather and the non-linear relationship between predictors and predictan [9]. Large number of predictors can easily be implemented in neural network.
In this study, multi layer perceptron architecture with back propagation is proposed to predict monthly rainfall rate. The result can be used as a basis of crop plantation scheduling. The rest of the paper is organized as follow; related work in this field is described in section 2, the proposed artificial neural network is explained in section 3, experiments result and discussion is provided in section 4 and conclusion and future research direction is given in section 5.

Literature Review
Researchers have proposed various artificial neural network model of weather forecasting. Several parameters of weather have been modeled using artificial neural network, such as temperature, relative humidity and rainfall. Hu [10] implemented ADALINE system for weather forecasting, which became one of the earliest applications of artificial neural network in weather forecasting. Narvekar and Fargose [7] used artificial neural network with back propagation for daily weather forecasting. They use weather data in a certain region. The outputs of their model are the minimum and maximum temperature of the day, relative humidity and rainfall. Kaur et.al. [11] implemented artificial neural network to predict hourly temperature, relative humidity and wind speed for 24 hour ahead. The data is separated for winter, spring, summer and fall seasons. Harshani et al [8] proposed an ensemble neural network (ENN) for daily rainfall forecasting. ENN combine a finite number of ANNs that are trained for the same task. The result of the ANNs is combined using weighted average method. Their study uses forty-one years of daily data from the area of Colombo. The data is divided into four climates season every year with twenty-six variables. [8] stated that ENN gives more accuracy than individual Back Propagation Network (BPN), RBFN and General Regression Neural Network (GRNN).
Mekanik et al. proposed a long-term rainfall forecasting using larga scale climate modes [5]. They select El Nino Southern Oscillation (ENSO) and Indian Ocean dipole (IOD) as predictors of rainfall. The data sample was obtained from three regions of Victoria, each having three rainfall stations. ANN with MLP architecture and Multi Regression (MR) were chosen in the study. The authors stated that their proposed ANN model shows higher correlation compared to MR model. The ANN also produces lower error than the MR.
Weather data over a long period of observation in specific area is sometime difficult to obtain. Missing data is often occurs in the data set. This could lead in difficulty in predicting the rainfall in the area. Several researchers develop models to reconstruct the missing data. Michaelides et al [12] implement ANN and multiple linear regressions to estimate missing rainfall data. Kalogirou [13] reconstruct the rainfall over time series using ANN.
Even though there are many researches on rainfall forecasting, identifying and predicting rainfall still become a challenging task. New models are continuously proposed and more intelligent computing methods are involved.

The Neural Network Configuration
Artificial Neural Network is a soft computing method that mimics the behavior of biological neural processing [3,14]. The method mainly used for classification and predictions. In this study, multi-layer perceptron (MLP) is chosen as the network for rainfall predictions. MLP is selected due to its ability for solving complex and non-linear problems. Backpropagation is used as the learning method [3]. The backpropagation method consists of three steps: feed forward, calculating the error and feed backward.
Two neural networks models are proposed. Both models consist of input layer, one hidden layer and output layer. In the first network model, there are n input nodes, x1, x2, … xn which denotes the rainfall rate of n previous years of the same months of the month that will be predicted. For example, if rainfall rate of Dec 2016 is predicted, the input is the data of rainfall rate of month December in the year of 2015, 2014, 2013, etc. The number of hidden nodes is set the same as the number of the input nodes. The output is the estimated rainfall rate of the month, o. The network of the first model is illustrated in figure 1.  The transfer function and the activation function in the hidden layer nodes are given as follow: Mean square error (MSE) is used to evaluate the performance of the proposed network, and is given as: MSE = (Σ (Ti-Yi) 2 )/l , i = 1, 2, …, l where l is the number of training data.

Experiments Result
The performances of the proposed networks are evaluated based on the historical monthly rainfall data from 2001 to 2013 in Ampel, Boyolali, Central Java. The experiments were run on Intel ® Core™ i5-2410, 2.30 GHz, 4 GB RAM, and coded using Matlab R 2009a.
The data were normalized

xi = (xi-xmin)/(xmax-xmin)
The normalized data is shown in figure 3.  The second observation is focused to examine the number of input n. The parametes setting for the observation was set as follow: n = 2-12, α = 0.1, w = 0.5. The experiment result show that there is slightly performance improvement where the number of input n increase from 2 to 7. Further increment of n will significantly improve the performance of the model. The result is shown in figure  5. is significant improvement for α = 0.00 to α = 0.05. Further increase in α will slightly decrease its performance. The experiment result is shown in figure 6.   Table 1 show that the network model 1 is better than the network model 2 in term of accuracy and precision. The average accuracy of the first model is slightly higher than 98%, with the worst accuracy is just above 95%. On the other hand, the average accuracy of the second model is just under 75%. Its MSE is approximately 20 times worse than the MSE of the first model. The experiment result reveals that the annual cyclic of seasons is a preponderant variable in determining the rainfall rate. It is superior compared to the effect of rainfall rate of the previous m months. In order to support the comparison of both models, two-tailed t-test is conducted to determine the significance different of the methods. In the two tailed t-test, the value of α is divided in half, placing half in each tail. The null hypothesis in two tailed t-test is a particular value (based on table look up). There are two alternative hypotheses, one positive and one negative. The critical value of t, called tcritical, is written in plus and minus sign (). The value of t can be calculated as follow: = − + Where and are the mean of experiment results for method 1 and method 2 respectively. var1 and var2 are the variance of experiment results for method 1 and method 2 while n is the number of observation. In this study, the degrees of freedom equal to 6. The critical value tcritical for df= 21 and α = 0.05 is 2.080. Three sign is used to indicate the results; '~' indicate that there is no significant difference in the means, '+' sign indicates that the mean value of model 1 is better (smaller) than model 2, and '-' sign indicates that the mean value of model 1 is worse (larger) than model 2. The ttest result is given in table 2.  The t-test result show that model 1 is better that model 2 in all months. The first and the second models are performing the best in predicting the rainfall rate in August and performing the worst in predicting the rainfall rate in April and March respectively. Figure 8 shows that the MSE tends to increase when the deviation standard of the rainfall rate is high. In month March to April and September to October, the rainfall rate varies a lot. It might have the correlation with the climate change, from wet season to dry season in March to April, and from dry season to wet season in September to October.

Conclusion
In this paper, two novel artificial neural network models are proposed. The model is used to predict monthly rainfall rate. The performance of the proposed model is evaluated based on the monthly rainfall rate in Ampel, Boyolali, Central Java, from 2001 to 2013. The parameter setting is determined through parameter sensitivity analysis.
The experiment result shows that the accuracy of the first model is significantly better than the second model. It MSE is approximately 20 times better than the MSE of the second model. The results also reveals that the models will perform better if the rainfall fluctuation is smaller, e.g. rainfall in August. In months March, April and December, the accuracy of the proposed models tends to be low as the fluctuation of rainfall is high.
Future research can be extended in several ways. The proposed models could be extended in order to improve its accuracy. The performances of the proposed models need to be evaluated based on larger data, such as daily or weekly rainfall rate.