Non-Invasive Blood Pressure Sensing via Machine Learning

In this paper, a machine learning (ML) approach to estimate blood pressure (BP) using photoplethysmography (PPG) is presented. The final aim of this paper was to develop ML methods for estimating blood pressure (BP) in a non-invasive way that is suitable in a telemedicine health-care monitoring context. The training of regression models useful for estimating systolic blood pressure (SBP) and diastolic blood pressure (DBP) was conducted using new extracted features from PPG signals processed using the Maximal Overlap Discrete Wavelet Transform (MODWT). As a matter of fact, the interest was on the use of the most significant features obtained by the Minimum Redundancy Maximum Relevance (MRMR) selection algorithm to train eXtreme Gradient Boost (XGBoost) and Neural Network (NN) models. This aim was satisfactorily achieved by also comparing it with works in the literature; in fact, it was found that XGBoost models are more accurate than NN models in both systolic and diastolic blood pressure measurements, obtaining a Root Mean Square Error (RMSE) for SBP and DBP, respectively, of 5.67 mmHg and 3.95 mmHg. For SBP measurement, this result is an improvement compared to that reported in the literature. Furthermore, the trained XGBoost regression model fulfills the requirements of the Association for the Advancement of Medical Instrumentation (AAMI) as well as grade A of the British Hypertension Society (BHS) standard.


Introduction
Hypertension is a health condition in which blood pressure (BP) at rest is higher than the physiological standards for a long time. It is one of the most common diseases; in fact, it affects about 20% of the adult population, representing one of the major clinical problems, and it is associated with chronic diseases and an increase in mortality and morbidity. BP is related to the force that blood exerts against the walls of blood vessels due to the pumping action carried out by the heart and its value depends on various factors. Moreover, BP is one of the so-called vital signs, also including respiratory rate, heart rate (HR), oxygen saturation (SpO 2 ), and body temperature, which require adequate monitoring on the general population.
For this reason, there is the spread of the development of practical and reliable telemedicine solutions [1][2][3][4] to guarantee monitoring at home and at hospital with the aim of ensuring early identification and prevention of cardiovascular diseases, hypertension, and other related diseases. As concerns BP measurement, traditional cuff-based devices have several disadvantages because they are not always accurate, they need appropriate calibration, and they do not allow continuous monitoring since performing a measurement requires about one minute or more. On the contrary, there is a strong tendency today to monitor health at home by using wearable, affordable, and small devices that are simple to use, non-invasive, and even wireless to obtain measurements continuously [5][6][7]. Hence, researchers are investigating ways to perform cuff-less and non-invasive BP measurements. After the processing briefly described above, the features presented in [29] were calculated on the PPG signal. Many features were extracted in the time and frequency domain, others were related to the amplitude of the characteristic points (max slope point, systolic peak, dicrotic notch, inflection point, and diastolic peak), times and durations of characteristic points, areas, non-linear functions (logarithm of positions of dicrotic notch and inflection point), statistics (mean, STD, skewness, percentiles) and first and second derivatives. In this way, a dataset has been created containing, for each PPG pulse, 195 features and the target values of systolic blood pressure (SBP) and diastolic blood pressure (DBP) measured on the ABP signal. Then, the dataset was reduced to SBP in the range 80 mmHg to 180 mmHg and DBP in the range 60 mmHg to 110 mmHg to facilitate comparisons of the literature because similar distributions are used in other works [22,23,26,27,[37][38][39][40]. Indeed, SBP under 80 mmHg and DBP under 60 mmHg correspond to a severe hypotension condition while SBP over 180 mmHg and DBP over 110 mmHg correspond to a severe hypertension condition and, in these cases, there were few observations in the initial dataset.
At the end of the processing, performed in MATLAB R2022a, the dataset contained 9.1 × 10 6 observations of PPG pulses from 1080 patients. The distribution of systolic and diastolic blood pressure values of the dataset processed in this work are shown in Figure  2. The described dataset was used to train and validate ML models developed in Python language, as discussed in the following sections. The dataset used to train and validate ML models included 9 × 10 6 observations; of these, the 90% constituted the training set and the 10% constituted the validation set. Instead, the test set included 100,000 observations. After the processing briefly described above, the features presented in [29] were calculated on the PPG signal. Many features were extracted in the time and frequency domain, others were related to the amplitude of the characteristic points (max slope point, systolic peak, dicrotic notch, inflection point, and diastolic peak), times and durations of characteristic points, areas, non-linear functions (logarithm of positions of dicrotic notch and inflection point), statistics (mean, STD, skewness, percentiles) and first and second derivatives. In this way, a dataset has been created containing, for each PPG pulse, 195 features and the target values of systolic blood pressure (SBP) and diastolic blood pressure (DBP) measured on the ABP signal. Then, the dataset was reduced to SBP in the range 80 mmHg to 180 mmHg and DBP in the range 60 mmHg to 110 mmHg to facilitate comparisons of the literature because similar distributions are used in other works [22,23,26,27,[37][38][39][40]. Indeed, SBP under 80 mmHg and DBP under 60 mmHg correspond to a severe hypotension condition while SBP over 180 mmHg and DBP over 110 mmHg correspond to a severe hypertension condition and, in these cases, there were few observations in the initial dataset.
At the end of the processing, performed in MATLAB R2022a, the dataset contained 9.1 × 10 6 observations of PPG pulses from 1080 patients. The distribution of systolic and diastolic blood pressure values of the dataset processed in this work are shown in Figure 2. The described dataset was used to train and validate ML models developed in Python language, as discussed in the following sections. The dataset used to train and validate ML models included 9 × 10 6 observations; of these, the 90% constituted the training set and the 10% constituted the validation set. Instead, the test set included 100,000 observations. Only the observations with 80 mmHg ≤ SBP ≤ 180 mmHg and 60 mmHg ≤ DBP ≤ 110 mmHg were considered since outside these ranges there were few observations and, also, DBP less than 60 mmHg corresponds to a severe hypertension condition.

Machine Learning Models
ML offers powerful techniques to identify and evaluate cardiovascular risk and health conditions. In this paper, it has been exploited to train supervised regression models able to measure BP starting from features extracted from the PPG signal. For training purposes, each observation of the dataset is provided with systolic and diastolic labels obtained from the corresponding ABP signal, which serves as ground truth, as reported in [29].
In this paper, an XGBoost model was trained because of advantages such as execution speed and model performance, which have turned out to be suitable for our goal, while an NN model was trained to carry out a comparison of the results and it was chosen because it is an approach common to several researchers [27,28,37,41] and is characterized by higher training speed. Moreover, XGBoost models were used in the literature for a variety of purposes, such as wearable running monitoring [42], but recently also for PPG signal processing to estimate blood glucose levels [43], blood pressure (by using multisite PPG acquisition and Pulse Transit Time features) [44], and vascular aging [45].
XGBoost is an efficient open-source implementation of the gradient boosting algorithm and is also available in Python using the Scikit-learn library utilized in this work. Overall, gradient boosting refers to a class of ensemble ML algorithms that can be used both for classification and regression; ensembles, as a matter of fact, are based on decision tree models. In fact, trees are added to the ensemble to correct prediction errors made previously and these models are fitted using a differentiable loss function and a gradient descent optimization algorithm in order to minimize the loss gradient; moreover, this algorithm provides hyperparameters that can be tuned, such as the number of trees or estimators, the learning rate, the row and column sampling rate, the maximum tree depth, the minimum tree weight, and the regularization terms alpha and lambda. Indeed, XGBoost adds a regularization term in the objective function to make the model less vulnerable to overfitting.
Moreover, in this work, Bayesian hyper-parameter optimization [46] was used to tune the hyper-parameters of the XGBoost model in the chosen search space. Bayesian optimization allows the optimization of a proxy function rather than the true objective function and the search balances the exploration against exploitation, so at the beginning, it randomly explores to build the surrogate function with the objective of minimizing the Only the observations with 80 mmHg ≤ SBP ≤ 180 mmHg and 60 mmHg ≤ DBP ≤ 110 mmHg were considered since outside these ranges there were few observations and, also, DBP less than 60 mmHg corresponds to a severe hypertension condition.

Machine Learning Models
ML offers powerful techniques to identify and evaluate cardiovascular risk and health conditions. In this paper, it has been exploited to train supervised regression models able to measure BP starting from features extracted from the PPG signal. For training purposes, each observation of the dataset is provided with systolic and diastolic labels obtained from the corresponding ABP signal, which serves as ground truth, as reported in [29].
In this paper, an XGBoost model was trained because of advantages such as execution speed and model performance, which have turned out to be suitable for our goal, while an NN model was trained to carry out a comparison of the results and it was chosen because it is an approach common to several researchers [27,28,37,41] and is characterized by higher training speed. Moreover, XGBoost models were used in the literature for a variety of purposes, such as wearable running monitoring [42], but recently also for PPG signal processing to estimate blood glucose levels [43], blood pressure (by using multisite PPG acquisition and Pulse Transit Time features) [44], and vascular aging [45].
XGBoost is an efficient open-source implementation of the gradient boosting algorithm and is also available in Python using the Scikit-learn library utilized in this work. Overall, gradient boosting refers to a class of ensemble ML algorithms that can be used both for classification and regression; ensembles, as a matter of fact, are based on decision tree models. In fact, trees are added to the ensemble to correct prediction errors made previously and these models are fitted using a differentiable loss function and a gradient descent optimization algorithm in order to minimize the loss gradient; moreover, this algorithm provides hyperparameters that can be tuned, such as the number of trees or estimators, the learning rate, the row and column sampling rate, the maximum tree depth, the minimum tree weight, and the regularization terms alpha and lambda. Indeed, XGBoost adds a regularization term in the objective function to make the model less vulnerable to overfitting.
Moreover, in this work, Bayesian hyper-parameter optimization [46] was used to tune the hyper-parameters of the XGBoost model in the chosen search space. Bayesian optimization allows the optimization of a proxy function rather than the true objective function and the search balances the exploration against exploitation, so at the beginning, it randomly explores to build the surrogate function with the objective of minimizing the cost function at a global level. In this work, the Bayesian Optimization implementation offered by the Python library Scikit-optimize was used. The Root Mean Square Error (RMSE) Sensors 2023, 23, 8342 5 of 19 evaluation metric was defined using a Scikit-learn function to allow the conversion of optimization into a minimization problem as required by Scikit-optimize.
The Bayesian optimization was set providing the basic regressor, the search space, the evaluation metric, the cross-validation strategy (chosen to be 7-fold), the max number of trials, and the optimizer parameters for which the Gaussian Process (GP) was used. Then, the best hyper-parameters were obtained and used to instantiate the XGBoost model to be trained using the 10-fold cross-validation.
In the next paragraphs, there will be a focus on the XGBoost and NN models that were trained.

XGBoost Models
For both SBP and DBP, the entire dataset was used. The training and cross-validation were made using 9 × 10 6 observations (out of 9.1 × 10 6 observations). In total, 20 features for SBP and 25 features for DBP were used and selected in order of highest MRMR score among the 195 features listed in [29], which include those derived from the MODWT enhanced PPG signal. The number of features used to train the models has been chosen using the RReliefF algorithm for systolic and diastolic cases. In fact, using the RReliefF algorithm, the 20 features for SBP and the 25 features for DBP have an importance score greater than 0.001. We have considered lower scores as not significant because lower values are related to uncorrelated features to the output. That reduction in the number of features was operated to decrease the complexity of models and training; as a matter of fact, removing the noisy features helps with memory and computational cost but also helps avoid overfitting. Moreover, a normalization of columns into the range [0, 1] was carried out before the training.
Then, the first step consisted of finding of the best hyper-parameters in a specified search space for the Bayesian optimization using the selected features for both SBP and DBP measurements.
The search spaces and the best hyper-parameter values for SBP and DBP measurements are, respectively, shown in Tables 1 and 2. An explanation of XGBoost hyper-parameters is reported below. The learning rate is the step size shrinkage used for the update to make the model more robust and to prevent overfitting by shrinking the feature weights; it is chosen in the range [0, 1] with typical values in [0.01, 0.2]. The maximum depth of a tree is used to control over-fitting as higher depth will make the model more complex and more likely to overfit; the value 0 is only accepted in a loss-guided growing policy while large values bring an aggressive consumption of memory. Any positive value is admissible, with typical values in [3,10]; in this work, trial and error was used to modify the upper bound of the range to obtain better results. The subsample is, instead, the fraction of observations to be randomly sampled for each tree and is useful to prevent overfitting; in fact, lower values make the algorithm more conservative while too small values might lead to under-fitting. For this reason, the range is [0, 1] and typical values are in [0.5, 1]. The subsample ratio of columns by tree is the subsample ratio of columns when constructing each tree; this parameter has a range of [0, 1] and the default value of 1. Lambda is the L2 regularization term on weights and the increase in this value makes the model more conservative while Alpha is the L1 regularization term on weights and it is used in case of very high dimensionality so that the algorithm runs faster when implemented. Finally, estimators are the number of trees in an XGBoost model.
For the three last hyper-parameters, a trial and error method was used to define the range.

NN Models
In Python, TensorFlow 2.9.1 was used to define a sequential model with an input layer of size n, nine hidden layers, and an output layer. For all the layers, the activation function chosen was the Rectified Linear Unit (ReLU). The number of hidden layers and of neurons has been set making several trials. The NN model is shown in Figure 3. For SBP estimation, n = 20 while for DBP estimation, n = 25. An explanation of XGBoost hyper-parameters is reported below. The learning rate is the step size shrinkage used for the update to make the model more robust and to prevent overfitting by shrinking the feature weights; it is chosen in the range [0, 1] with typical values in [0.01, 0.2]. The maximum depth of a tree is used to control over-fitting as higher depth will make the model more complex and more likely to overfit; the value 0 is only accepted in a loss-guided growing policy while large values bring an aggressive consumption of memory. Any positive value is admissible, with typical values in [3,10]; in this work, trial and error was used to modify the upper bound of the range to obtain better results. The subsample is, instead, the fraction of observations to be randomly sampled for each tree and is useful to prevent overfitting; in fact, lower values make the algorithm more conservative while too small values might lead to under-fitting. For this reason, the range is [0, 1] and typical values are in [0.5, 1]. The subsample ratio of columns by tree is the subsample ratio of columns when constructing each tree; this parameter has a range of [0, 1] and the default value of 1. Lambda is the L2 regularization term on weights and the increase in this value makes the model more conservative while Alpha is the L1 regularization term on weights and it is used in case of very high dimensionality so that the algorithm runs faster when implemented. Finally, estimators are the number of trees in an XGBoost model.
For the three last hyper-parameters, a trial and error method was used to define the range.

NN Models
In Python, TensorFlow 2.9.1 was used to define a sequential model with an input layer of size n, nine hidden layers, and an output layer. For all the layers, the activation function chosen was the Rectified Linear Unit (ReLU). The number of hidden layers and of neurons has been set making several trials. The NN model is shown in Figure 3. For SBP estimation, = 20 while for DBP estimation, = 25. Moreover, several optimizers were tested such as Adadelta, Adagrad, Adam, Adamax, Nadam, RMSprop, and SGD but the best result for both SBP and DBP estimations was obtained using the Nesterov-accelerated Adaptive Moment Estimation (Nadam) algorithm.
The fit was made using a batch size of 4096, 150 epochs, and a validation split of 0.2. The NN architecture was chosen after trials and errors, by adding hidden layers since there was not an improvement in the results. The ReLU activation function was chosen because it is suitable for the normalized inputs and this function has allowed better results to be obtained. The batch size needs to fit the memory requirements of the GPU and the Moreover, several optimizers were tested such as Adadelta, Adagrad, Adam, Adamax, Nadam, RMSprop, and SGD but the best result for both SBP and DBP estimations was obtained using the Nesterov-accelerated Adaptive Moment Estimation (Nadam) algorithm.
The fit was made using a batch size of 4096, 150 epochs, and a validation split of 0.2. The NN architecture was chosen after trials and errors, by adding hidden layers since there was not an improvement in the results. The ReLU activation function was chosen because it is suitable for the normalized inputs and this function has allowed better results to be obtained. The batch size needs to fit the memory requirements of the GPU and the architecture of the CPU since too low values did not perform well while too high values were not allowed considering the memory requirements. Hence, the maximum possible batch size was set. The number of epochs was chosen in the range [50,200] but beyond the 150 epochs there were not improvements.

Results and Discussion
In this section, the performance of ML algorithms will be shown. The two models, XGBoost and NN, were trained using the features selected by the MRMR algorithm and these features also include the new ones obtained on MODWT enhanced PPG pulses as reported in [29]. As pointed out in that previous work, it has been found that by using the MODWT, the PPG signal is enhanced, with an improvement in the identification of the characteristic points and making it more similar to the ABP signal.
The criteria used to evaluate the performance of ML models for estimating BP are the RMSE, Mean Absolute Error (MAE), correlation coefficient (R), and Mean Error (ME).
The results were then compared with other methods reported in the literature as well as with BP measurements standard guidelines focused on the classification of hypertension states. The predicted BP values from the regression model and the true values were used to verify the correct classification into the seven classes defined by the guideline considering the range of values of SBP and DBP. The classification results are evaluated by means of a confusion matrix.

Training and Test of XGBoost and NN Models
In this paragraph, the results obtained after training and validation are reported. In Table 3, XGBoost and NN results are reported considering the RMSE and MAE. After validation, a test was made for both models using a set of 100,000 new observations (out of the entire dataset of 9.1 × 10 6 observations) not included in the training set. The results were reported in Table 4 in which performance parameters are reported for SBP, DBP, and Mean Arterial BP (MAP). In addition to SBP and DBP, MAP was considered because it is linked to the total peripheral resistance and to cardiac output and is associated with HR [47,48]. MAP is a popular BP parameter, and it is defined as the average pressure of the artery of a subject during one cardiac cycle (1). It is considered as a better indicator of perfusion to vital organs when compared with SBP [49].
The results reported in Tables 3 and 4 show that the use of XGBoost models rather than NN allows better results for both systolic and diastolic pressure measurement to be obtained.
Moreover, the results for XGBoost models obtained in the final test phase, shown in Table 4, are similar and confirm the ones obtained during the training and cross-validation phase, shown in Table 3.
Error probability densities of SBP, DBP, and MAP estimations are shown in Figure 4, where it is possible to notice that errors obtained using the XGBoost model have a narrower and more concentrated distribution around zero than the distribution obtained using the NN model. From regression plots reported in Figure 5, it is possible to notice that best predictions are obtained by using XGBoost models; in fact, R is in the three cases higher than those obtained using NN models.
Sensors 2023, 23,8342 The results reported in Tables 3 and 4 show that the use of XGBoost models than NN allows better results for both systolic and diastolic pressure measuremen obtained.
Moreover, the results for XGBoost models obtained in the final test phase, sh Table 4, are similar and confirm the ones obtained during the training and cross-val phase, shown in Table 3.
Error probability densities of SBP, DBP, and MAP estimations are shown in F where it is possible to notice that errors obtained using the XGBoost model have rower and more concentrated distribution around zero than the distribution obtai ing the NN model. From regression plots reported in Figure 5, it is possible to not best predictions are obtained by using XGBoost models; in fact, R is in the thre higher than those obtained using NN models.  During the training phase, it was noticed that the training time for NN was smaller than the training time for the XGBoost models. The inference time was significantly reduced for XGBoost models so considering this aspect, it is possible to use the trained model for real time predictions useful for continuous monitoring.
Considering the computational complexity of current implementations for features extraction and ML models, onboard processing on a wearable device is not viable. So, a cloud-based solution would be required. The future aim is to streamline feature extraction by including only those selected in the present study and simplify models to permit onboard processing, reducing the computational complexity and assessing the minimal hardware requirements. During the training phase, it was noticed that the training time for NN was smaller than the training time for the XGBoost models. The inference time was significantly reduced for XGBoost models so considering this aspect, it is possible to use the trained model for real time predictions useful for continuous monitoring.
Considering the computational complexity of current implementations for features extraction and ML models, onboard processing on a wearable device is not viable. So, a cloud-based solution would be required. The future aim is to streamline feature extraction by including only those selected in the present study and simplify models to permit

Comparison with Other Methods
A comparison of results with the literature is difficult due to the different evaluation criteria and the different datasets. In this paper, the type of the algorithms and the use of features have been used as the criteria to select and identify other works in the literature to make a comparison. In this context, the criterion is the training of ML algorithms with features extracted from the PPG signal, namely, the research's methodology.
In Table 5, the performance of other methods is shown.  The comparison with other works has shown that our models, based on the use of XGBoost, the MRMR selection algorithm, and features obtained on MODWT, enhanced PPG pulses, obtained small estimation errors for both systolic and diastolic blood pressure measurements [29]. In fact, XGBoost is derivative-free so it might have some advantage when the fitting problem has a lot of degrees of freedom. Moreover, the use of MODWT enhancement has allowed characteristic points of PPG pulses such as the diastolic point to be emphasized; these two aspects can be decisive in obtaining such results. As a matter of fact, for SBP measurement, the proposed method has allowed a smaller RMSE compared to the other works reported in the Table 5 to be obtained. Obviously, as mentioned at the beginning of this section, a comparison of results is difficult; in fact, as reported in Table 5, different datasets were used as well as different ML algorithms. For example, it should be noted that Chowdhury et al. [24] obtained a smaller RMSE for DBP, which may depend on the different dataset used and on the use of demographic features that are a powerful means to predict BP values because gender, age, and height are related to the shape of the PPG pulses and to the arterial stiffness. Considering Zhang et al. [57], they use a GBR algorithm obtaining slightly worse results than those reported in this paper as well as in Fleischhauer et al. [55] using XGBoost; as a matter of fact, in this paper, the best results are obtained implementing the Bayesian optimization for our XGBoost models and a different selection of features also obtained after the MODWT enhancement. This seems to be a better solution also compared with other ML algorithms as reported in Table 5.

Compliance to Standards and Classification Guidelines
The correct estimation of BP is critical for the detection of states of hypertension and health status and hence, accuracy requirements for BP measurement devices and methods have been standardized.
In this paper, the protocols proposed by the Association for the Advancement of Medical Instrumentation (AAMI) [58,59] and by the British Hypertension Society (BHS) [60] were considered to make a comparison with results reported in this paper as also made in [23][24][25][26][61][62][63].
Since the best results in this paper were obtained using the XGBoost models rather than using the NN models, the following comparisons regard only the XGBoost models.
As shown in Tables 6-9, the proposed method is compliant to AAMI and BHS grade A standards. The dataset included 1080 patients and a total of 9.1 × 10 6 observations of PPG pulses.  As is possible to notice in Tables 6 and 7, our results fulfill AAMI standard requirements; indeed, according to this protocol, the mean and the STD of the errors for both SBP and DBP estimations should not be more than 5 mmHg and 8 mmHg, respectively. Requirements of the BHS standard are also satisfied since the absolute error of more than 60% of the data is less than 5 mmHg, hence the method is considered as Grade A.
Moreover, as established in [26], another guideline was used to evaluate our regression models; for this purpose, the guideline [64] provided by the European Society of Hypertension (ESH) and the European Society of Cardiology (ESC) was considered. This guideline is focused on the state of hypertension and, in fact, categorizes it into seven classes: Since hypertension is a state of health of interest to be identified, we also used ESH/ESC guidelines to evaluate our regression models with a classification of the predicted values into seven classes. The BP ground truth and the BP predicted by the XGBoost model were labeled according to the previously described classification to evaluate the consistency between the classified predicted values and the classified true values in the different states of hypertension. The results are shown in Figure 6 and in Table 10. In the table, the accuracy, sensitivity, specificity, and F1-score are provided. There are two classes with a low sensitivity that are "Grade 3 Hypertension" and "Isolated Systolic Hypertension". The low sensitivity is due to the few training cases in the dataset. Indeed, "Grade 3 Hypertension" is a critical condition while "Isolated Systolic Hypertension" has low frequency in young and middle-aged subjects.
As is possible to see in Table 10, the average of accuracy, sensitivity, specificity, and F1-score are, respectively, 90.3%, 76.9%, 93.5%, and 77.0%. different states of hypertension. The results are shown in Figure 6 and in Table 10. In the table, the accuracy, sensitivity, specificity, and F1-score are provided. There are two classes with a low sensitivity that are "Grade 3 Hypertension" and "Isolated Systolic Hypertension". The low sensitivity is due to the few training cases in the dataset. Indeed, "Grade 3 Hypertension" is a critical condition while "Isolated Systolic Hypertension" has low frequency in young and middle-aged subjects.

Bland-Altman Analysis
Finally, to test the validity of the prediction of the XGBoost models for SBP, DBP, and MAP, a Bland-Altman analysis was performed which was used to determine the limits of agreement (LOA) between two different measurements in clinical practice [65,66]. The mean and STD of the differences between two measurements are used for statistical limits. The mean bias (mean of the differences) and its LOA are provided by the Bland-Altman plot that is shown in Figure 7.
The black line represents the mean of differences (BIAS) while the red lines represent the upper and lower limits (BIAS ± 1.96 × STD) of the LOA [67]. The LOA for errors of SBP is [−11.09, 11.13] mmHg and the percentage of points outside the LOA is 5.91%; the LOA for errors of DBP is [−7.75, 7.75] mmHg with a percentage of 5.08% points outside while for MAP the LOA for errors is [6.35, 6.36] mmHg with a percentage of 5.73% points outside. So, considering these results, it is possible to confirm the good accuracy of the proposed model.

Conclusions
The possibility of measuring BP by using PPG signals is advantageous for the monitoring of this vital sign since it avoids the use of cumbersome cuff-based devices, and it allows continuous monitoring. However, PPG for the estimation of BP has several criticalities and limitations, such as noise elimination, individual calibration, and calibration drift, that must be overcome.
In our previous work [29], the focus was on the extraction of new features from PPG signals, including those obtained after the enhancement with MODWT, whose significance was evaluated by using several criteria, such as MRMR. In this paper, the features The black line represents the mean of differences (BIAS) while the red lines represent the upper and lower limits (BIAS ± 1.96 × STD) of the LOA [67]. The LOA for errors of SBP is [−11.09, 11.13] mmHg and the percentage of points outside the LOA is 5.91%; the LOA for errors of DBP is [−7.75, 7.75] mmHg with a percentage of 5.08% points outside while for MAP the LOA for errors is [6.35, 6.36] mmHg with a percentage of 5.73% points outside. So, considering these results, it is possible to confirm the good accuracy of the proposed model.

Conclusions
The possibility of measuring BP by using PPG signals is advantageous for the monitoring of this vital sign since it avoids the use of cumbersome cuff-based devices, and it allows continuous monitoring. However, PPG for the estimation of BP has several criticalities and limitations, such as noise elimination, individual calibration, and calibration drift, that must be overcome.
In our previous work [29], the focus was on the extraction of new features from PPG signals, including those obtained after the enhancement with MODWT, whose significance was evaluated by using several criteria, such as MRMR. In this paper, the features selected by the MRMR algorithm were used to train ML models to estimate BP, giving improved results.
Among the ML models, the XGBoost model with Bayesian optimization proved to be suitable for estimating purposes, giving better results than an NN model trained on the same data; as a matter of fact, the XGBoost model combined with the use of novel features allowed an improvement for systolic blood pressure measurement with respect to the literature.
In addition, the SBP and DBP estimators proved to fulfill the requirements of the AAMI and BHS grade A standards, but also, good classification results were obtained according to the ESH/ESC guideline.
Considering these results, future work will focus on the realization of a portable measurement device to acquire PPG signals and implement the proposed BP estimator permitting onboard processing by reducing the computational complexity and assessing the minimal hardware requirements.  Informed Consent Statement: Patient consent was waived because the project did not impact clinical care and all protected health information was deidentified.