Duc-Thuan Le
11institutetext: HCMC University of Technology, VNU-HCM, Vietnam
Prediction based computation offloading and resource allocation for multi-access ISAC enabled IoT system
Abstract
In the new era of the Internet of Things (IoT), tasks are now being migrated to edge sites closer to data generators. Mobile devices inherently encounter limitations in terms of energy and computational processing capabilities. In high mobility paradigm, ISAC provides a promising foundation for integrating deployment management within dynamic spatial settings. We are interested in applying prediction mechanism to resource allocation management by extracting data attributes, focusing on ISAC related contexts of the trajectory and velocity and making the allocating decision. We present a system design, a theoretical framework and an implementation of the ClusterMan software package. The numerical suggest that the strong clustering subset of feature may yield high accuracy up to 97% in the prediction results.
keywords:
computational offloading, clustering, prediction, ISAC1 Introduction
With the advent of the Internet of Thing, there has been a paradigm shift towards relocating tasks from centralized processing centers to the edge locations, where data is generated, has occurred and being exploded. This potential unlocks the high dynamic scenarios, such as automotive and industrial applications, which have previously been limited due to the problem of battery capacity and slow processor speed. When combined with spatial factors, as seen in Integrated sensing and communication (ISAC) [1], it forms a cornerstone in ongoing 6G implementations. However, employing an efficient resource allocation mechanism in combination with understanding the spectral efficiency in spatial variance in the wireless channel remains incomplete.
The issue of offloading computation to servers has been researched and implemented across various system types [2]. In distributed and multi-access networks, objects can also be moved at the environmental level, such as with Docker [3]. However, these mechanisms are constrained by the large volume of data, which is not always suitable for IoT system environments.An alternative direction being considered is an adaptation of previous telecommunications device subsets, now applied to IoT, known as Mobile Edge computation offloading [4]. In this approach, each data bit is carefully weighed against the energy consumed for processing at the device or at the server system [5]. While multi-site cloud computing [6] offers significant computational power, the data transmission latency is too large to operate matching the requirement of processing time delay of IoT devices. Therefore, mobile networks are utilized to supplement computational capabilities.
Current solutions in computation-assisted mobile network encounter the problem of spectral efficiency in spatial variances especially in high mobility paradigm. Consequently, the development of 6G networks aims to integrate sensing into communications and target ISAC enabled IoT system. The biggest challenge of handling spatial factors and trajectory movements to modulation speed is addressed in OTFS [7]. OTFS is noted for its ability to transmit data for shorter period of times, enabling longer-range radar and/or faster target tracking rates [8], making it a promising mechanism for ISAC. We consider the offloading in the practical implementation of ISAC, OTFS, specifically using velocity modulation, which poses a challenge due to the complexity of the modulation domain. Previous solutions focused on optimization approach, but failed to ensure the flexibility of the solution, depending on the nature of the data.
This study applies attribute analysis and data correlation in building predictive solutions in Meta-learning (MAML) [9] to the problem of strategy selection and resource allocation mechanism construction. We present the two models relevant to the ISAC enable communication in IoT system In the first model, we analyse the data structure and clustering characteristics. In the second model, we employ the regression model to formulate the clustered feature into resource allocation prediction. We examine different subset of resources includes frequency, speed and offloading factor. We developed a novel outlier theoretical framework to perform the prediction in spectral efficiency and ensure the convergence of the proposed mechanism. We prove and show by numerical simulation that the capability prediction accuracy.
2 System design
2.1 ClusterMan architecture design
The architecture of the ClusterMan system is designed for deployment in a distributed system of mobile devices that require low-latency responsiveness and energy-efficient consumption. It employs wireless communication channels that leverage velocity modulation and a unified centralized processing server system. From a user’s perspective, this system appears as a single server with unlimited capacity. Specifically, the described architecture in Figure 1 includes the following components:
Software Management Subsystem orchestrates the efficient utilization of resources, manages cluster models, and optimizes carrier frequencies. It consists of three key components: the ResourceMan, the ClusterModelMan, and the CarrierFreqMan, detailed in the following list:
-
-
ResourceMan: This component provides the allocation and utilization of available resources within the system. It monitors various system resources such as CPU, memory, storage, and network bandwidth to ensures that resources are efficiently allocated to different tasks within the system.
-
-
ClusterModelMan: This component manages and optimizes cluster configurations. It maintains a repository of diverse cluster models, and facilitates the selection of an appropriate model based on considerations such as performance goals, resource constraints, and scalability requirements.
-
-
CarrierFreqMan: This component focuses on managing carrier frequencies within wireless communication systems, including tasks such as frequency allocation, channel selection, and velocity modulation. It collects and analyzes wireless physical resource, then it determines the optimal carrier assignments to maximize resource utilization.
Mobile Edge Computing Subsystem collaborates the two main components to enable efficient task processing and offloading, leveraging both centralized and local computing resources. The main components are:
-
-
Edge Server: This component serves as a centralized computing node, equipped with unlimited processing capabilities to manage intensive computation tasks. It offers high-performance computing resources capable of handling multiple concurrent requests from mobile devices.
-
-
Mobie Device/IoT layer: This component represents the end-user device, such as mobile devices, vehicles, or IoT devices equipped with sensors, user applications enabling them to collect local data. These devices typically have limited computational resources and power constraints compared to Edge Servers then thus requiring them to offload their heavy tasks to the Edge Server for further processing.
2.2 ClusterMan interface and interaction specification
Within the Software Management Subsystem, the interaction among its components facilitates effective operation, efficient resource utilization, enhanced system performance, and reliable communication, includes:
-
-
Model retrieving: the ResourceMan interacts with the ClusterModelMan to retrieve information about available cluster configurations and their associated features. This interaction enables the ResourceMan to make informed decisions regarding resource allocation and scheduling.
-
-
Physical platform information retrieving the ClusterModelMan, upon receiving a request from the ResourceMan, selects an appropriate cluster model based on the workload characteristics and resource requirements. It further leverages information from the CarrierFreqMan to establish the appropriated clustering scheme on the physical platform.
-
-
Physical platform information provider the CarrierFreqMan provides essential information to ClusterModelMan about the physical platform, including channel conditions and interference levels. This information is utilized to configure cluster settings.
The interaction between the Edge Server and the Mobie Device/IoT layer is described as follows:
-
•
Task offloading: when the Mobie Device/IoT layer has tasks that exceed its processing capacity or require centralized resources, it delegate these tasks to the Edge Server. This offloading process can harness the advantages of event communication systems in tandem with application migration [11, 12] to orchestrate task and delegate tasks efficiently.
-
•
Centralized cluster processing: the Edge server receives task requests from Mobile Devices and performs centralized cluster processing based on predictive estimation to make the resource allocation decision. Through resource orchestration, it leverages a unified unlimited computational resources at large scale [13] to execute heavy computations efficiently in almost zero-delay response.
-
•
Result delivery when the Edge Server completes processing tasks, it sends the results back to the requesting Mobile Devices. These outcomes may include aggregated info and usually has small data size and can be omitted in order to decouple the transmission process and computation process. [14].
3 System Model
3.1 System notations
Given a system consisting a set of users and one Edge Server (ES). Each user uses exactly one mobile device (MD) then there are total of MD in the system. On each device, there exists a set of computational tasks. These tasks process an input stream of data, and the total number of tasks is denoted by , where each task is indexed by . As a result, input data of a -th task on MD has the length of bits.
3.2 Task model
Each input data of a task on a MD has a task with an offloading ratio . That portion is sent to the ES for computation, thus not using the MD’s resources. Consequently, the length of the data kept for local execution on the MD is .
We ignore the time and energy consumption in the ES when processing the data of the task when offloading it to the ES for processing, because the processing capacity of the ES is infinite, so the execution time is fast and the resource usage is negligible and can be ignored.
3.3 Local computation model
Each MD is assumed to operate at a fixed processing speed of during the execution of any task.To perform computation, the quantity describing the complexity is with units of CPU cycles/bit, indicating the average number of clock cycles required to process one bit of input data. The execution time of the task computed locally on the MD, , in seconds, is expressed as follows:
(1) |
where is the CPU speed of MD measured in (Hz), and is the number of CPU cycles required to execute one bit of data on MD for the task .
The corresponding amount of energy is:
(2) |
where is a energy coefficient determined by the chip architecture of MD .
3.4 Communication model
Considering that the data size of the task processed result is negligible compared to the data size of the tasks themselves, in this work, we only focus on the uplink transmission. We consider the situation where the ES allocate spectrum bandwidth represents the bandwidth allocated to MD by the ES to offload its computation. The uplink transmission rate from MD to the edge ES can be rewritten as follows:
(3) |
where is the uplink transmission power of MD . Assume the paths between transmitter and receiver has little fading effect, the channel gain is a constant close to 1. refers to the variance of the additive white Gaussian noise. The notation (bit/s/Hz) is the spectral efficiency (SE) with variables being the vehicle speed and being the carrier frequency.
We assume that the wireless links transmit data at a fixed rate measured in bits per second (bps). The transmission delay from MD to the ES for offloading tasks can be defined as
(4) |
The corresponding energy to perform the transmission is:
(5) |
3.5 Problem modeling statement
The estimated total execution time for processing the task of MD for any case can be expressed as follows:
(6) |
The total energy consumption for processing the task of MD at time is the sum of the component energies
(7) |
By substituting the computed quantities from expressions (2) and (5) to the equation (7), we obtain the formulation of the total energy expression optimization problem as follows:
(Problem P1):
where the set of optimization variables is defined as and the computation of is considered an indivisible unit task. In the subsequent steps, we will develop the solution for problem (P1).
4 Proposed Algorithm
We aim to develop a prototype system where the components of the system are modeled and tested, then a feasible solution algorithm is provided. The algorithms designed at this stage have the nature of finding solution approaches to demonstrate the feasibility of the topic and is far from optimum. The results of the algorithm, named IteraGAlg, are described in section 4.1, it consists of two steps: configuration setup and greedy solution selection.
In the next stage, the enhanced algorithm design are shaped by the analysis of the feature selection. Despite providing a solution with low complexity, the greedy yields results that diverge significantly from the actual system configuration. In some cases, the difficulty of the problem formulation and the high dimensions of problem spaces make it difficult for us to find the optimum. In our extended approach, we employ predictive methods to augment the baseline solution by leveraging the adaptation from an unrealistic high-dimensional problem to a realistic data-driven approach. Therefore, we proposed an algorithm in section 4.2, named ClusPreAlg, that does not aim to find an optimum, instead we apply the prediction to provide adaption to the realistic experimental environment with large scalability and heterogeneity.
4.1 The Greedy Algorithm - IterGAlg
From the formulation of Problem (P1) includes task model, local execution model, and offloading model, we propose a greedy algorithm that optimizes the total energy consumption of all MD and tasks. Assuming a pool of MD and tasks of individual MD is already given as well. The algorithm details are presented in Algorithm 1 is processed through the 3 steps as listed below:
4.1.1 Step FI - Feasible Initialization
In this step, we initialize the system with a feasible set of values. As is common in offloading problems, we are interested in starting the offloading at the 50% of the data input size. This initialized value might be changed depending on the different test scenarios later.
4.1.2 Step FS - Feasible Solution
This step performs the initialized calculation of total energy with a predefined offload list as an input argument. There are two steps of calculations, which include the local execution energy and the offloading energy energy. The former term is straightforward, achieved by applying mathematical modeling, while the latter term involves the formulation of offloading transmission and employs the external determination of spectral efficiency, as mentioned in 3.4.
4.1.3 Step GIm - Greedy Improvement
The greedy improvement step starts by entering a loop where it tries to improve the result using greedy approaches after each iteration. We keep track of the best reachable result in a global optimum value. Then, in each loop step, we recalculate the new total energy consumption of all tasks. There are two expected outputs:
An improvement is obtained if a updated total energy results is less than the current tracking minimum, the algorithm updates this minimum value. In addition to updating the new minimum energy consumption, the algorithm picks out the worst-performed task, i.e. the task consuming most energy, and increases it offloading ratio by 0.01 or 1% to seek for energy consumption reduction and continues the next iteration.
A saturated stage is reach; no improvement is found if this stage is reached, it indicates that the algorithm has exhausted all feasible options for improvement without achieving any further enhancements. Due to the step searching approaches, the algorithm has performed a semi-brute-force iterations to explore all the possibilities and surmount the limitations inherent to the current approach.
4.2 Clustering Prediction Approach Algorithm - ClusPreAlg
The greedy technique often produces output that is significantly different from the actual system. There are several reasons for this disparity, such as the complexity of problem formulation model and the large size of problem domains. In certain scenarios, navigating through input variants poses significant challenges in achieving the optimal solution. We utilize two transformed phases to improve the baseline solution, thereby enhancing its adaptivity.
-
•
Feature extracting we tackle the disparity by a refined methodologies to extract the feature classification which is capable of better approximating real-world scenarios
-
•
Clustering prediction after obtaining the extraction result, we aim to enhance the baseline solution by employing clustering prediction techniques. The prediction with pragmatic data-driven approach holds the potential to bridge the gap between theoretical models and real-world applications.
The whole process can be summarized in the pipeline workflow described in Section 4.2.1. Details of the first transformed phase are provided in Section 4.2.2 and are mainly focus in the function . The description of the second transformed phase, which involves mitigating feature extraction to prediction, is implemented in the function and is presented in Section 4.2.3. To provide the overview picture, we describe the procedure in Algorithm 2. To enhance theoretical contribution, we draw the conclusion in the Remark 4.1 and then make a statement of the Proposition 4.2.
4.2.1 The prediction and pipeline approach
The proposed solution starts by simulating a set of random MD and tasks and aims to optimize the total energy consumption among all tasks of devices. Next, the optimized tasks as well as MD information are compiled into a dataset.
A feature selection process is applied on the dataset to extract the most useful variables affecting energy consumption. After that, the dataset is partitioned into a set of clusters and be applied a separate prediction model on each cluster.
4.2.2 Feature selection process
Due to the non-linear relationships between the other features and energy consumption, the correlation metrics fail to detect the effect of these variables on the energy. We employs the algorithm to calculate the MI between variables and energy named mutual_information_regression [15].
In addition, Figure 3(a) indicates the possibility of clustering to help in prediction model. This figure demonstrates how data points are grouped into clusters, which can be essential in identifying patterns and is a more intuitive grasp of the data distribution. The use of clustering can simplify the data pre-processing steps, making it easier to handle large datasets and improve the overall efficiency of the development process with the selected features as shown in Figure 3(b).
Remark 4.1.
(Clustering MI Impact) We further investigate the concern on feature clustering on our greedy result which is shown in Figure 3. This preliminary result is important in illustrating that extracting all 4 features does not achieve the best MAE error rate. In contrast, extracting a subset of 3 out of 4 features might be less accurate than using a larger number of features. However, when an appropriate subset of features is selected, where the clustering ability is stronger, indicated by a higher MI value, the final error rate can be even better than when using all 4 features.
After pre-traning step, it is common to make an assumption of the expected output monotonicity. At each step, the given solution is the most valuable subset of items that satisfy the constraints. Now if the capacity increases, the new set of item about to be selected are expected to be at least as valuable as before
Assumption 1
(Theorem 1 in [16]) In a setting of d dimension feature, there exists a meta-algotithm that corrects the monotonicity for any function K-mean cluster c: has , where the first expectation is taken over the input distribution and the randomness in the meta-algorithm
Assumption 2
At each state of the training process iterates over a set state , the context environment is and cluster algorithm propose a result of clustering distribution and there is existed a limit : which a normal situation to ensure the effectiveness of clustering pre-training.
The concurrent probability of context environment over set of cluster
(8) |
The pre-training with 2 condition (a1) span over clustering at each stage and (a2) the concurrent probability of context environment span over set of cluster
Proposition 4.2.
The error bound of clustering prediction The boundness of the probability of reward
(9) |
where it employs the bound of , i.e.
Proof 4.3.
We roll out the probability of the reward in (10)
(10) |
using where (b1) is Bayesian model averaging, (b2) is the substitution of (8) and the properties of integral and we have the monotonicity from the common assumption 1 of meta-learning (MAML) then we have as an appliance of Riemann integral definition. We arrive at
(11) |
Then we rewrite (11) in average form to obtain (9). Further more, we rewrite in the KL as usual formulation in K-cluster domain.
4.2.3 The clustering prediction ClusPreAlg algorithm
Equation (7) shows no optimum solution, we devise a numerical approximation method to predict the total energy consumption. The model has three steps:
-
•
Scaling the variables to the range [0,1]
-
•
Performing the K-means clustering with given number of clusters
-
•
Train separate prediction models on each cluster
Different variables have distinct units and interpretations. For example, a speed of is not equivalent to a processing frequency of . Scaling transform eliminates concerns about their actual units. Additionally, K-means clustering minimizes the inertia function, which is heavily influenced by the scale of the features. As a result, features with strong clustering can dominate and overshadow those with smaller ones. The algorithm is given as follows:
5 Numerical results
5.1 Experiment set-up
We leverage a novel large-scale database of a tracking data set in a real vehicle trajectory. The VED dataset [17], which logs GPS trajectories of automobile in timing recording and monitoring the status of fuel, energy, speed and auxiliary power consumption. Since our clustering prediction primarily concern the value of mobile/IoT device traveling in 2D earth coordinator of longitude and latitude. To avoid the partial interference derivation between the two dimension in velocity estimation, we are interested in discovering the feature of device modeling as UAV in plane where the moving distance as shown in Figure 4, then we can transform that We develop a Python library named Spectral Efficiency Estimator as in section 2.1, which is deployed on a server run at 3.6GHz, 16 cores and 32 GB memory. The dataset VED is spanned on 12GB size which includes 22.3 million of records and be accessed through Python Pandas library [18, 19].
5.2 The evaluation of the baseline IterGAlg algorithm
5.2.1 The impact of modulation settings
The system’s efficiency is measured by the total energy consumption of MDs and processing of their tasks. The size of data need to be uploaded has an important impact on the overall system performance. To evaluation, we derive the following experiment to figure out the data size impact.
The proposed algorithm is validated in Figure. 5 here ensures for local optimization and may not guarantee a global minimum due to their inherent approach of selecting the best immediate option. It also shows that in high mobility scenario, as speed ranging from 100 - 400 m/s and the spectral efficiency drops, results in lower energy consumption overall. This could be explained due to the reduced communication rate without power adjust to balance the rate loss.
5.2.2 The impact of the offloading ratio
The greedy algorithm aims to reduce the total energy by taking an iterative approach to an optimal solution as it selects locally optimal energy. As seen in the previous evaluation, the greedy offloading method makes choices based on immediate reduction, which does surely lead to a convergence outcome. Besides, the impact of data size on energy consumption must be taken into account since it is crucial to the edge data-driven network. The energy needed for data transmission grows significantly as the size of the data increases exponentially. Since mobile edge computing typically prefers to offload tasks to server, it is mandatory to determine how to reduce energy usage while still achieving optimal results in a limited amount of time. The better energy saving gap in increasing the offloading data portion is confirmed by the improved gap (the larger gap is the better) as in Figure 6.
5.3 The evaluation of the enhanced ClusPreAlg algorithm
In this assessment, we use the greedy numerical outcomes as a baseline to evaluate the enhanced clustering prediction. We aim to assess the error rate in term of MAE and MSE for the predicted results and compare them with the baseline numerical data.
Figure 7(a) illustrates that the Mean Absolute Error (MAE) shows a substantial reduction by 10%, highlighting the algorithm’s improved accuracy. The effects of Carrier Frequency and Speed on energy consumption are consistent with the observations in 4.2.2. Consequently, the curve of all features does not change significantly when less influential factors such as are added. Figure 7(b) emphasizes the same pattern observed with MAE but with significantly better results, as the Mean Squared Error (MSE) is as low as 3%. This highlights the effectiveness of the clustering approach in minimizing prediction errors more robustly when considering the squared differences.
To confirm the effect of featured clustering, we perform a full feature clustering in Figure 8. This confirm the most impact factor of the mobile task includes TaskSize and OffloadingRatio. Therefore, our proposed mechanism has an impact on resource allocation, particularly in IoT systems with heavy computational task and require fast processing step by leveraging prediction techniques.
Through historical optimized offloading decisions kept in a dataset, a mutual information analysis confirmed the relationship between the variables and energy consumption. Subsequently, k-means clustering applied to the dataset revealed distinct clustering characteristics, enabling the construction of separate prediction models for each cluster. These models achieved low level errors in terms of MAE and MSE. As a result, the clustering - prediction model could serve as an improvement over the baseline greedy algorithm while requiring much less variable information.
6 Conclusion
In IoT system deployment, the computation offloading leverages the powerful capabilities of nearby computation of the base station at the edge network. This study reveals significant impacts of offloading decisions on total energy consumption in MEC network employing OTFS modulation. We propose a number of comprehensive models for mobile devices, tasks, local energy computation, and offloading energy computation. From these models, optimized offloading strategies by the greedy algorithm demonstrate a clear potential for reducing energy use, confirmed by convergence plots showing minimized energy.
We analyze the fundamentals of offloading within the new velocity modulation scheme, which figures out the OTFS network according to time, frequency, and space. The approximation through a clustering - prediction model show the potential of adaptive mechanism in resource allocation for ISAC enabled system where sensing and communication have strongly interaction. However, we lack a definitive strategy for choosing the starting point of the greedy algorithm, which affects our ability to ensure a good initial point and establish a bounded statement of convergence.
References
- [1] Xiong, Y., Liu, F., Cui, Y., Yuan, W., Han, T.X., Caire, G.: On the fundamental tradeoff of integrated sensing and communications under gaussian channels. IEEE Transactions on Information Theory (2023)
- [2] Kovachev, D., Yu, T., Klamma, R.: Adaptive computation offloading from mobile devices into the cloud. In: 2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications. pp. 784–791. IEEE (2012)
- [3] Ma, L., Yi, S., Li, Q.: Efficient service handoff across edge servers via docker container migration. In: Proceedings of the Second ACM/IEEE Symposium on Edge Computing. pp. 1–13 (2017)
- [4] Mach, P., Becvar, Z.: Mobile edge computing: A survey on architecture and computation offloading. IEEE communications surveys & tutorials 19(3), 1628–1656 (2017)
- [5] Nguyen, P., Ha, V., Le, L.: Computation offloading and resource allocation for backhaul limited cooperative mec systems. In: Proc. IEEE VTC Fall. Hawaii, USA (Sep 2019)
- [6] Nguyen, P.D., Le, L.B.: Joint computation offloading, sfc placement, and resource allocation for multi-site mec systems. In: 2020 IEEE Wireless Communications and Networking Conference (WCNC). pp. 1–6. IEEE (2020)
- [7] Hadani, R., Rakib, S., Tsatsanis, M., Monk, A., Goldsmith, A.J., Molisch, A.F., Calderbank, R.: Orthogonal time frequency space modulation. In: 2017 IEEE Wireless Communications and Networking Conference (WCNC). pp. 1–6. IEEE (2017)
- [8] Raviteja, P., Phan, K.T., Hong, Y., Viterbo, E.: Orthogonal time frequency space (otfs) modulation based radar system. In: 2019 IEEE Radar Conference (RadarConf). pp. 1–6. IEEE (2019)
- [9] Rajeswaran, A., Finn, C., Kakade, S.M., Levine, S.: Meta-learning with implicit gradients. Advances in neural information processing systems 32 (2019)
- [10] Mohammed, S.K.: Time-domain to delay-doppler domain conversion of otfs signals in very high mobility scenarios. IEEE Transactions on Vehicular Technology 70(6), 6178–6183 (2021)
- [11] Nguyen, D., Thoai, N.: Ebc: Application-level migration on multi-site cloud. In: 2012 International Conference on Systems and Informatics (ICSAI2012). pp. 876–880. IEEE (2012)
- [12] Chen, M., Li, W., Fortino, G., Hao, Y., Hu, L., Humar, I.: A dynamic service migration mechanism in edge cognitive computing. ACM Transactions on Internet Technology (TOIT) 19(2), 1–15 (2019)
- [13] Sonkoly, B., Haja, D., Németh, B., Szalay, M., Czentye, J., Szabó, R., Ullah, R., Kim, B.S., Toka, L.: Scalable edge cloud platforms for iot services. Journal of Network and Computer Applications 170, 102785 (2020)
- [14] Suganuma, T., Oide, T., Kitagami, S., Sugawara, K., Shiratori, N.: Multiagent-based flexible edge computing architecture for iot. IEEE Network 32(1), 16–23 (2018)
- [15] Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., Duchesnay, E.: Scikit-learn: Machine learning in Python. Journal of Machine Learning Research 12, 2825–2830 (2011)
- [16] Gergatsouli, E., Lucier, B., Tzamos, C.: Black-box methods for restoring monotonicity. In: International Conference on Machine Learning. pp. 3463–3473. PMLR (2020)
- [17] Oh, G., Leblanc, D.J., Peng, H.: Vehicle energy dataset (ved), a large-scale dataset for vehicle energy consumption research. IEEE Transactions on Intelligent Transportation Systems 23(4), 3302–3312 (2020)
- [18] Reback, J., McKinney, W., Van Den Bossche, J., Augspurger, T., Cloud, P., Klein, A., Hawkins, S., Roeschke, M., Tratner, J., She, C., et al.: pandas-dev/pandas: Pandas 1.0. 5. Zenodo (2020)
- [19] Harris, C.R., Millman, K.J., Van Der Walt, S.J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N.J., et al.: Array programming with numpy. Nature 585(7825), 357–362 (2020)