# Wind Turbine Power Curve Modelling with Logistic Functions Based on Quantile Regression
## 3 WTPC Modelling with the Proposed QRLF  
### Outlier Filtering  
Affected by a harsh environment and various restrictive factors, power outliers are inevitable in the collected dataset. According to [32], power outliers can be divided into sparse outliers and stacked outliers, as shown in Figure 1.  
In Figure 1, sparse outliers are usually caused by random noise or a transition period, where the turbine is going from shutdown to startup. Stacked outliers are mainly caused by wind curtailment, shutdown or data transmission failure (such as anemometer data error). In this paper, an outlier filtering method is proposed based on QRLF, and Figure 2 shows the flow chart. In Figure 2, PCq5, PCq50, and PCq95 are power curves fitted by QRLF (expressed in Equation (7)) with 5%, 50% and 95% quantiles, and PSO is applied for parameter optimization; \(\lambda\) is the hyperparameter of the proposed data filter method; \(d_{1}\) is the sum of distance between PCq5 and PCq50; and \(d_{2}\) is the distance between PCq50 and PCq95. The proposed outlier filtering method mainly consists of preliminary data processing, power curve fitting, threshold setting and outliers filtering. 1. Preliminary data processing  
Firstly, we use the state parameters to filter the stacked outliers caused by shutdown or other abnormal operation states, and then limit the value ranges of the collected data by using the design parameters of target wind turbines. Table 1 lists the detailed information of the filtering conditions. Figure 1: Scatter plot of wind speed and power output of a wind turbine. Figure 2: Flow chart of the proposed outlier filtering method. Secondly, we calculate the power coefficient (\(C_{P}\)) of each power point, and then filter the power points that exceed the Betz limit (\(16/27\)) [1], expressed as:  
\[C_{P}=2P/\rho_{0}Av^{3} \tag{14}\]  
where \(P\) is the power output; \(v\) is the wind speed; \(A\) is the swept area of the impeller; and \(\rho_{0}=1.225\) is the reference air density. This step can eliminate the outliers that have higher power output than normal power points, e.g., data transmission failure in Figure 1. However, limited by the types of monitored parameters, only several kinds of outliers can be eliminated by preliminary data processing. 2. Power curve fitting  
After data preprocessing, this paper uses QRLF (optimized by PSO) with 5%, 50% and 95% quantiles to build three power curves, and then eliminates the remaining outliers by the positional relationship of these fitting curves. 3. Threshold setting  
We calculate the distance between different fitting curves (\(d_{1}\) and \(d_{2}\) in Figure 2), and then use the ratio of them (\(d_{1}/d_{2}\)) to quantify the relationship of relative position between fitting curves. For example, in Figure 2(a), when the wind turbine is operating normally, the distribution of power at a given wind speed is approximately symmetric about the mean, \(d_{1}/d_{2}=1.14\). In Figure 2(b), the stacked outliers increase the distance between PC\({}_{q5}\) and PC\({}_{q50}\) but the distance between PC\({}_{q95}\) and PC\({}_{q50}\) is basically unchanged because the outliers that has higher power output than the normal power points have been eliminated in preliminary data processing. In this case, \(d_{1}/d_{2}=5.90\), which is much larger than 1 (ideal case). Therefore, we can determine whether there are outliers in the raw data by setting a specific threshold based on \(d_{1}/d_{2}\). If \(d_{1}/d_{2}>1+\lambda\), the outlier filtering process will be executed. Hyperparameter \(\lambda\) as a margin added on the ideal case, which determines the end condition of the filtering process. If \(\lambda\) is too large, it is difficult to eliminate the power outliers, but if \(\lambda\) is too small, some normal data points will be regarded as the outliers. In this study, \(\lambda\) is set to 0.3 by the cross validation of multiple wind turbines. In some cases, however, \(\lambda\) needs to be fine-tuned according to the actual condition before deployment.