# Pido: Predictive Delay Optimization for Intertidal Wireless Sensor Networks
## 5 Assessment of Pido
### The Delay Distribution of Pido  
We compare the delay distribution with the knowledge of node future status (with classifier) and current status (with electrodes) in Figure 10. We design a classifier to predict the nodes future status, which can be utilized for routing selection in Pido. As above, a pair of electrodes is also embedded in our sensor nodes to detect submersion. We observe that nearly half of the delays are the same between these two mechanisms. The reason is that they choose the same routing paths when nodes are truly above water according to the delay metric proposed in Pido. However, Figure 10 also reveals that nodes are able to select routing paths more wisely and avoid being trapped in submerging nodes with the guidance of the node future status. The result in Figure 10 demonstrates that Pido with the classifier can decrease the system latency efficiently. The Evaluation of Predicting \(S^{\prime}(t+\tau)\)  
As mentioned in Section 4.2, \(S^{\prime}(t+\tau)\) is the prediction of node status at time \(t+\tau\). We utilize three indicators: above-water duration (\(D_{aw}\)), available neighbors (\(N_{nb}\)) and available links (\(N_{link}\)) at time \(t\) to predict node status at time \(t+\tau\). Three algorithms that include Logistic Regression, Ada Boost Classifier and Gaussian Naive Bayesian are attempted in Pido. To validate which algorithm is more suitable for the IT-WSN, we compare the performance of these three algorithms based on the field test results in the Zhoushan system, and the results can be referred to in Figure 11. \begin{table}
\begin{tabular}{c c c c c} \hline \hline  & **Network Size** & \begin{tabular}{c} **Average Under-Water** \\ **Time** \\ \end{tabular} & \
\begin{tabular}{c} **Average Delay** \\ **(Cycle) 1** \\ \end{tabular} &
\begin{tabular}{c} **Energy Consumption 2** \\ \end{tabular} \\ \hline Field Test with Pido & 27 nodes & 458 cycles & 93.9 & 35.6 \\ Field Test without Pido & 27 nodes & 458 cycles & 374 & 37 \\ Simulation & 27 nodes & 458 cycles & 72.8 & 32.2 \\ \hline \hline \end{tabular}  
* The average delay is calculated in cycles. 2 The energy consumption is calculated by counting the average transmission times of packets.  
\end{table} 
Table 4: The comparison of the field test results and simulation results. Figure 10: The delay distribution of Pido with future node status and current node status (network size: 225; average under-water time: 360 cycles). **Each node has a unique classifier:** A straightforward idea is training each node with a unique classifier. We utilize real trace data from the IT-WSN in Zhoushan and evaluate the prediction accuracy of three algorithms with \(\tau\) from 1 to 21 cycles. The prediction accuracy of node status in the IT-WSN is shown in Figure 11a. We find that the prediction accuracy decreases with the increase of \(\tau\). The reason is that the features we selected for status prediction are time sensitive, which means they are more valid when utilized for a comparatively shorter time prediction. When \(\tau=1\), all three of these classifiers can reach a high prediction accuracy over 97%, which reveals that the indicators we select are strongly related to the node status. Recall that, in Figure 6, we utilize a tidal predictor to predict nodes' future status. Our classifier can increase around 17% for each \(\tau\) when compared with the results in Figure 6. On the other hand, we also notice that the prediction accuracy of Logistic Regression decreases slower than the other two algorithms, and even performs better when \(\tau>13\). **A single classifier for all nodes:** Training specialized classifiers for nodes can reach a good performance, but it also leads to huge overhead on both dissemination and calculation. To solve this, we attempt to find a universal classifier for all nodes. We utilize real trace with Logistic Regression, Ada Boost Classifier and Gaussian Naive Bayesian to train the universal classifier. The results are shown in Figure 11b.