Introduction

Increased demand for clean energy has led to the impressive expansion of global wind power installed capacity over the past decade. The newly installed wind turbines requires less maintenance cost but as it get old and out of warranty, then turbines maintenance cost increases significantly. Author of [1] pointed that of the total of 433 GW of wind capacity in 2015, the bulk of this was out of warranty which suggest a massive requirement for operation and maintenance (O&M). It is also well known that such costs are considerably higher for offshore wind turbines and in Ref. [1] it was found that improvement of O&M practice could lead to a reduction of 21% and 11% of the life-cycle costs of offshore and onshore wind farms, respectively. Furthermore, it is expected that the global wind O&M market will reach 20.6 billion US dollars by 2023. With the increase in age of wind turbines and the move to less accessible offshore sites, the O&M cost is expected to grow significantly, which reinforces the drive towards condition-based maintenance [2]. It is imperative to detect failures at an early stage to minimize downtime and maximize productivity, and condition-based maintenance has a crucial role to play in this.

Wind farms equipped with supervisory control and data acquisition (SCADA) systems provide data essential for reliable performance optimization [3]. Performance monitoring based on the available SCADA data is also a cost-effective approach to turbine condition appraisal, as confirmed by various literature reviews [4, 5] that highlight the feasibility of identifying turbine health status using SCADA data, and the vast potential of further enhancing the health monitoring function through sophisticated data analysis. SCADA-based monitoring of the condition of internal components of a wind turbine can be used to optimize maintenance activities and thus reduce O&M costs and increase reliability and production time; see [6,7,8,9].

The power curve is widely used to assess the performance of a wind turbine; it signifies the nonlinear relationship between power production and hub height wind speed [10]. IEC-61400-12-2 [11] prescribes the method known as ‘binning’ to calculate the power curve. The “method of bins” is a data reduction technique used to normalize the data to construct the measured power curve. This binned power curve includes the effect of the site turbulence and all other effects reflecting onsite conditions [12].

Nonparametric models are data driven, and their structure is not specified a priori but is obtained exclusively from the data [13]. Commonly used nonparametric models in wind turbine condition monitoring are support vector machine (SVM), copulas, Gaussian process (GP) and other data derived models; see [13,14,15]. SCADA data record a large number of measurements which make nonparametric models appropriate.

In the last decade, support vector machine (SVM), a novel and potent machine learning technique, has been successfully used for classification- and regression-related problems. Support vector machine (SVM) based on the applications is categorized into support vector classification (SVC) and support vector regression (SVR). The SVM method uses a technique called ‘kernel trick’ to solve linear and nonlinear classification-related problems where its ability to deal with high dimensional data for a relatively small training set is satisfactory [16]. This allows replacement of the inner product (<x, y>) in an algorithm with a kernel (k (x, y)) and this approach is particularly valuable in a condition where it is more convenient to compute the kernel than the feature vector itself. Comparative studies [17] show that generalization of SVM to complex models is better than that for artificial neural network (ANN), though it suffers from a more extended training time for large datasets. To deal with this, the least squares support vector machine (LSSVM) approach proposed transforming complex quadratic programming into a linear problem; see [18]. SVM has demonstrated satisfactory performance on regression and time-series prediction by solving the nonlinear relationship efficiently and stable across a range of applications; see examples [19,20,21]. The SVM model has been reported for short-term wind speed forecasting and yielded accurate results; see [22]. Comparative performance of SVM and multilayer perceptron (MLP) neural networks for wind speed prediction have been studied in [23], and the results suggest that the SVM approach outperforms the MLP model with respect to the root mean squared error (RMSE). Furthermore, SVM and neural network developed for short-term wind forecasting [24] indicate that SVM performance is superior. Li et al. [25] proposed a model based on SVM classification to diagnose gearbox faults with promising results. In another paper [26], an SCADA-based SVM model was constructed for diagnosing and predicting wind turbine faults.

Recently, the wind turbine condition monitoring studies have mostly focused on the power curve for evaluating performance. However, this cannot reflect the complete turbine operation since the operational behavior of the wind turbines is profoundly influenced by a parameter such as a rotor power, torque, and pitch angle. Valid assessments of these parameters improve the power performance of a wind turbine. In this study, the blade pitch angle impact on wind turbine performance is analyzed using the blade pitch curve that reveals the nonlinear relationship between pitch angle and the hub height wind speed that can be useful for analyzing wind turbine performance and the detection of faults.

This paper proposed a novel support vector regression (SVR) approach to estimate wind turbine blade pitch curve and its application in anomaly detection for condition monitoring. The binning method is a benchmark data reduction approach for the wind industries, but its application is generally limited to the power curve. In this study, the binning method is applied to calculate the blade pitch curve. Finally, a comparative analysis of the binned blade pitch curve and support vector regression blade pitch curve is undertaken regarding fitting uncertainty and identifies the advantages and disadvantages of the SVR model.

This paper is structured as follows: The introduction is the first section. The next section describes the wind turbine performance curves and air density corrections. The following section describes the SCADA dataset and its pre-processing. The next section outlines the methodologies and this section is further divided into subsections explaining support vector regression (SVR) and the binning approach to wind turbine blade pitch curve modeling. The next section presents the comparative analysis of proposed models and the last section concludes the paper.

Wind turbine performance curves

The power curve used to describes the strong dependency of power output of wind turbines on wind speed (Fig. 1) and widely used for power performance, warranty formulations, energy assessment, and fault detection applications. The power curve represents the nonlinear relationship between hub height wind speed and turbine output power and mathematically expressed as [27]:

$$P = 0.5 \rho AC_{\text{p}} \left( {\lambda ,\beta } \right) v^{3}$$
(1)

where ρ is the air density (kg/m3), A is the swept area (m2), Cp is the power coefficient of wind turbine and v is the hub height wind speed (m/s). The tip speed ratio (λ) and pitch angle (β) affect the power coefficient and thus affect the power production of a wind turbine.

Fig. 1
figure 1

Measured power curve

Following the IEC standard (61400-12-1) [11], air density correction should be applied to a pitch-regulated wind turbine in which a corrected wind speed VC is calculated using Eqs. (2) and (3) as shown below

$$\rho = 1.225 \left[ {\frac{288.15}{T}} \right]\left[ {\frac{B}{1013.3}} \right]$$
(2)

and

$$V_{\text{C}} = V_{\text{M}} \left[ { \frac{\rho }{1.225} } \right]^{{\frac{1}{3}}}$$
(3)

where VC and VM are the corrected and measured wind speed in m/s and the corrected air density is calculated by Eq. (2) where B is atmospheric pressure in mbar and T the temperature in Kelvin for which 10 min average values obtained from SCADA data are used. The corrected wind speed (VC) from Eq. (3) is then used to calculate the power curve normally by binning.

A typical blade pitch curve described the nonlinear relationship between turbine pitch angle and wind speed and shown in Fig. 2. Below the rated wind speed, the blade pitch angle is set to maximize power production. Beyond the rated wind speed, to limit power generation to rated power, the blade pitch angle is continuously adjusted.

Fig. 2
figure 2

Measured pitch angle curve

SCADA data for wind turbine performance curves

Supervisory control and data acquisition (SCADA) systems record the operational status of wind turbines and are essential for reliable performance optimization. Performance monitoring based on available SCADA data is also a cost-effective approach to turbine condition appraisal, as confirmed by various literature reviews that highlight the feasibility of identifying turbine health status using SCADA data, and the high potential of further enhancing the health monitoring function through sophisticated data analysis.

SCADA data sets used in this research are from a wind farm located in Scotland, UK, and cover a full year of operation with 10-min resolution. SCADA data reflect many aspects of a wind farm, from power output and wind speed to any error registered within the system, without any extra cost [28]. Furthermore, SCADA data analysis is essential for failure prognostics and the calculation of remaining life, along with diagnostic applications. However, SCADA data systems are not perfect; they can be affected by sensor error and data logging faults, and thus need careful pre-processing. The SCADA data used in this research are from a 2.3 MW Siemens turbine. Monthly data used for model training and testing purposes contain 4464 data points beginning with time stamp ‘‘1/7/2012 00:00 AM’’ and ending at time stamp ‘‘31/7/2012 23:50 PM’’. Using these data points, measured power and blade pitch curves are shown in Figs. 1 and 2 respectively. Filtering criteria described in [29], including timestamp mismatches, out of range values, negative power values, and turbine power curtailment have been applied to minimize misleading data. Using this filtration approach, measured SCADA data sets were reduced by 626 from 4464 and used to develop a blade pitch curve using SVR and binning technique. The filtered and air density-corrected power and blade pitch curve are shown in Figs. 3 and 4. Figure 5 shows a visual comparison between measured and pre-processed wind turbine blade pitch curves and suggest that the filtering applied here minimizes SCADA data errors (Table 1).

Fig. 3
figure 3

Pre-processed power curve

Fig. 4
figure 4

Pre-processed pitch angle curve

Fig. 5
figure 5

Measured and filtered pitch curve comparison

Table 1 SCADA dataset description

Methodologies to be compared

The two approaches, namely binning and support vector regression used to build effective blade pitch angle curves for wind turbine condition monitoring, are described as follows.

Support vector regression-based blade pitch curve

Support vector machine (SVM) is a nonparametric, machine learning approaches widely used in solving complex and nonlinear relationships between a high number of parameters. The SVM was first identified by Vapnik and his colleagues in 1992, [30], and gaining popularity due to its many attractive features, and promising results. Based on the applications, SVM is categorized into support vector classification (SVC) and support vector regression (SVR). The SVM regression theory is applied to model the blade pitch curve and is described below. A so-called dual SVR model deals better with high dimensions, in contrast to the standard approach and so will be considered here for blade pitch curve modeling [31]. A Lagrangian function of the primal function was developed by introducing nonnegative multipliers and for calculating the dual SVR, where the inner product of the predictors was replaced by its corresponding element from the Gram matrix for an effective nonlinear SVR algorithm. The Gram matrix is an n-by-n matrix which contains elements; gij = G(xixj), where \(x _{i} ,x_{j}\) are the training SCADA data points. This Lagrange dual formulation complements the nonlinear system and hence used in this study. A nonlinear SVR calculates the optimal function f(x) in the transformed predictor space where the SVR looks for the coefficient that minimizes the Lagrangian function using the dual formula [32, 33]:

$$L\left( \alpha \right) = 0.5\mathop \sum \limits_{i = 1}^{N} \mathop \sum \limits_{j = 1}^{N} \left( {\alpha_{i} - \alpha_{i}^{*} } \right)\left( {\alpha_{j} - \alpha_{j}^{*} } \right)G\left( {x_{i} ,x_{j} } \right) + \varepsilon \mathop \sum \limits_{i = 1}^{N} \left( {\alpha_{i} + \alpha_{i}^{*} } \right) - \mathop \sum \limits_{i = 1}^{N} y_{i} \left( {\alpha_{i} - \alpha_{i}^{*} } \right)$$
(4)

Under the following constraints:

$$\sum\limits_{n = 1}^{N} {\left( {\alpha_{n} - \alpha_{n}^{*} } \right)} = 0;$$
$$\forall n :0 \le \alpha_{n} \le C;$$
$$\forall n :0 \le \alpha_{n}^{*} \le C.$$

The function f(x) used to fit the SVR model for blade pitch curve is given by

$$f\left( x \right) = \mathop \sum \limits_{n = 1}^{N} \left( {\alpha_{n} - \alpha_{n}^{*} } \right)G\left( {x_{n} ,x} \right) + b.$$
(5)

This specific SVR is called ɛ-SVR due to its scarcity representation capability [34]. The ε-insensitive loss function is used to build the objective function of the ɛ SVR. The v-SVR is another type of regression where v parameters are used to control the number of support vectors; see [35, 36]. The Karush–Kuhn–Tucker (KKT) conditions play an important role in dealing with constrained optimization and using KKT conditions [37]; of the quadratic programming, only a certain number of the coefficients (αnα * n ) will assume nonzero values. The KKT complementarity conditions are optimization constraints required to obtain optimal solutions, and for nonlinear SVM regression these conditions are

$$\forall n : \alpha_{n} \left( {\varepsilon + \xi_{n} - y_{n} + f\left( {x_{n} } \right)} \right) = 0;$$
$$\forall n : \alpha_{n} \left( {\varepsilon + \xi_{n}^{*} + y_{n} - f\left( {x_{n} } \right)} \right) = 0;$$
$$\forall n : \xi_{n} \left( {C - \alpha_{n} } \right) = 0;$$
$$\forall n : \xi_{n}^{*} \left( {C - \alpha_{n}^{*} } \right) = 0.$$

Parameter C determines the trade off between the model complexity (flatness) and the degree to which deviations larger than ɛ are tolerated in optimization formulation [31]. Parameter ɛ controls the width of the ɛ-insensitive zone, used to fit the training data sets. It also affects the number of support vectors and hence is important for an effective blade pitch curve SVR model. In short, both C and ɛ affect SVR model performance and hence it is necessary to find optimal values for these parameters using appropriate optimization techniques. The calculation of ɛ and C is based on the nature of input datasets and choice of kernel. In this study, a Gaussian kernel was used and C and ɛ values were calculated as iqr(Y)/13.49 where iqr(Y) is the interquartile range of the response variable Y [33, 34]. The 13.349 is a rescaling factor (that quantifies the statistical dispersion in a set of numerical data) that reflects the change from interquartile range to standard deviation. The calculated values of box constraint and epsilon are used in the wind turbine blade pitch curve modelling.

The bias ∊ is a part of the original primal formula of the SVR and is calculated from the following equation [31, 33]:

$$\in = \mathop \sum \limits_{n = 1}^{N} \left( {\alpha_{n} - \alpha_{n}^{*} } \right)$$
(6)

where αn and α * n are the nonnegative multipliers for each observation xn. The obtained biased value for this study is 1.70 which is added into the SVR model to predict the blade pitch curve of wind turbine accurately.

The appropriate kernel makes SVR algorithm faster and involves computations in higher dimensional space. The Gaussian kernel is used in this study and mathematically is expressed as:

$$k\left( {x,x^{\prime}} \right) = \exp \left( { - \gamma \left| {x - } \right.\left. {x^{\prime}} \right|^{2} } \right)$$
(7)

where γ is the kernel scale for given points x and x.

The Gaussian kernel is also popularly known by radial basis function (RBF) kernel and widely used. For example, the authors of [38] demonstrated that the use of SVR in hydrological modeling and they highlighted the excellent performance of the RBF.

The cross-validation of five folds is used to find the best value for kernel scale and to prevent overfitting [35]. The SCADA datasets described in “SCADA data for wind turbine performance curves” were randomly shuffled and split into training and testing datasets for training and SVR model validations purposes, respectively.

Based on the SVR theory outlined above, a blade pitch curve model is proposed using a Gaussian kernel function and then compared with the measured blade pitch curve and is shown in Fig. 6. Figure 6 suggest that the support vector regression can fit the wind turbine pitch curve smoothly, however at higher wind speed, its accuracy suffers because of unavailability of sufficient data points. Furthermore, the accuracy of a support vector regression model depends on the quantity and quality of the data as well as the appropriate fitting method used. Furthermore, the estimated blade pitch angle as a function of time plotted and compared with the observed pitch angle, as in Fig. 7, suggests that SVR can estimate the pitch angle efficiently. Blade pitch failure may lead wind turbines to underperform, and an SVR model can help identify such failures through uncertainty analysis.

Fig. 6
figure 6

Comparison between measured and SVM fitted blade pitch curve

Fig. 7
figure 7

Comparison between measured pitch angle and SVM fitted pitch angle as a time series

Binned based blade pitch curve

The IEC 61400-12 standard describes the data reduction technique known as binning, typically using 0.5 m/s wide wind speed intervals. The power curve is a smooth curve drawn through these points, but in actuality is only defined precisely at the points themselves. In this study, binning methods are applied to calculate blade pitch curve using the following equations:

$$V_{i} = \frac{1}{{ N_{i} }}\mathop \sum \limits_{j = 1}^{Ni} V_{n,i,j}$$
(8)
$$B_{i} = \frac{1}{{ N_{i} }}\mathop \sum \limits_{j = 1}^{Ni} B_{n,i,j}$$
(9)

where Vi is the normalized and averaged wind speed in bin i, Vn,i,j is the normalized wind speed of data sets j in bin i, Bi is the normalized and averaged pitch angle in bin i, Bn,i,j is the normalized pitch angle of data set j in bin i, and Ni is the number of 10 min average data sets in bin i.

Figure 8 shows the reference binned blade pitch curve together with error bars. Type B uncertainties would be difficult to treat in a consistent manner without greater knowledge of the instrumentation used. Therefore, in this paper, we used the statistical spread evident in the binned data. The two standard deviations (i.e., 95% confidence intervals) of measured power values are used to calculate the error bars which are used to measure the uncertainty associated with each bin of the blade pitch curve. However, binning is not necessarily the most effective way to generate a pitch angle curve from wind speed and pitch angle data, since there is compromise being made for accuracy while choosing a bin width of 0.5 m/Sec. Within each bin, the measured power will depend strongly and non-linearly on wind speed, and a wide bin would result in a systematic bias; on the other hand, in practice, there must be a sufficient number of data points in each bin to be statistical significance [39]. The comparative analysis of binning and SVR models is described in the upcoming sections where the advantages and disadvantages of the individual methods are outlined.

Fig. 8
figure 8

Wind turbine pitch curve with error bars

Comparative analysis of binned pitch curve and SVR pitch curve

In this section, a comparative analysis of binned and SVR-based pitch curves concludes that the support vector regression fits the data well between a cut in and rated wind speeds, but that the binned approach to fitting works well across the entire range of wind speed, as shown in Fig. 9. However, the binned pitch curve obtained from extensive measured data requires an extended measurement period to limit the uncertainty associated with the calculated pitch curve and is far too slow to be used directly for condition monitoring where any changes in operation need to be identified quickly. Support vector regression is not limited in this way and hence can detect anomalies quickly. Thus, the support vector regression is preferred for detecting damage at an early stage.

Fig. 9
figure 9

Comparative analysis of binned and support vector regression models

Conclusion and discussion

This paper has proposed an SVM-based regression model for estimating the blade pitch angle curve. The estimated SVR pitch curve follows the standard variations, though due to the lack of data points in above rated wind speed, its accuracy suffers. This highlights how the quality and quantity of data points significantly affects the SVR model prediction accuracy. SVR is then compared with the conventional approach based on a binned pitch curve together with individual bin probability distributions to identify operational anomalies. This comparative study yielded significant results. The SVR blade pitch curve closely follows the binned pitch curve, but above rated wind speed, there are fewer SCADA data values available and, as a result, the SVR curve is less well determined with some mismatch with the binned pitch curve. The major issue associated with wind turbine condition monitoring is to detect a fault or failure as soon as possible and with limited computational time and processing power so that catastrophic damage due to failure can be prevented with a cost-effective approach. The comparative analysis illustrates the strengths and weaknesses of these techniques in context to anomaly detection and model uncertainty. This should support a wind farm operator in selecting the best method for wind turbine condition monitoring.

The future work is to develop and appropriate uncertainty analysis for the SVR blade pitch curve and then use it for developing a practical fault detection SVR algorithm.