# Positioning by Multicell Fingerprinting in Urban NB-IoT Networks +
## 4 Dataset Description and Analysis
### Preprocessing of the Rome Dataset  
The goal of the preprocessing of the Rome dataset was to compensate for the data loss observed on raw data by introducing synthetic data values obtained by interpolating available data. In order to select the most suitable interpolation technique, the Oslo data were used as a reference dataset to evaluate and compare the performance of the following interpolation techniques:  
* Previous: Indicating with \(i\) the index of a missing sample \(x_{i}\), the sample is replaced with the value of the previous available sample, \(x_{i}=x_{k}\), where \(k<i\) is the index of the last sample available before \(x_{i}\);  
Figure 4: Statistics for the number of unique NPCIs per data point with valid RF data for the Oslo dataset (**left**) vs. the Rome dataset (**right**). * Next: The missing sample \(x_{i}\) is replaced with the value of the next available sample, \(x_{i}=x_{l}\), where \(l>i\) is the index of the first sample available after \(x_{i}\);
* Nearest: The missing sample \(x_{i}\) is replaced with the value of the nearest available sample, \(x_{i}=x_{j}\), where \(j\) is determined as the index of the available sample such that \(|i-j|\) is the minimum;
* Linear: The missing sample \(x_{i}\) is replaced as \[x_{i}=\frac{(i-k)x_{l}+(l-i)x_{k}}{l-k},\] where \(l>i\) is the index of the first sample available after \(x_{i}\), and \(k<i\) is the index of the last sample available before \(x_{i}\);
* Moving average: The missing sample \(x_{i}\) is replaced using \[x_{i}=\frac{1}{w_{a}}\sum_{j=-m_{1}}^{m_{2}}x_{i+j},\] where \(m_{1}\geq 0\), \(m_{2}\geq 0\), and \(w_{a}=m_{1}+m_{2}+1\) (missing values are skipped in the computation);
* Moving median: The missing sample \(x_{i}\) is replaced with the median value computed over the set composed of the \(m_{1}\) samples before \(x_{i}\) and the \(m_{2}\) samples after it for a total averaging window length \(w_{m}=m_{1}+m_{2}+1\) (missing values are skipped in the computation);
* Spline: The missing sample \(x_{i}\) is replaced by performing a piecewise cubic interpolation using the closest neighboring available samples [42; 43];
* PChip: The missing sample \(x_{i}\) is replaced by performing a piecewise cubic interpolation that preserves the curve convexity [44];
* m-Akima: The missing sample \(x_{i}\) is estimated using a modified version of the Akima algorithm [45; 46], which is also based on a piecewise polynomial interpolation of degree three or less, in this case determining the slope in the interpolated point as the weighted average of the slopes of the neighboring points; the modification to the original algorithm is in the weights given to the slopes, selected so to reduce overshoot in the vicinity of points with a horizontal slope. Figure 5: _Cont._  
The techniques were evaluated and compared on the Oslo dataset by adopting the following procedure:  
1. Randomly select a set of \(N=500\) unique NPCIs to be analyzed and perform the subsequent steps for each NPCI in the set;
2. Artificially remove a fraction \(P_{L}\) of RF values equal to the average data loss observed in the Rome data--the removal was carried out by extracting a uniform random variable for each data point including the NPCI under analysis and by removing the RF data if the random variable outcome value was larger than \(P_{L}\);
3. Interpolate the missing data using each technique;
4. Evaluate and compare the performance of each technique according to two indicators--the mean square error (MSE) and the determination coefficient \(R^{2}\). In order to define the two performance indicators, let us consider a sequence and assume to replace \(m\) values of the sequence with estimates obtained with the selected interpolation method.