黃小光, 王 杏, 史曉鳴, 潘東浩, 周民強(qiáng), 周書鋒
(1.浙江運(yùn)達(dá)風(fēng)電股份有限公司, 浙江 杭州 310012; 2.浙江省風(fēng)力發(fā)電技術(shù)重點(diǎn)實(shí)驗(yàn)室, 浙江 杭州 310012;3.華電電力科學(xué)研究院有限公司, 浙江 杭州 310030)
根據(jù) GB/T 18451.1-2012 (即 IEC 61400-1-2005,以下簡(jiǎn)稱 IEC 規(guī)范)[1]對(duì)陣風(fēng)的定義,陣風(fēng)是短暫的風(fēng)速突變,可用上升時(shí)間、幅值和持續(xù)時(shí)間來(lái)表述。 典型的極端運(yùn)行陣風(fēng)(EOG)在風(fēng)速小幅度下降之后會(huì)驟然上升, 容易引起風(fēng)電機(jī)組過(guò)轉(zhuǎn)速停機(jī), 而頻繁地啟停機(jī)會(huì)影響到機(jī)組可利用率,進(jìn)而減少機(jī)組的發(fā)電量。解決此類問(wèn)題的一般方法是為風(fēng)電機(jī)組設(shè)定更加嚴(yán)苛的控制參數(shù)。 如果這些專門為了應(yīng)對(duì)陣風(fēng)問(wèn)題而設(shè)定的參數(shù)在所有時(shí)間段都保持固定不變, 又會(huì)導(dǎo)致安全隱患的存在和發(fā)電效益的降低。
一般而言,在風(fēng)速比較穩(wěn)定時(shí),機(jī)組的任務(wù)是穩(wěn)定運(yùn)行、最大化發(fā)電效益,此時(shí),要求降低控制參數(shù)的靈敏度, 使其在風(fēng)速小幅度波動(dòng)時(shí)仍能保持穩(wěn)定。在風(fēng)速波動(dòng)較大時(shí),機(jī)組的首要目標(biāo)是應(yīng)對(duì)陣風(fēng)、保證安全,盡量避免由于風(fēng)速突然上升導(dǎo)致的超限停機(jī)和過(guò)載,此時(shí),要求控制參數(shù)更加靈敏,以快速應(yīng)對(duì)驟然變化的外部環(huán)境,保證機(jī)組安全。因此,有必要提前預(yù)知接下來(lái)一段時(shí)間的陣風(fēng)發(fā)生概率,以便采取差異化的參數(shù)設(shè)置,兼顧效益和安全。 根據(jù)陣風(fēng)預(yù)測(cè)原理,現(xiàn)有方法分為3 類,基于物理模型的方法、 基于統(tǒng)計(jì)的方法和基于機(jī)器學(xué)習(xí)的方法。
物理模型方法將陣風(fēng)看做大氣湍流、 邊界層風(fēng)速等物理量的函數(shù)[2]。 Hans A[3]提出了一種放縮方法對(duì)陣風(fēng)進(jìn)行預(yù)測(cè)。 Stucki P[4]比較了COSMO陣風(fēng)判定模型和標(biāo)準(zhǔn)WRF 陣風(fēng)參數(shù)模型。
統(tǒng)計(jì)方法一般基于極值統(tǒng)計(jì)原理, 統(tǒng)計(jì)模型通常用于確定特定氣候中破壞性陣風(fēng)的返回期。Palutikof J P[5]對(duì)該類方法進(jìn)行了綜述。 Hofherr T[6]使用給定模型網(wǎng)格點(diǎn)的最大陣風(fēng), 構(gòu)建了極值分析模型。
機(jī)器學(xué)習(xí)的方法是陣風(fēng)預(yù)測(cè)的研究熱點(diǎn),其優(yōu)勢(shì)在于該類方法能夠建立陣風(fēng)相關(guān)變量和陣風(fēng)之間的非線性關(guān)系, 而不必依賴于某些特定的參數(shù)。 Chaudhuri S[7]使用自適應(yīng)神經(jīng)模糊推力系統(tǒng)(ANFIS)對(duì)加爾各答地區(qū)每日的極值陣風(fēng)進(jìn)行預(yù)測(cè)。 Mercer A[8]使用某個(gè)給定高度的風(fēng)速、溫度和濕度作為SVR 模型的輸入,預(yù)測(cè)美國(guó)十個(gè)城市的日最大陣風(fēng)。Sprenger M[9]使用AdaBoost 分類樹的方法對(duì)陣風(fēng)進(jìn)行預(yù)測(cè)。
以上研究基本是針對(duì)氣象領(lǐng)域的陣風(fēng)預(yù)測(cè)。本文采用基于機(jī)器學(xué)習(xí)的方法, 并結(jié)合風(fēng)電機(jī)組的特點(diǎn)和實(shí)際需求, 探討陣風(fēng)預(yù)警在機(jī)組上的應(yīng)用。 使用真實(shí)的機(jī)組歷史運(yùn)行數(shù)據(jù),參考風(fēng)速、風(fēng)向和氣溫等多種信息, 使用機(jī)器學(xué)習(xí)算法對(duì)單臺(tái)機(jī)組進(jìn)行建模??紤]了場(chǎng)級(jí)優(yōu)化,加入整個(gè)風(fēng)電場(chǎng)其他機(jī)組的影響, 對(duì)未來(lái)陣風(fēng)發(fā)生的概率進(jìn)行預(yù)測(cè),為機(jī)組差異化設(shè)定參數(shù)提供參考,緩解效益和安全之間的矛盾。陣風(fēng)預(yù)警并不直接對(duì)過(guò)轉(zhuǎn)速、故障、溫升等機(jī)組相關(guān)問(wèn)題做出預(yù)警,而是選擇了陣風(fēng)作為預(yù)測(cè)對(duì)象。 這是由于基于機(jī)器學(xué)習(xí)的數(shù)據(jù)預(yù)測(cè)模型, 能學(xué)習(xí)到的只是來(lái)自過(guò)去數(shù)據(jù)中的某種統(tǒng)計(jì)規(guī)律或經(jīng)驗(yàn),并不是嚴(yán)格的定律、定理。 機(jī)組是人為控制的, 其參數(shù)和狀態(tài)在未來(lái)很可能會(huì)發(fā)生變化。預(yù)警對(duì)象選擇由自然規(guī)律支配的陣風(fēng),一定程度上可以避免人為干擾, 使得離線訓(xùn)練的模型在相當(dāng)一段時(shí)間內(nèi)保持原有的準(zhǔn)確性, 而不需要頻繁更新。
以某風(fēng)電場(chǎng)2016 全年的歷史運(yùn)行數(shù)據(jù)建立陣風(fēng)預(yù)警建模。流程的主要步驟包括數(shù)據(jù)預(yù)處理、被解釋變量(y)和解釋變量(X)的生成、算法選擇和建模等。 詳細(xì)流程如圖1 所示。
圖1 陣風(fēng)預(yù)警建模流程圖Fig.1 Gust early warning modeling flow chart
y 的生成是對(duì)樣本中有陣風(fēng)的時(shí)段進(jìn)行標(biāo)注的過(guò)程。 基本步驟如下。
①字段篩選。 陣風(fēng)一般指風(fēng)速或者風(fēng)向的劇烈變化,因而須要專注于風(fēng)速/風(fēng)向字段。
②確定陣風(fēng)模式和參數(shù)。 陣風(fēng)模式可以參考IEC 規(guī)范, 如EOG、 方向變化的極端相關(guān)陣風(fēng)(ECD)等模型,也可以參考現(xiàn)場(chǎng)經(jīng)驗(yàn)自行定義。陣風(fēng)參數(shù),例如上升幅值,可根據(jù)需要和機(jī)型表現(xiàn)進(jìn)行選擇。
③搜索陣風(fēng)。 根據(jù)陣風(fēng)模式和參數(shù),結(jié)合歷史運(yùn)行數(shù)據(jù)的采樣周期,搜索符合要求的陣風(fēng)時(shí)段。
④標(biāo)注陣風(fēng)。 為便于訓(xùn)練建模,須對(duì)原有數(shù)據(jù)進(jìn)行整合。 可以將原有的采樣周期5 s 的數(shù)據(jù)整合為1 min 樣本。 在1 min 內(nèi)含有一個(gè)、多個(gè)或部分陣風(fēng)的樣本標(biāo)注為1(有陣風(fēng)),在1 min 內(nèi)沒(méi)有陣風(fēng)的樣本標(biāo)注為0(無(wú)陣風(fēng))。
⑤時(shí)序偏移。 原有的數(shù)據(jù)形式標(biāo)注了當(dāng)前時(shí)段是否有陣風(fēng),而陣風(fēng)預(yù)警是對(duì)未來(lái)時(shí)段陣風(fēng)發(fā)生概率的預(yù)測(cè),因此,須將標(biāo)注結(jié)果進(jìn)行時(shí)序偏移,便于模型訓(xùn)練。
仔豬白痢傳染速度快,嚴(yán)重影響仔豬生長(zhǎng),如果不進(jìn)行及時(shí)治療與防治,就會(huì)發(fā)展成為流行痢疾導(dǎo)致死亡,甚至可能出現(xiàn)全部死亡。因此,必須對(duì)仔豬白痢發(fā)生的原因進(jìn)行合理分析,并結(jié)合實(shí)際情況掌握仔豬白痢的臨床癥狀,找到治療與防治的綜合措施,保證仔豬的健康成長(zhǎng),進(jìn)而保障養(yǎng)殖戶的經(jīng)濟(jì)效益最大化。
圖2 陣風(fēng)下的風(fēng)速Fig.2 Wind speed under gust
圖2 為在歷史運(yùn)行數(shù)據(jù)中標(biāo)識(shí)出來(lái)的一次陣風(fēng)的風(fēng)速曲線。 發(fā)生時(shí)刻為2016 年1 月24 日7點(diǎn)24 分20 秒, 陣風(fēng)持續(xù)過(guò)程在圖中顯示為第15~20 秒。 該陣風(fēng)模式參考了EOG 的形式(風(fēng)速下降,接著陡然上升,又陡然下降,然后上升到初始值)。 本文做了一定簡(jiǎn)化,只考慮先下降又上升的左半部分。
圖3 為圖2 風(fēng)速所對(duì)應(yīng)的發(fā)電機(jī)轉(zhuǎn)速曲線。由圖3 可知,由于該陣風(fēng)的影響,機(jī)組因發(fā)電機(jī)轉(zhuǎn)速超限而停機(jī)。
圖3 陣風(fēng)下的發(fā)電機(jī)轉(zhuǎn)速Fig.3 Generator speed under gust
按照?qǐng)D2 所示的陣風(fēng)模式,以陣風(fēng)幅值10 m/s 為分界線,將歷史運(yùn)行數(shù)據(jù)中的各個(gè)1 min樣本劃分為有陣風(fēng)和無(wú)陣風(fēng)兩部分, 再將樣本中的轉(zhuǎn)速最大值繪制成如圖4 所示的核密度曲線。由圖4 可知:有陣風(fēng)時(shí),機(jī)組的轉(zhuǎn)速在1 700~2 000 m/min 內(nèi)呈正態(tài)分布;沒(méi)有陣風(fēng)時(shí),機(jī)組轉(zhuǎn)速分布在1 000~1 900 m/min 內(nèi)??梢娫撽囷L(fēng)模式和參數(shù)設(shè)置, 能夠很好地區(qū)分機(jī)組在有無(wú)陣風(fēng)狀態(tài)下的轉(zhuǎn)速分布。
圖4 有陣風(fēng)和無(wú)陣風(fēng)時(shí)段的發(fā)電機(jī)轉(zhuǎn)速和密度分布曲線Fig.4 Core density distribution curves of generator speed during gust and non-gust periods
本文參照IEC 規(guī)范中的EOG 陣風(fēng)定義,并依據(jù)實(shí)際情況稍作改動(dòng)。 陣風(fēng)模式和參數(shù)也可以從現(xiàn)場(chǎng)經(jīng)驗(yàn)總結(jié),既可以是風(fēng)速驟升的,也可以是風(fēng)速驟降的;既可以是風(fēng)速變化的,也可以是風(fēng)向變化的。只要能從運(yùn)行或仿真中總結(jié)更多的實(shí)例,并且這些實(shí)例確實(shí)引起了風(fēng)電機(jī)組的某些問(wèn)題,就可以歸納到陣風(fēng)預(yù)警平臺(tái), 并設(shè)計(jì)出不同陣風(fēng)模式的預(yù)警模型。
為了完成y 的預(yù)測(cè),須要為其提供輸入信息,這里稱之為X,其生成包含以下步驟。
①字段篩選。陣風(fēng)是一種外部的自然因素,是引起風(fēng)電機(jī)組各種問(wèn)題的原因而非結(jié)果, 所以選擇風(fēng)速、風(fēng)向、氣溫3 類字段作為X 的原始數(shù)據(jù)。
③特征變換。根據(jù)業(yè)務(wù)經(jīng)驗(yàn)進(jìn)行特征變換,為特征構(gòu)建提供更豐富的字段, 以便對(duì)陣風(fēng)進(jìn)行更準(zhǔn)確地預(yù)測(cè)。例如:通過(guò)正弦、余弦,將風(fēng)向分解為兩個(gè)正交方向;通過(guò)時(shí)序上的差分,將風(fēng)速轉(zhuǎn)變?yōu)轱L(fēng)速變化率等。
④特征構(gòu)建。 通過(guò)統(tǒng)計(jì)不同周期內(nèi)各個(gè)字段(及其差分)的均值、標(biāo)準(zhǔn)偏差、最大值、最小值、峰度、偏度等信息,供算法學(xué)習(xí),可以有效地提高預(yù)測(cè)精度。
⑤抽樣。 為了與y 對(duì)應(yīng), 須將樣本抽樣成1 min 間隔的數(shù)據(jù)集。
將特征變量按照重要性排名, 并計(jì)算相關(guān)矩陣,可以發(fā)現(xiàn)y 與之前的陣風(fēng)情況(如在8 min 周期內(nèi)發(fā)生陣風(fēng)與否的標(biāo)準(zhǔn)偏差) 以及風(fēng)速的變化率的離散程度(如在16 min 周期內(nèi)風(fēng)速的差分的標(biāo)準(zhǔn)偏差)等變量的相關(guān)性更高。
本文使用了4 種機(jī)器學(xué)習(xí)算法, 分別為邏輯回歸 (LR)、 隨機(jī)森林 (RF)、 梯度提升決策樹(GBDT)、深度神經(jīng)網(wǎng)絡(luò)(DNN),測(cè)試不同算法在數(shù)據(jù)集中的表現(xiàn)。 將2016 全年數(shù)據(jù)集以10 月為界限劃分為兩部分:10 月之前(含10 月)的數(shù)據(jù)為訓(xùn)練集, 用于模型訓(xùn)練;10 月之后的數(shù)據(jù)為驗(yàn)證集,用來(lái)評(píng)估模型的優(yōu)劣。 模型訓(xùn)練好后,輸入驗(yàn)證集的X,會(huì)輸出介于0~1 的預(yù)測(cè)概率。依據(jù)不同的概率閾值劃分, 得到不同的0/1 分類結(jié)果,0即為預(yù)測(cè)無(wú)陣風(fēng),1 為預(yù)測(cè)有陣風(fēng)。
圖5 為以箱線圖的形式給出了某風(fēng)電場(chǎng)30臺(tái)風(fēng)電機(jī)組的驗(yàn)證集曲線下面積 (AUC) 分布情況。 AUC 是有監(jiān)督分類問(wèn)題中最常見的評(píng)估指標(biāo),它最大的特點(diǎn)是考慮了所有的預(yù)測(cè)概率情況,對(duì)模型的預(yù)測(cè)精度給出綜合的評(píng)價(jià)。 AUC 等于0.5 時(shí),說(shuō)明模型處于隨機(jī)猜測(cè),是沒(méi)有分類能力的。 AUC 越接近1,說(shuō)明模型的分類能力越好。
圖5 不同算法的AUC 表現(xiàn)Fig.5 AUC performance of different algorithms
由圖5 可知,GBDT 的 AUC 分布更高更集中,其次是RF,LR 與DNN 表現(xiàn)相當(dāng)。近年來(lái)流行的DNN 表現(xiàn)不佳, 這一方面可能是由于DNN 的網(wǎng)絡(luò)架構(gòu)和參數(shù)更加復(fù)雜,要求調(diào)參技巧更高,另一方面可能是由于數(shù)據(jù)規(guī)模仍然不夠龐大, 不能體現(xiàn)深度學(xué)習(xí)在大數(shù)據(jù)中的優(yōu)勢(shì)。 下面對(duì)GBDT算法的結(jié)果給出了詳細(xì)的評(píng)估。
表1 依據(jù)GBDT 算法, 給出了某風(fēng)電場(chǎng)1 號(hào)機(jī)組在不同概率閾值下的準(zhǔn)確率、 精確率、 召回率、F1 得分、誤報(bào)率和 AUC。 由表1 可知,在 0.1的概率閾值下,召回率達(dá)到0.956 7,也就是說(shuō),不到5%的陣風(fēng)處于漏報(bào)狀態(tài)。
表1 某風(fēng)電場(chǎng)1 號(hào)機(jī)組GBDT 算法模型評(píng)估Table 1 Evaluation of GBDT algorithm model for turbine 1
依據(jù)GBDT 算法,給出了某風(fēng)電場(chǎng)30 臺(tái)機(jī)組的模型評(píng)估結(jié)果,所有機(jī)組的AUC 均達(dá)到了0.96以上,說(shuō)明預(yù)測(cè)模型對(duì)陣風(fēng)具有良好的區(qū)分能力。表2 列舉了其中前10 臺(tái)機(jī)組的評(píng)估結(jié)果。
表2 某風(fēng)電場(chǎng)10 臺(tái)機(jī)組GBDT 算法模型評(píng)估結(jié)果Table 2 GBDT algorithm model evaluation of 10 turbines
一個(gè)風(fēng)電場(chǎng)內(nèi)的多臺(tái)風(fēng)電機(jī)組, 由于地理位置相近,風(fēng)資源情況總體比較接近,但由于微觀地形的差異,以及風(fēng)向上下游的關(guān)系,使得各個(gè)機(jī)組的風(fēng)資源存在微妙的差異。 一部分機(jī)組在空間位置上處于主風(fēng)向的上游方位, 在時(shí)間尺度上能更早地感受到陣風(fēng)變化, 另外其尾流也可能形成陣風(fēng),對(duì)下游機(jī)組產(chǎn)生影響。 因此,為了更精確地預(yù)測(cè)陣風(fēng), 將鄰近機(jī)組的運(yùn)行數(shù)據(jù)加入到預(yù)測(cè)模型中,對(duì)陣風(fēng)預(yù)警模型進(jìn)行場(chǎng)級(jí)優(yōu)化。圖6 為某風(fēng)場(chǎng)的機(jī)組分布圖。
圖6 機(jī)組分布圖Fig.6 Unit distribution map
為了研究加入鄰近機(jī)組數(shù)據(jù)對(duì)陣風(fēng)預(yù)測(cè)精度是否具有提升作用,本文以2 號(hào)機(jī)組作為目標(biāo)風(fēng)電機(jī)組,其它29 臺(tái)機(jī)組作為數(shù)據(jù)來(lái)源機(jī)組,用兩臺(tái)機(jī)組的數(shù)據(jù)進(jìn)行組合計(jì)算。 將組合計(jì)算的結(jié)果與單臺(tái)計(jì)算的結(jié)果進(jìn)行對(duì)比,表3 為前10 臺(tái)機(jī)組的組合計(jì)算對(duì)比結(jié)果。
以表3 第一行數(shù)據(jù)為例對(duì)其內(nèi)容進(jìn)行說(shuō)明:將2 號(hào)和1 號(hào)機(jī)組的X 組合起來(lái),對(duì)2 號(hào)機(jī)組的y 做出預(yù)測(cè),可以觀察到單臺(tái)計(jì)算的AUC、兩臺(tái)組合計(jì)算的AUC 以及兩種計(jì)算之間的AUC 變化情況。 若AUC 變化為正值,說(shuō)明來(lái)源風(fēng)電機(jī)組對(duì)目標(biāo)風(fēng)電機(jī)組的陣風(fēng)預(yù)測(cè)精度具有提升作用,若AUC 變化為負(fù)值,說(shuō)明來(lái)源風(fēng)電機(jī)組對(duì)目標(biāo)風(fēng)電機(jī)組的陣風(fēng)預(yù)測(cè)造成了干擾。
表3 組合計(jì)算的AUC 變化Table 3 AUC changes in combined computation
在整個(gè)風(fēng)電場(chǎng)中, 用以上方法依次選擇一臺(tái)機(jī)組作為目標(biāo)風(fēng)電機(jī)組, 以剩余的機(jī)組作為來(lái)源風(fēng)電機(jī)組,進(jìn)行組合計(jì)算。 篩選出AUC 有所提升的組合,繪制了圖7 所示的組合計(jì)算網(wǎng)絡(luò)圖。
圖7 組合計(jì)算網(wǎng)絡(luò)圖Fig.7 Combined computing network diagram
圖7 中每一個(gè)圓點(diǎn)代表一臺(tái)風(fēng)電機(jī)組, 箭頭所指向的是目標(biāo)風(fēng)電機(jī)組, 箭頭所背離的是來(lái)源風(fēng)電機(jī)組。 受到越多指向的機(jī)組,圓點(diǎn)面積越大,說(shuō)明組合計(jì)算方式對(duì)該機(jī)組的陣風(fēng)預(yù)測(cè)精度提升更有利。可以發(fā)現(xiàn)該風(fēng)場(chǎng)的16,24,10 號(hào)機(jī)組是受到提升作用比較多的機(jī)組。
將每臺(tái)機(jī)組利用組合計(jì)算所能提升AUC 進(jìn)行累加, 記為該目標(biāo)機(jī)組的AUC 累計(jì)提升量,可知24,16 號(hào)機(jī)組獲得的累計(jì)提升較為明顯, 說(shuō)明組合計(jì)算對(duì)這些機(jī)組的陣風(fēng)預(yù)測(cè)精度提升效果最明顯。 將每臺(tái)機(jī)組在組合計(jì)算中幫助其他機(jī)組提升的AUC 進(jìn)行累加, 記為該來(lái)源機(jī)組的AUC 累計(jì)提升量,可知22,8 號(hào)機(jī)組給予的累計(jì)提升較為明顯, 說(shuō)明這些機(jī)組的數(shù)據(jù)對(duì)其他機(jī)組的陣風(fēng)預(yù)測(cè)精度的提升貢獻(xiàn)更大。
本文根據(jù)EOG 陣風(fēng)定義,使用風(fēng)電機(jī)組歷史運(yùn)行數(shù)據(jù),闡述了構(gòu)建陣風(fēng)預(yù)警模型的基本步驟,分別采用了 GBDT,RF,DNN 和 LR 算法進(jìn)行陣風(fēng)預(yù)測(cè)。依據(jù)場(chǎng)級(jí)優(yōu)化的思路,利用鄰近機(jī)組的數(shù)據(jù)來(lái)提升單機(jī)的陣風(fēng)預(yù)測(cè)精度, 嘗試將兩臺(tái)機(jī)組的數(shù)據(jù)組合作為模型輸入,對(duì)模型進(jìn)行優(yōu)化。
①針對(duì)本文的數(shù)據(jù)源,GBDT 算法的AUC 分布更高、更集中,可達(dá)到0.96 以上,預(yù)測(cè)精度更高。
②經(jīng)過(guò)場(chǎng)級(jí)優(yōu)化, 組合計(jì)算方式對(duì)風(fēng)電場(chǎng)中某些機(jī)組的陣風(fēng)預(yù)測(cè)精度有明顯的提升作用,具有較高的研究?jī)r(jià)值。
③基于機(jī)器學(xué)習(xí)的陣風(fēng)預(yù)警是風(fēng)電行業(yè)應(yīng)用大數(shù)據(jù)和數(shù)據(jù)挖掘的積極探索, 它不需要額外增加測(cè)風(fēng)硬件, 只須采集SCADA 歷史運(yùn)行數(shù)據(jù)就可以完成建模。 它所帶來(lái)的可變的、可預(yù)測(cè)的、定制化、 差異化設(shè)定參數(shù)的思路和理念具有一定革新意義。