# Application of Machine Learning to Include Honking Effect in Vehicular Traffic Noise Prediction
## 2 Materials and Methods
### Machine Learning Methodologies  
The traffic noise prediction models were developed using four machine learning methods in R software [35], namely decision trees (DT), random forests (RF) [36], generalized linear models (GLM) and artificial neural networks (ANN) [24,25]. These methods have been implemented in the 'Rattle' (R) software [37] which is open source and has a GNU (general public license). The different machine learning methodologies used in the present work are briefly described below:  
1. Decision Trees (DT) [18]: These methodologies are employed in machine learning applications where an analysis of the data is required. They use a structure which resembles a flow chart as they are based on deterministic data structures and used in classification problems. At the top of the tree, there is a root node and the branches represent the tests that are done and the leaves denote the results of the tests. The _part( )_ function builds a decision tree model. A decision tree works by splitting nodes into sub-nodes. The parameter _MinSplit_ describes the minimum number of members that a node should have before the split is attempted. _MaxDepth_ indicates the maximum depth or length of the tree, starting from the root node up to the leaf node. _MinBucket_ parameter specifies the minimum number of entities that a leaf node can have. The default value is generally one-thirds of the _MinSplit_ value. 2. Random Forests (RF) [36]: In this approach, groups of decision trees are created. This is an ensemble method, which can be used for regression, classification and other tasks. They avoid over-fitting, which can be a drawback in the decision tree method, by making random decision forests. The observations are used as input for each tree and the most common outcome is used as the final output. As the errors are cancelled  
Figure 3: Scatter plot of traffic volume (Q), heavy vehicles percentage (P), honking occurrences (H) and measured continuous equivalent levels (\(L_{eq}\)), with bivariate scatter plots below the diagonal, histograms on the diagonal and the Pearson correlation above the diagonal. out, a more accurate prediction is obtained using this method. The _randomForest_ ( ) function is used for the implementation of the random forests. [PERSON] (2001) [36] introduced the idea of random sampling of variables at each node as the tree is being built. He also introduced the bagging concept for the sampling [38] in which random samples are chosen for the training dataset for each tree. It helps in making the model robust to noise and outliers. The parameter _ntree_ specifies the number of trees built in the Random Forests model. 3. Linear Models: Generalized linear models (GLM) make use of and combine different types of regression, e.g., linear and logarithmic [39]. They take care of different types of distribution like the log-linear and log-odds, as the response is not always linear and might not follow a normal distribution. 4. Neural Networks [40]: Artificial neural networks (ANN) are similar in working to the human brain which uses neurons (connections of nodes) for the learning tasks. The process involves the assignment of weights to the inputs and activation functions for getting the desired outputs. There are different layers in a neural network like an input layer, a hidden layer (which performs non-linear transformations of the inputs) and an output layer of neurons. The function _neuralnet_ ( ) is used to build a neural network model in R software [35]. The parameter _hlayers_ is used to specify the number of hidden layer nodes or neurons in the NN architecture. _MaxNWs_ sets the maximum limit of the number of weights that can be used in the model. The _maxit_ parameter defines the maximum number of iterations to be done during the training. The values of the training hyperparameters for the different methods have been taken based on experience and literature survey and are briefly given below. For the decision trees, the value of _MinSplit_ used is 20, _MaxDepth_ 30 and _MinBucket_ 7.