Feature‐based augmentation and classification for tabular data

CAAI Transactions on Intelligence TechnologyVolume 7, Issue 3 p. 481-491 ORIGINAL RESEARCHOpen Access Feature-based augmentation and classification for tabular data Balachander Sathianarayanan, Corresponding Author Balachander Sathianarayanan sabalachander99@gmail.com orcid.org/0000-0002-3116-8354 Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, India Correspondence Balachander Sathianarayanan, Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, India. Email: sabalachander99@gmail.comSearch for more papers by this authorYogesh Chandra Singh Samant, Yogesh Chandra Singh Samant orcid.org/0000-0002-9796-9293 Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, IndiaSearch for more papers by this authorPrahalad S. Conjeepuram Guruprasad, Prahalad S. Conjeepuram Guruprasad orcid.org/0000-0002-8238-5666 Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, IndiaSearch for more papers by this authorVarshin B. Hariharan, Varshin B. Hariharan orcid.org/0000-0003-0363-9726 Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, IndiaSearch for more papers by this authorNirmala Devi Manickam, Nirmala Devi Manickam orcid.org/0000-0003-3390-2492 Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, IndiaSearch for more papers by this author Balachander Sathianarayanan, Corresponding Author Balachander Sathianarayanan sabalachander99@gmail.com orcid.org/0000-0002-3116-8354 Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, India Correspondence Balachander Sathianarayanan, Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, India. Email: sabalachander99@gmail.comSearch for more papers by this authorYogesh Chandra Singh Samant, Yogesh Chandra Singh Samant orcid.org/0000-0002-9796-9293 Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, IndiaSearch for more papers by this authorPrahalad S. Conjeepuram Guruprasad, Prahalad S. Conjeepuram Guruprasad orcid.org/0000-0002-8238-5666 Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, IndiaSearch for more papers by this authorVarshin B. Hariharan, Varshin B. Hariharan orcid.org/0000-0003-0363-9726 Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, IndiaSearch for more papers by this authorNirmala Devi Manickam, Nirmala Devi Manickam orcid.org/0000-0003-3390-2492 Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Coimbatore, IndiaSearch for more papers by this author First published: 24 July 2022 https://doi.org/10.1049/cit2.12123AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinked InRedditWechat Abstract Generating synthetic samples for a tabular data is a strenuous task. Most of the time, the columns (features) in the dataset may not follow an ideal distribution function. The objective of the proposed algorithm, Histogram Augmentation Technique (HAT), is to generate a dataset whose distribution is similar to that of the original dataset. This augmentation is achieved based on individual columns, where separate algorithms are designed for continuous and discrete columns. Humans also use features of an object for interpretation. When humans make a judgement, they notice prominent features and characterise the perceived object. However, conventional Machine Learning classifiers are designed and trained on the basis of samples. Taking the features as the basis for classification, Feature Importance Classifier (FIC) has been attempted in this work. FIC treats every feature independent of each other, and ranks the features based on its dependence with the classified label. It has been found that the FIC has the highest accuracy and has improved the accuracy by 5.54% on average, when it's compared to other classifiers. The suggested algorithms have been experimented on five datasets and compared with two augmentation algorithms and four state-of-the-art ML classification algorithms. 1 INTRODUCTION Machine Learning has proved its importance in the 21st century in various sectors such as medical, defence, automobiles, agriculture etc. [1, 2]. The major factors that drive these systems are the use of effective algorithms to capture the physical data and convert it to data used by AI. This scalable model adapts to the new data and also provides a good result for a large dataset. Although the ML models are robust and have high accuracy, the problem faced by them is data scarcity or data imbalance. A model that has been trained on a smaller dataset is more likely to overfit and misclassify incoming data. Since the minority class is overlooked when there is a data imbalance problem, the model may be biased in favour of the majority class. Hence, data augmentation techniques have become a necessity. Two of the most prominent algorithms for augmenting tabular data [3, 4] are Synthetic Minority Oversampling Technique (SMOTE) [5] and Conditional Tabular Generative Adversarial Network (CTGAN) [6]. CTGAN involves joint probability distribution of the features, whereas SMOTE involves choosing intermediate values between two points in the dataset's vector space. Similarly, many data augmentation algorithms such as ADASYN [7] are based on SMOTE, which in turn is derived from nearest neighbour-based algorithms [8]. It has been understood that SMOTE does not focus on the retention of the original dataset's histogram, whereas CTGAN retains the histogram. However, because CTGAN uses neural networks, it has a higher time complexity and requires more data than SMOTE. The augmentation methodology proposed in this work (https://github.com/balachander27/FEBA) tries to produce data based on the distribution of the original data, such that the information is not lost when various data analysis methods are applied to the dataset. When a given column in a dataset is continuous, the distribution's intermediate bin values are considered. These values are checked and selected based on a statistical test. When a column is discrete, proportional sampling is adopted. It can also be noted that no particular augmentation technique can replicate a dataset's distribution precisely [9]. The proposed algorithm is modelled to be versatile such that it fits all kinds of different probability distributions of data. For prediction purposes, this augmented dataset can be applied to various machine learning models. Most of the pre-existing classification models [10] such as Random Forest [11], AdaBoost (AdaB), XGBoost [12] etc., are trained over consequent samples. In this experiment, a novel classifier was created that generates trees based on the number of features rather than the number of samples. Since the number of trees created is determined by features, it is important to rank the features based on their dependence on output; hence, chi2 score is used to rank the features. This ranking will in turn nullify uncorrelated features and contribute towards obtaining a better classifier. As the uncorrelated features are nullified, this model will remain unaffected by the 'curse of dimensionality'. Currently, a lot of technology has leaped light years ahead because of improvements in ML [13, 14]. As the world moves towards an intelligent tomorrow, it is important to make constant experimentation [15] for new algorithms. 2 HISTOGRAM AUGMENTATION TECHNIQUE Existing state-of-the-art data augmentation methods, such as SMOTE and CTGAN, oversamples the data without preserving the distribution of individual features. Histogram Augmentation Technique (HAT) is an augmentation method that is designed such that the generated data retains the distribution of the original tabular data. HAT analyses the data distribution of a particular feature and based on the feature's type (i.e. continuous or discrete) it generates new samples, and the above said process is applied to all the features across the tabular data. A continuous feature takes any value between a certain interval, whereas a discrete feature consists of certain set of values. Because of this difference in how the values are distributed, two separate augmentation algorithms are developed based on the nature of the features—Continuous Feature Augmentation and Discrete Feature Augmentation. 2.1 Continuous feature augmentation Features that are continuous undergo a set of five process, namely Histogram Generation, Value Selection, Validity Check, Appending, and Looping/Exit. This set of process will be repeated/iterated based on the generation of new samples. 2.1.1 Histogram generation Histogram gives us the frequency of the corresponding bins. For bin size calculation Doane's rule is applied [16-18]. Since each bin corresponds to a range of values defined by an upper and a lower bound, the midpoint of each bin is considered and is mapped to its corresponding frequency. The iteration occurs over the following steps, till the desired number of samples are generated (Figure 1). FIGURE 1Open in figure viewerPowerPoint (a) Represents the bin values and their corresponding frequencies overlayed on its histogram. (b) Represents the values that are selected for further processing and their corresponding calculated frequencies 2.1.2 Value selection The bin values obtained in the previous step is taken into consideration. Along with that, the intermediate values between the bin values are also selected for augmentation. Since each intermediate point lies between two pre-existing feature values, its corresponding frequency is calculated as the arithmetic mean of normalised frequencies of pre-existing bins. The frequencies are further normalised to the range for [0,1]. 2.1.3 Validity check From the previous process, the feature values and their corresponding normalised frequencies are obtained. The value which is obtained in previous step is just interpolation of values; hence, in order to select values which follows the original data, a validity check is performed. These feature values should be checked whether they are eligible to form a new sample. Hence, the normalised frequencies of those values undergo a statistical test, which is based on random numbers. If the normalised frequency is greater than the random number, it will be selected and rejected otherwise (Figure 2). If the number of new samples to be generated is less than twice the original data's size, the random number is generated using uniform random distribution. Since it is uniform, the probability of the number being less than 0.5 is the same as the number being greater than 0.5 as shown in Figure 3a. Hence, most of the samples might be rejected. In order to overcome this issue, Gaussian distribution is considered with a standard deviation of 0.5. Here, the probability of the generated number being below 0.5 is 33.33% greater than the number being above 0.5 as shown in Figure 3b. Therefore, the probability of a sample being selected also increases, so does the error in histogram, which is compensated in time taken to generate new samples. FIGURE 2Open in figure viewerPowerPoint The figure represents the normalised frequency of the selected values while undergoing the validity check with a cut-off of 0.5. Here, the selected values greater than the cut-off are augmented; the rest, rejected 2.1.4 Appending As each sample passes the validity check mechanism, it is appended to the newly augmented list. This list contains the original set of values along with the augmented values and will be used for the upcoming iterations. 2.1.5 Looping/exit The above systematic process will take place until the number of samples required to balance the dataset is attained. However, attaining a balanced dataset in the first iteration is a rare occurrence. The appended list of data is sent to the next iteration by doubling the bin size, since the intermediate feature values is now a valid sample. 2.2 Discrete feature The continuous features can take any value between the lower and upper bound of data distribution. The same rule does not apply for discrete column features, since they can only take a specific set of values. Hence, proportional sampling [19] is adopted. Samples that are discrete in nature are augmented in the following technique: Every unique value in the feature is extracted. The values obtained in the previous step is mapped to its corresponding occurrence. The occurrences are then divided by the original data length and then multiplied with the desired data length. Finally, the resulting number is rounded off to an integer. 3 FEATURE IMPORTANCE CLASSIFIER Most of the contemporary classification algorithms build the models by iterating through samples. When large amount of data samples are passed through these models, the computational complexity increases. Feature Importance Classifier (FIC) solves this issue by iterating over features rather than samples. The Feature Importance Classifier is a feature-based bagging [20] ensemble learning model, which constructs unique weak learners for every feature. Ensemble learning is a method which uses multiple weak machine learning models to train the dataset, thereby improving the prediction capability of the collective model [21]. FIC builds a unique weak learner for every feature present in the dataset, and these weak learners will predict based on the value in that particular feature. Once all the weak learners that correspond to every single feature predict a sample, a collective voting will take place to decide the final classified label of the considered sample. This method of voting is compiled with the help of chi2 scores of the features. The chi2 score provides the dependence score between a particular feature and to the output label. The features with a higher chi2 value mean that those features are more dependant on the output label and hence are more important. So instead of a simple voting, the votes will be weighted with the chi2 value, and then the output label is calculated. The chi2 value can be calculated using the following formula: X 2 = ∑ ( O − E ) 2 E (1)where O is the observed value and E is the expected value. The weighted addition for a sample that is predicted to be in class x will be calculated as follows: Class x = ∑ i = 0 n x f i (2)where fi is the chi2 score of features which have been predicted as class x nx is the total number of features which has predicted class x. The final output class is calculated using equation: F i n a l class = ARGMAX ( class 0 , class 1 , … class n ) (3)where n is the total number of classes. 3.1 Training The given data is broken down into individual features since this model is based on feature-wise classification. Every individual feature will carry its own weak learner, and the model will be trained according to the weak learner's capability. Parallelly, the chi2 scores of every individual feature will be computed and stored. Once trained, the individual weak learner models will be stored along with the corresponding feature's chi2 value. It is known that the features with a higher chi2 value are more relevant to the classified label. For this reason, the stored model and the chi2 values are sorted based on the descending order of the chi2 values. The features containing lower chi2 scores are eliminated along with their respective weak learner models, since these features add relatively less value while predicting as they are less relevant to the classified label. Figure 4 illustrates the process flow of FIC training algorithm. FIGURE 3Open in figure viewerPowerPoint In uniform random distribution (a), the probability to obtain a random number less than 0.5 and greater than 0.5 is the same (50%). However, in Gaussian random distribution (b), the probability to obtain a number less than 0.5 is 33.33% more than that of generating the number greater than 0.5 FIGURE 4Open in figure viewerPowerPoint Process flow of FIC training algorithm 3.2 Prediction The prediction algorithm will send the selected individual features of the samples to their respective trained models. Since every single feature has a specific weak learner associated with it, prediction will happen feature-wise. The prediction process happens based on a weighted voting mechanism that is governed by the chi2 values calculated in the training process. When the individual feature's weak learner predicts that a sample corresponds to a particular class, the chi2 value of that feature will be added to that corresponding class' vote. Once all the features are predicted based on their respective weak learners, the sum of the chi2 values after voting will be compared, and the sample's corresponding class will be predicted based on the maximum sum of chi2 values earned by the classified label (Equation 1). 4 RESULTS AND COMPARISONS The datasets [22] which were used for this experiment are as follows: The datasets are chosen in such a way that it covers a large spectrum of data values, to check if the model can fit to any arbitrary tabular data. While the diabetes dataset is a compact, commonly used and well-analysed [22] dataset with a binary label, the sonar dataset has a large number of features (61). The credit card dataset has a large amount of samples (30,000). The Abalone dataset and the Glass dataset have a large number of output labels [23]. Therefore, we can properly forecast the strength of our model by comparing our models across such diverse types of datasets. The results of each model were averaged over 20 runs on the datasets, and the results are discussed further. 4.1 Result comparison of various classifiers In Table 1, the comparison of a few prominent benchmark datasets is shown. In Table 2, various classifiers are compared with FIC with respect to accuracy. There are four different models which are being compared for five different datasets. Accuracy is a commonly used metric to compare the performance of a classifier, and hence accuracy is used as the basic metric for comparison. For all the experiment that follows, decision tree [24] has been used as the weak learner. TABLE 1. Datasets used for the experiments Dataset No. of samples No. of features No. of classes Diabetes 768 8 2 Sonar 208 60 2 Credit Card 30000 24 2 Abalone 4176 8 28 Glass 214 9 7 TABLE 2. Accuracies of various classifiers Dataset FIC KNN AdaBoost XGBoost Random forest Diabetes 76.30 71.60 72.00 73.20 74.80 Sonar 85.50 79.70 75.00 78.20 74.00 Credit Card 81.80 74.10 71.60 81.20 80.50 Abalone 24.80 22.00 19.00 26.00 24.29 Glass 71.80 45.00 64.78 71.80 70.42 Average 68.00 58.48 60.48 66.08 64.80 Note: Bold values denote accuracies of various classifiers. From Table 2, it can be observed that FIC has an average of 68% accuracy, which is better than its counterparts. But accuracy as a metric has its own flaw, since calculation of accuracy considers only one subset of the whole data for testing. This will cause a difference in accuracy for different random selections of data. To counter this flaw, bias and variance are being considered. Tables 3 and 4 displays the results obtained by calculating the variance and bias of the model over random truncations of the dataset. Since bias and variance are calculated over several random splits of the whole data, the mean of all the different splits will provide a good metric for model comparison. The bias is considered to be the mean of errors achieved over an arbitrary number of random dataset truncations. The variance talks about the spread of the accuracies around the bias. So, if the bias is low, the error rate is low, and hence the model performs well. Similarly, if the variance is low, the spread of the accuracies is concentrated towards the low bias, implying that the model is consistent over a wide range of data. Hence the lower the bias and variance of the model, the better the model is said to perform. TABLE 3. Variance of various classifiers Dataset Variance of various classifiers FIC KNN AdaBoost XGBoost Random forest Diabetes 0.00773 0.01390 0.00900 0.00920 0.00287 Sonar 0.01240 0.04320 0.02900 0.01710 0.01120 Credit Card 0.00019 0.00030 0.00012 0.00027 0.00008 Abalone 0.00129 0.00046 0.00102 0.00119 0.00128 Glass 0.01900 0.03600 0.03990 0.03300 0.03700 Average 0.00812 0.01049 0.01581 0.01215 0.01049 Note: Bold value denote variance of various classifiers. TABLE 4. Bias of various classifiers Dataset Bias of various classifiers FIC KNN AdaBoost XGBoost Random forest Diabetes 0.497 0.557 0.517 0.509 0.520 Sonar 0.303 0.500 0.539 0.355 0.398 Credit Card 0.441 0.508 0.532 0.433 0.897 Abalone 0.890 0.878 0.905 0.854 0.490 Glass 0.610 0.499 0.465 0.440 0.400 Average 0.548 0.588 0.592 0.518 0.541 Note: Bold values denote bias of various classifiers. From Table 3, it can be observed that the average variance of FIC is 0.00812, which happens to be the best among the other models. From Table 4, the average bias of FIC is noted to be 0.548, which is considerable when compared with other strong learners. This implies that FIC is suited to handle minor deviations in dataset and still provide good accuracies. Hence, FIC can be called as a better model in comparison with other models on the basis of bias and variance. Despite the fact that the model works well over a wide range of datasets, it has a drawback when the dataset has an unreasonably low or high number of features. In case of low number of features, as seen in Table 2 (for Abalone and Glass dataset), the accuracy of FIC is on par with other better performing models, whereas if the dataset contains more number of features, the computational cost increases since number of independent trees constructed are equal to the number of features; however, the performance of the model is also increased as seen in Table 2 (for Sonar dataset). 4.2 Result comparison of various augmentation algorithms RMSE (Root Mean Square Error) measures the average magnitude of the error. The difference between predicted values (i.e. augmented) and its corresponding observed values (i.e. original) are each squared and then averaged over the sample. Since in a histogram the occurrence of a value before augmentation and after augmentation are different, RMSE is applied over a normalised histogram. From the above Table 5, when the average RMSEs of the normalised histograms are compared, the HAT provides a lesser error than that of the SMOTE by 3.38E-4 and the CTGAN by 4.75E-4. This infers that the HAT maintains the distribution better than its counterparts, thereby serving its purpose to augment the dataset by maintaining the histogram of the distribution. TABLE 5. RMSE values of histograms Feature HAT SMOTE CTGAN Glucose 0.578756 0.578632 0.578817 BloodPressure 0.457596 0.457941 0.457512 SkinThickness 0.467132 0.468115 0.466928 Insulin 0.299175 0.299507 0.299235 BMI 0.463023 0.463261 0.463299 DiabetesPedigreeFunction 0.455778 0.456367 0.457594 Age 0.581429 0.581429 0.582830 Average 0.471841 0.472179 0.472316 Note: Bold values denote RMSE values of histograms. Figure 5 represents the distribution of the minority class of DiabetesPedigreeFunction feature from the Diabetes dataset after applying the HAT (Figure 5a), SMOTE (Figure 5b), and CTGAN (Figure 5c), respectively. This distribution roughly gives an overview that the HAT mimics the distribution of the original dataset than its counterparts after augmentation. FIGURE 5Open in figure viewerPowerPoint Distribution of the minority class of DiabetesPedigreeFunction feature from the Diabetes dataset after applying HAT (a), SMOTE (b), and CTGAN (c), respectively Accuracy of a model is expressed as the truly classified data (True Positives and True Negatives) divided by the total available data. However, this metric omits the falsely classified data (False Positives and False Negatives), and the true measure of the overall model could leave out the misclassified data. To tackle this, recall is a metric which evaluates the relevant items that are selected. A similar counterpart metric for evaluating a model is the precision, which explains about how many selected items are relevant. Mathematically, recall and precision can be evaluated as Recall = T P T P + F N ; Precision = T P T P + F P (4) The Area Under the Curve (AUC) is a popular metric used in the industry [15], which represents the area under the Receiver Operating Characteristic (ROC) or the Precision Recall (PR) curve. The PR curve illustrates the trade-off between precision and recall. However, the PR curve focusses on a small positive class (positive class is the required class). To measure both the class detection, calculating AUC from the ROC curve will provide a better view of the dataset applied on a classification model. The ROC curve (Figure 6) plots the TPR (True Positive Rate) against the FPR (False Positive Rate) at various thresholds of the model. Mathematically, TPR and FPR can be evaluated as TPR = T P T P + F N ; FPR = F P F P + T N (5) FIGURE 6Open in figure viewerPowerPoint The figure displays the ROC of the Credit Card dataset on Random Forest classifier applied over un-augmented dataset (a), HAT augmented dataset (b), SMOTE augmented dataset (c), and CTGAN augmented dataset (d) Therefore, calculating the ROC-AUC of the augmented dataset on various different classifiers will provide how the data belonging to all the classes are detected when all the classes are balanced and equally important. From the above Tables 6–9 of ROC-AUC results, it can be noted that when the augmented dataset is applied to pre-existing machine learning models, HAT provides intermediate results when compared to its counterparts. Although SMOTE performs better than HAT, it can be noted that SMOTE could not augment the data in Abalone dataset. This is due to the fact that SMOTE requires a minimum number of neighbours to create more samples. For the Abalone dataset, certain classes contain samples less than the minimum number of neighbours. This problem does not arise while applying HAT, as there is no constraint of minimal samples necessary to augment a dataset. TABLE 6. ROC-AUC for un-augmented data over contemporary classifiers Un-augmented Dataset KNN AdaBoost XGBoost Random forest Average Diabetes 0.680776 0.644126 0.711783 0.73226 0.69223625 Sonar 0.721284 0.730574 0.788851 0.78674 0.75686225 Credit Card 0.540195 0.612007 0.659112 0.651847 0.61579025 Abalone 0.547362 0.550922 0.553552 0.550365 0.55055025 Glass 0.712919 0.778896 0.759407 0.784963 0.75904625 Average 0.67489705 Note: Bold values denote ROC-AUC for un-augmented data over contemporary classifiers. TABLE 7. ROC-AUC for HAT augmented data over contemporary classifiers HAT Dataset KNN AdaBoost XGBoost Random forest Average Diabetes 0.784371 0.654235 0.784215 0.783654 0.75161875 Sonar 0.514456 0.627123 0.902342 0.852547 0.724117 Credit Card 0.829517 0.843389 0.861121 0.892066 0.85652325 Abalone 0.509741 0.772729 0.832254 0.809767 0.73112275 Glass 0.65522 0.901283 0.949677 0.926565 0.85818625 Average 0.7843136 Note: Bold values denote ROC-AUC for HAT augmented data over contemporary classifiers. TABLE 8. ROC-AUC for SMOTE augmented data over contemporary classifier SMOTE Dataset KNN AdaBoost XGBoost Random forest Average Diabetes 0.762316 0.779596 0.812316 0.80864 0.790717 Sonar 1 1 0.986111 0.986111 0.9930555 Credit Card 0.807174 0.820708 0.885097 0.883159 0.8490345 Abalone NA NA NA NA NA Glass 0.985224 0.989416 0.985789 0.989416 0.98746125 Average 0.905067063 Note: Bold value denote ROC-AUC for SMOTE augmented data over contemporary classifier. TABLE 9. ROC-AUC for CTGAN augmented data over contemporary classifiers CTGAN Dataset KNN AdaBoost XGBoost Random forest Average Diabetes 0.7125 0.694853 0.756066 0.753493 0.729228 Sonar 1 1 0.986111 0.972953 0.989766 Credit Card 0.766272 0.785942 0.843397 0.862285 0.814474 Abalone 0.548575 0.607687 0.582153 0.626395 0.5912025 Glass 0.792984 0.749269 0.789411 0.763921 0.77389625 Average 0.77971335 Note: Bold value denote ROC-AUC for CTGAN augmented data over contemporary classifiers. Time also is a key factor when it comes to augmentation models. Examining the time complexity of each model will provide us with a good estimate of its performance in terms of time. SMOTE has the least time complexity of all the tabular augmentation techniques because it is based on KNN. As a result, it is always able to produce the result instantaneously. HAT employs either continuous or discrete augmentation depending on the type of feature. As discrete models use proportional sampling, it augments instantaneously. On the other hand, continuous takes longer time to oversample since most of t