# Parallel Hierarchical Genetic Algorithm for Scattered Data Fitting through B-Splines
## 5 Simulation Results  
### Experimental Set  
To evaluate the performance of our approach we compared the PHGA results with those obtained using the following methods: cubic smoothing spline (CSSPL), locally weighted scatterplot smoothing (LOWESS) and Fourier curve fitting (FCF). This evaluation considers six benchmark functions (see [2; 48; 49; 50; 51] for details), whose mathematical equations are shown in Table 2.  
For each function several synthetic noisy data sets \(\{(x_{i},y_{i}):i=1,...,n\}\) were created. Here, a data set consists of random values \(\{x_{1},x_{2},\cdots,x_{i}\}\) generated into a defined domain (see Table 2) using a random uniform distribution, which allows us to have unstructured data locations or scattered data. For building the data sets, the \(x_{i}\) values were evaluated for each function \(f\) adding a zero-mean normal noise with a known \(\sigma\) in order to have a specific signal to noise ratio (SNR), defined as \(SD(f)/\sigma\). The number of values \(x_{i}\) used for each function was 100 for each one of the 100 test sets generated for SNR = 3, SNR = 2 and SNR = 1 per function, resulting in 1800 tests to validate our approach. Since the domain of function 4 was defined over the interval \([-2,2]\), it was necessary to scale them to an interval \([0,1]\) in order to evaluate our approach under equal conditions. \begin{table}
\begin{tabular}{c l l} \hline \hline
**Number** & **Function** & **Domain** \\ \hline \multirow{2}{*}{\(1\)} & \(f_{1}(x)=4.26\epsilon^{-\beta x}-4\epsilon^{-2\beta x}+3\epsilon^{-3\delta x}\) with & \\  & \(\beta=3.25\) & \(x\in[0,1]\) \\ \hline \multirow{2}{*}{\(2\)} & \(f_{2}(x)=sin^{3}(2\pi x^{3})\) & \(x\in[0,1]\) \\ \hline \multirow{2}{*}{\(3\)} & \(f_{3}(x)=(4x-2)+2\epsilon^{-16(4x-2)^{2}}\) & \(x\in[0,1]\) \\ \hline \multirow{2}{*}{\(4\)} & \(f_{4}(x)=sin(x)+2\epsilon^{-30x^{2}}\) & \(x\in[-2,2]\) \\ \hline \multirow{2}{*}{\(5\)} & \(f_{5}(x)=sin(2(4x-2))+2\epsilon^{-16(4x-2)^{2}}\) & \(x\in[0,1]\) \\ \hline \multirow{2}{*}{\(6\)} & \(f_{6}(x)=10(4x-2)/(1+100(4x-2)^{2})\) & \(x\in[0,1]\) \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Test functions. Experiments over six functions were performed using PHGA, LOWESS, FCF, and CSSPL methods. Our approach, PHGA, was executed using 10 islands with a population of 200 individuals per island; each island evolved for 999 generations, and a migration process was performed each 200 epochs. The number of islands and epoch were selected taking into account the temporal and spatial complexity in our experiments as well as the point were PHGA achieved stability. In Table 3, the parameters used in the PHGA are shown. To implement LOWESS and FCF curve fitting we have relied on \(fit\) routine for LOWESS and FCF fitting, and \(csaps\) routine for CSSPL fitting, both from the Curve Fitting Toolbox in MATLAB. For CSSPL, it was necessary to specify a smoothing parameter \(p\), which was determined by:  
\[p=\frac{1}{1+\frac{h^{3}}{d}}, \tag{13}\]  
where \(h\) is the average spacing between \(x_{i}\) values, and \(d\) was determinated as the mean of the values that perform a fitting with the lowest error for each function, i.e., the data sets corresponding to each function were grouped with their three noise levels, then CSSPL was performed varying parameter \(d\) into a range, and finally the mean of the values \(d\) with the smallest error for each test set grouped by function was taken to perform CSSPL fitting for comparing with PHGA. For the PHGA, each chromosome of the initial population consisted of \(m\) knots and its respective coefficients \(\alpha\), which were placed and fixed randomly. In order to place the knots, a boolean random value was generated for each point \(x_{i}\) and for true values knots were established at those points; then, its respective coefficient values \(\alpha\) were generated over the range \([min(y),max(y)]\) to fulfill the structure of chromosome used (Section 3.1).