1 Introduction

Centrifugal pumps are one of fundamental parts in diverse applications in industry and it requires continuous monitoring to ensure the maximum availability of pumps. The fault detection of pumps is important in terms of system maintenance and process automation. Symptoms of dynamic faults present in the pump could be detected by observing and analyzing vibration signatures. Early identification of faults in centrifugal pumps can decrease upkeep cost and increase its utilization, quality, life-cycle and safety [1]. Hence, the fault diagnosis of pumps is critical to foresee its valuable life, failure point and safe running [2, 3]. Inlet pipe blockages in pumps are common issue, which in the later stage may lead to cavitation, the abnormal noise generation, higher vibrations, decrease in the head capacity, or even may lead to non-functioning of accessories of pumps. As such cavitation and blockages could be there individually or concurrently, and hence it requires multi-individual and multi-concurrent fault classification.

Abdulkarem et al. [4] investigated the centrifugal pump impeller fault using the vibration analysis in time and frequency domain. They used the vibration index and the power spectrum at specified frequency as the fault indicator in time and frequency domain, respectively. They concluded that the impeller crack size increased the impeller frequency and it had two harmonics and sideband frequencies at a specified rotational speed. Zouari et al. [5] conducted experiments on pump faults, like the misalignment, cavitation, partial flow and air injection. They presented a neural network and fuzzy-neural network for the diagnosis of pumps. Wang and Chen [6] performed a fault diagnostic method based on the wavelet transform. They observed that the partially linearized neural network converged satisfactorily to distinguish fault types on the basis of probabilistic distribution of the symptom parameter. Sakthivel et al. [7] presented the use of decision tree algorithm for fault diagnosis of pumps. Alfayez et al. [8] presented a method where the Acoustic Emission (AE) was applied for detecting incipient cavitation and determining the Best Efficiency Point (BEP) of a centrifugal pump. They observed an increase in AE root-mean-square (RMS) level at relatively high Net Positive Suction Head (NPSH) value, where the cavitation likely to begin. But as the cavitation got developed the reduction in the RMS level of AE was noted. They also observed that the AE had enormous potential for determining the BEP of a pump. Farokhzad [9] presented an Adaptive Network Fuzzy Inference System (ANFIS) to diagnose different faults of pumps. Albraik et al. [10] investigated the correlation between the pump performance parameter and the surface vibration for both the condition monitoring and the performance assessment. They showed that the vibration level increased with the increase in flow rate, which was due to different type of defects in the pump. These researchers tried to classify cavitation and different faults of centrifugal pumps well before its severe impact, and concluded that the impeding cavitation was hard to identify. Indeed, it was distinguished; however, the method was extremely bulky and the accuracy of classification was not high.

Some researchers used the SVM algorithm to distinguish machine element faults. They found that with the limited number of samples the SVM can perform significantly well. Widodo and Yang [11] presented a survey of the machine condition monitoring and fault diagnosis using the SVM. They showed that the SVM had excellent performance in generalization so it could produce high accuracy in the fault classification. Bordoloi and Tiwari [12, 13] optimized SVM parameters by the GA and the artificial bee colony procedure by using features, like the standard deviation, kurtosis and skewness, which were obtained from time and frequency data. Four different faults of a gearbox were demonstrated. Classifications were demonstrated for the identical speed and also for the interpolated and extrapolated speeds. As in the SVM algorithm, the most of researchers showed excellent classification accuracy with different faults of rotating components of machines so this can be regarded as the most powerful strategy, which is being utilized in mechanical vibration signatures, recently. From the literature survey, it is evident that still a lot of potential exists for the multi-concurrent fault prediction of centrifugal pumps based on vibration signatures with the help of machine learning algorithms.

In the present work, the SVM algorithm has been used in the analysis of vibration signals from centrifugal pumps for identifying flow blockage levels and the starting of cavitation under varied speeds, which constitutes multi-concurrent fault classification. This paper considers vibration signals from the bearing housing and the pump casing. Blockages in the suction pipe were manually created by closing the inlet modulating valve in steps. Two variants of the SVM (C-SVM and \(\nu\)-SVM) with the RBF kernel have been used. Three statistical features are considered for the classification, which are obtained from time domain data. Some parts of those features are used in the optimization of SVM and kernel parameters and remaining features are used for the fault classification training and testing.

2 Support vector machine algorithms

Vapnik [14] was the originator of the SVM. The original SVM was used for recognizing patterns and the classification. This is now explored for the regression analysis [1517]. It is used for classification of two classes of data. A hyper-plane in a higher dimensional space is constructed for the classification and when it has larger distance to its neighboring data points means a good classification. Noticeably, larger the margin, lower the generalization error of the classifier. Now a set of training data are given to the SVM each marked as belonging to one of the two classes. The present form of SVM was developed by Cortes and Vapnik [19]. Two variants of the SVM are considered here, i.e., C-support vector (C-SVM) and \(\nu\)-support vector (\(\nu\)-SVM).

C-SVM: This is a primal binary optimization [18, 19] problem for training data \(x_{i} \in R^{n} , \, i = 1,2, \ldots , \, l,\) and an indicator vector \(y \in R^{l}\) such that \(y_{i} \in \left\{ {1, - 1} \right\}\) is formulated as

$$\mathop {\hbox{min} }\limits_{w,b,\xi } \quad \tfrac{1}{2}w^{T} w + C\sum\limits_{i = 1}^{l} {\xi_{i} } .$$
(1)

Subject to \(y_{i} \left\{ {w^{T} \phi \left( {x_{i} } \right) + b} \right\} \ge 1 - \xi_{i}\) with \(\xi_{i} \ge 0, \, i = 1,2, \ldots , \, l,\)where the function, \(\phi (x_{i} )\), mapped \(x_{i}\) into a higher dimensional space, w is the weight vector, b is the bias, \(\xi\) is the slack variable, and \(C > 0\) is the regularization parameter.

\(\nu\) -SVM: In this a supplementary parameter, \(\nu \in (0,1)\), is initiated [20]. It has been recognized that \(\nu\) is an upper bound on the fraction of support vectors. The binary primal problem for a training data \(x_{i} \in R^{n} , \, i = 1,2, \ldots , \, l\), and an indicator vector \(y \in R^{l} a\) such that \(y_{i} \in \left\{ {1, - 1} \right\}\) is expressed as

$$\mathop {\hbox{min} }\limits_{w,b,\xi ,\rho } \quad \tfrac{1}{2}w^{T} w - \nu \rho + \tfrac{1}{l}\sum\limits_{i = 1}^{l} {\xi_{i} } .$$
(2)

Subject to \(y_{i} \left\{ {w^{T} \phi (x_{i} ) + b} \right\} \ge \rho - \xi_{i}\) with \(\xi_{i} \ge 0, \, i = 1,2, \ldots ,l,\begin{array}{*{20}c} {} & {\rho \ge 0} \\ \end{array}\).

The classification of features could be determined after analyzing it by the SVM formulation. In practice, there are more than two classes of faults. That may be within same machine element (say for the pump fault: 0% blockage or full flow, 16.67% blockage or 1/6th of full flow, 33.33% blockage or 2/6th of full flow, 50% blockage or 3/6th of full flow and 66.66% blockage or 4/6th of full flow, i.e., multi-individual faults) or within different machine element (say it may happen in bearings, shaft, motors and pumps, i.e., multi-concurrent faults). To solve the multi-fault classification problem with the help of binary classifier, researchers suggested the one-against-all, one-against-one and direct acyclic graph methods. The ‘one-against-one’ method [21, 22] is applied for the multi-class fault classification. The viability of the method is supported by Hsu and Lin [23]. In this method if k is the number of classes, then \(k(k - 1)/2\) binary classifiers are constructed and each one trains the data from two classes. At the end, a voting procedure is used. Votes are counted for all data (whatever is the class) depending upon each binary classifications. Finally, the data point is designated to a particular class depending upon the maximum vote that it gets. If one data point gets the same number of vote for two or more classes, then it is designated to a particular class, which is found the first.

3 Experimental setup

A schematic diagram of the experimental setup, consists of Machine Fault Simulator (MFS™) with a centrifugal pump, is shown in Fig. 1 and an overview of the setup is shown in Fig. 2. First, a healthy pump was installed on the fixed base of the MFS. This was mounted at the lower right corner and coupled with the motor shaft by a double-belt pulley drive. The centrifugal pump was driven by an induction motor with nearly 1:1.04 of speed ratio to give 31.3 Hz of the spin speed, when the motor was operating at 30 Hz. A provision (motor speed controller) was there to change the motor speed. Water (temperature 299 K) was used as a fluid in the experiment. The pump was connected with a tank through hose pipes (inside diameter: inlet of 19.05 mm and outlet of 12.70 mm) and that was fitted with pressure gauges as shown in Fig. 3. The pump outer brass casing was replaced by a transparent poly-carbonate. This was provided to facilitate viewing of cavitation at a particular operating condition. A manual modulating valve (shown in Fig. 2) was connected to regulate the flow rate. Two tri-axial accelerometers were mounted, one over the pump brass casing (accelerometer 1: sensitivity 100.3, 100.7, and 101.4 mV/g in the x, y and z directions, respectively) and another over the bearing housing (accelerometer 2: sensitivity 101, 101.1, and 101.4 mV/g in the x, y and z directions), as illustrated in Fig. 2. The data were taken at 20 kHz sampling frequency with 2000 numbers of samples in each set. Total 30 s of vibration data were taken with a time span of 0.1 s in a single set of data, so total 300 sets of data were collected for a pump operating condition. In the data set with 2000 sample points had a time step of \(5 \times 10^{ - 5}\) s.

Fig. 1
figure 1

A schematic diagram of the pump setup

Fig. 2
figure 2

The mounting of accelerometers on the centrifugal pump

Fig. 3
figure 3

Inlet modulating valve markings to get different percentage of flow blockages. a Line diagram. b Real valve

The water from tank was sucked by the pump, and then it was directed towards the outlet hose pipe, so that it could return back to the tank at a certain head. The pump was run in the range of speed from 40 to 65 Hz with the gap of 5 Hz under different flow or blockage conditions. Five different blockage conditions of the pump (BL0: 0% blockage or full flow, BL1: 16.67% blockage or 1/6th of full flow, BL2: 33.33% blockage or 2/6th of full flow, BL3: 50% blockage or 3/6th of full flow, and BL4: 66.66% blockage or 4/6th of full flow) were taken for a specific speed. The manual modulating valve at the inlet hose pipe was marked accordingly so as to get required stages of blockages by turning the knob of valve as shown in Fig. 3. Moreover, a condition for starting of cavitation (CVS) was also taken in our study. This is the first stage of cavitation, where air bubbles tend to form in the pump. A line of tiny air bubbles was seen through transparent poly-carbonated cover and it can be regarded as the starting of cavitation.

Statistical features (i.e., the standard deviation, skewness, and kurtosis) were computed for each of these vibration samples using MATLAB™. Total 300 data set gave \(300 \times 3\) feature values in one particular direction. Vibration signals were gathered for three perpendicular directions, which implies for every fault \(3 \times 3 \times 300\) number of features was accessible. Total \(3 \times 3 \times 300 \times 6\) features were accessible for six distinct fault cases (i.e., BL0, BL1, BL2, CVS, BL3 and BL4) for casing vibrations. Similarly, on adding bearing vibrations total \(3 \times 3 \times 300 \times 6 \times 2\) features were accessible. Then, all these features were utilized for optimizing SVM parameters and training and testing of SVM algorithms for the fault classification. Figures 4 and 5 show the time domain acceleration data in x, y and z directions at 40 and 65 Hz pump speeds for the pump casing and the bearing housing in the case for (a)-(b) BL0, (c)-(d) BL1 and (e)-(f) CVS. It is observed that the amplitude of vibration increases with speed. Also the vibration is higher in the axial direction (y-axis) than radial directions (x- and z-axes). Figure 6 illustrates the frequency domain signature for BL0 condition at (a) 40, (b) 50 and (c) 65 Hz speed. It is observed from these figures that 1× component is present along with other frequency components, which indicate that in the presence of unbalance also the algorithm works very well. From time domain figures, it can be seen that it is very difficult to differentiate two conditions taking time domain data directly. It is also observed that at higher speeds amplitude of vibration data are higher as compared lower speeds. As these data are varying about its mean, hence statistical features can be used to extract feature points. Statistical features have also been used by many researchers on time domain vibration data and found suitable to use in classification of faults. Figures 7 and 8 show statistical features for 65 Hz pump speed for BL0 blockage with (a) the casing and (b) the bearing vibration data, respectively. For better fault classification, further the classification tool, the SVM has been used.

Fig. 4
figure 4

Time domain acceleration data in the x, y and z directions at 40 Hz pump speed for a, b BL0 and c, d BL1 and e, f CVS

Fig. 5
figure 5

Time domain acceleration data in the x, y and z directions at 65 Hz pump speed for a, b BL0 and c, d BL1 and e, f CVS

Fig. 6
figure 6

Frequency domain acceleration data in the x, y and z directions at a 40 Hz, b 50 Hz and c 65 Hz pump speed for BL0

Fig. 7
figure 7

Time domain features for a standard deviation, b skewness and c kurtosis at 65 Hz pump sped for BL0 with casing acceleration data

Fig. 8
figure 8

Time domain features for a standard deviation, b skewness and c kurtosis at 65 Hz pump sped for BL0 with bearing acceleration data

4 Results and discussion

Training with acquired vibrational features is done individually. Among the various kernel available, the Gaussian RBF kernel have been used and for this kernel a parameter gamma (\(\gamma\)) is a very important input parameter. Moreover, two variants of the SVM have input parameters (C and \(\nu\)) to be chosen optimally. Generally, the selection of those parameters is performed by a trial and error method before training of the SVM. The optimized selection of these parameters could be possible by using optimizing tool. In the present study, a comparative study of these optimization methods has been performed.

4.1 Optimization of SVM parameters

Methods used for the optimal selection of parameters (C, \(\nu\) and \(\gamma\)) are (a) Grid Search Method (GSM), (b) Genetic Algorithm (GA) and (c) Artificial Bee Colony Algorithm (ABCA). A detailed explanation of related methods is in Refs. [12, 13, 2428]. A flow chart, as shown in Fig. 9, gives an overview of the detailed procedure for execution of finding optimal parameters and the final fault classification accuracy.

Fig. 9
figure 9

A flow chart for the execution of optimization of SVM parameters and final fault classification accuracy

In the grid search method, total features (data sets) are divided into two subsets: the parameter estimation data and the final testing data. The parameter estimation data set was further divided into training sets and independent test sets via a tenfold cross-validation (CV) within grid points. Each of 10 subsets acts as an independent test set for the training with the remaining 9 subsets. The advantage of cross-validation (CV) is that all of the test sets are independent and the reliability of fault predictions could be improved. Grid points are selected in the logarithmic scale for the CV calculation. After finding a better value in the grid, a finer grid search on that region is done. At the end, the highest CV accuracy parameter is selected. The training of the database is performed with the selected parameters. After that the testing of the data sets are done for the calculation of accuracy.

For the parameter selection by the GA and the ABCA, total features (data set) are divided into two subsets: the parameter estimation data and the final testing data. Again the parameter estimation data are subdivided into the training and testing data sets for the selection of optimized parameters by the GA or ABCA. After getting the optimized SVM classifier, the final testing data set is used for finding the final classification.

Total features (\(3 \times 3 \times 300 \times 6 \times 2\) with bearing and casing vibration, and \(3 \times 3 \times 300 \times 6\) with casing vibration only) are divided for the parameter optimization (\(3 \times 3 \times 270 \times 6 \times 2\) with bearing and casing vibration, and \(3 \times 3 \times 270 \times 6\) with casing vibration only) and for the final testing (\(3 \times 3 \times 30 \times 6 \times 2\) with bearing and casing vibration, and \(3 \times 3 \times 30 \times 6\) with casing vibration only). One part of features for the parameter optimization is used for the training (\(3 \times 3 \times 180 \times 6 \times 2\) with bearing and casing vibration, and \(3 \times 3 \times 180 \times 6\) with casing vibration only) and other part (\(3 \times 3 \times 90 \times 6 \times 2\) with bearing and casing vibration, and \(3 \times 3 \times 90 \times 6\) with casing vibration only) for judging fault prediction accuracies (called testing) corresponding to optimized SVM parameters. Final testing features are used for the fault classification accuracy from the optimized SVM classifier.

The objective function used for the optimization of parameters (C, \(\nu\) and \(\gamma\)) is the fault classification accuracy. The fault classification accuracy is defined as the ratio of the correctly predicted features with the total number of features. Tenfold cross-validation (CV) is used for the GSM selection. The bound for C is 0–2.0, for \(\nu\) is 0–1 and for \(\gamma\) is 0–1 [12, 13]. The population size and generation number for the GA is chosen 50. The number of food source and limit is 100 for the ABC algorithm. The variation of initial and final populations for the C-SVM and the \(\nu\)-SVM with the GA optimization and the ABCA optimization for 65 Hz speed is shown in Fig. 10 (a)-(b) and (c)-(d), respectively, using the casing vibration data for the multi-fault classification. It can be seen that the most of diverged initial populations are conversed into the final optimized value. The CV accuracy in the GSM technique for 65 Hz speed for the C-SVM and the \(\nu\)-SVM are shown in Fig. 10 (e)-(f), respectively, for the multi-fault classification. In these the contour line for the percentage accuracy is plotted and the best CV accuracy is marked. Correspondingly, the best SVC parameter is found from the best CV accuracy. The classification of faults is discussed next with the utilization of the casing and bearing vibration features.

Fig. 10
figure 10

Variation of initial and final population for C-SVC and \(\nu\)-SVC with a, b GA optimization and c, d ABCA optimization and e, f cross-validation accuracy considering casing vibration data

4.2 Identification of multi-fault (blockages)

The average of multi-fault classification of five blockages is summarized in Table 1 with the use of statistical features from the casing and bearing vibrations. For a particular pump speed, average classifications are presented separately with three optimized operators (GSM, GA and ABCA) and two SVM techniques (C-SVC and \(\nu\)-SVC). Values with bold fonts refer to the best average classification for a particular SVM and for a particular pump speed. The average classification increases (in average) from 40.00 to 99.33% with the increase of pump speed. It is also noticed that the average fault classification is better for the casing vibration data till 55 Hz of pump speed. The average fault classification is better for bearing vibration data for 60 and 65 Hz of pump speeds. It may be due to vibration is getting transmitted to bearing through rotor more predominantly at higher speeds with respect to the casing vibration.

Table 1 Classification of average blockage by two types of SVM with optimized selection of parameters by three optimization techniques considering the casing and bearing vibration features

On the basis of casing vibration data, the best of average fault classification are summarized in Table 2. Individual blockade classifications are also shown with varied pump speeds. It has been observed the best SVM type is the \(\nu\)-SVM. This proves the superiority of the \(\nu\)-SVM with reference to the C-SVM. At low pump speeds (40–50 Hz) the GA optimization shows good performance. At pump speed of 55 Hz, the GSM shows good fault prediction performance then last two speeds (i.e., 60 and 65 Hz), whereas the ABCA shows overall good performance. Table 3 illustrates the individual classification of blockage with consideration of \(\nu\)-SVM and the ABCA considering casing vibration features. It is seen that classification accuracies vary from 10.00 to 100.00%. It is observed that accuracies increase from a low value to high when the blockade is increased gradually.

Table 2 Individual classification of blockage with consideration of best average considering casing vibration features
Table 3 Individual classification of blockage with consideration of \(\nu\) -SVM and ABCA with casing vibration features

4.3 Identification of starting of cavitations

In the binary fault classification, the starting of cavitations (CVS) is considered. The prediction accuracy is shown with the use of statistical features of the casing and the bearing housing, respectively, as shown in Table 4. Binary classifications are presented for different pump speeds. Fault classifications are separately shown for three optimized operators (GSM, GA and ABCA) and two SVM techniques (C-SVM and \(\nu\)-SVM). Values with bold fonts refer to the best average classification for a particular SVM and a particular pump speed. The average classification increases with the increase of speed. It is also noticed that average classification is better for the casing acceleration data with the use of \(\nu\)-SVM.

Table 4 Percentage prediction accuracy in the binary classification with the casing and bearing vibration (BL0 versus CVS)

It could be observed that at very low pump speed (e.g., 40 Hz) the accuracy of prediction of BL1 was less. This may be due to tiny air bubbles, which carry less momentum at low speeds. Thus, the impact of bubbles on the surface of pump was also reduced. This reduced the vibration amplitude sensed by accelerometers attached on the casing surface. As speed increases the momentum of air bubble increases, hence the impact on casing surface also increases and accordingly the predictions are also excellent.

In the above, two methods of fault classifications that is blockage and starting of cavitations was discussed. The average prediction of the stating of cavitations with \(\nu\)-SVM and ABCA optimization is calculated. Figure 11 illustrates the comparison of classification of average blockage and starting of cavitations with \(\nu\)-SVM and ABCA optimization. It is observed that the starting of accuracy of cavitations classification is more than blockage.

Fig. 11
figure 11

Comparison of the classification accuracy of blockage and starting of cavitations with different speed

5 Conclusions

The diagnosis of centrifugal pump faults, by utilizing the SVM, has been illustrated in the present work. Features of five blockage conditions and cavitations have been analyzed in this study. Features are extracted in time domain from the vibration signal from the pump casing and the bearing block, and then it is applied in the fault classification of the centrifugal pump. The choice of SVM parameters and kernel parameters has been performed by three optimization techniques. Higher fault prediction accuracies have been found at higher pump speeds. This is due to the fact that at higher pump speeds the noise does not influence to a great amount because of better signal-to-noise proportion in measured signals. Furthermore, at lower speeds the impact of bubble formed due to cavitations on the surface of pump diminishes. From the present analysis, one can conclude that the SVM algorithm with vibration signals is a good candidate for practical applications of the fault detection and diagnosis of centrifugal pumps. The prediction of impeding cavitations and blockages can also be analyzed by extracting other features from frequency domain and wavelet data. Features can also be drawn from pump inlet pressure and the motor current.