況 源 ,鄧榮耀 ,陳翠華 ,吳 浩 ,周小明
(1.四川省宜賓市氣象局,宜賓 644000;2.三峽水利樞紐梯級(jí)調(diào)度通信中心,成都 610000)
向家壩水電站位于四川省宜賓市敘州區(qū)和云南省昭通市水富市交界的金沙江峽谷出口處,緊臨云南省水富市城區(qū)。壩址控制流域面積45.88 萬km2,水庫(kù)正常蓄水位380m,總庫(kù)容51.63 億m3,調(diào)節(jié)庫(kù)容9.03億m3,電站裝機(jī)容量6000MW[1]。水電站為調(diào)節(jié)庫(kù)容會(huì)進(jìn)行泄洪,下泄水流通過特定的消能設(shè)施在泄洪的同時(shí)還會(huì)在一定空間范圍內(nèi)以水霧或水滴的形式在空中形成霧流,這種霧流在氣流和地形的作用下,在局部地區(qū)產(chǎn)生密集雨霧現(xiàn)象,這一現(xiàn)象稱之為泄洪霧化,泄洪霧化將會(huì)對(duì)壩后的氣溫等氣象要素值產(chǎn)生一定的影響。向家壩水電站大壩采用了底流消能的設(shè)計(jì),能夠有效減少水霧的產(chǎn)生,但由于壩區(qū)群山環(huán)抱,空間狹?。▓D1),泄洪時(shí)霧化現(xiàn)象不可避免,也必將對(duì)壩后區(qū)域的氣溫產(chǎn)生不同程度的影響。目前泄洪霧化對(duì)環(huán)境影響的研究主要集中在影響范圍的研究,對(duì)氣象要素的影響程度研究較少,對(duì)壩后區(qū)域氣溫影響程度的定量研究更是空白。本文使用向家壩壩區(qū)氣象站的觀測(cè)數(shù)據(jù)建立模型,研究泄洪霧化對(duì)壩后區(qū)域氣溫影響程度,對(duì)向家壩壩后區(qū)域的生活和生產(chǎn)具有參考意義[2?4]。
圖1 向家壩水電站壩區(qū)地形
因向家壩蓄水前后局地氣候發(fā)生變化,為保證數(shù)據(jù)的可用性和一致性,收集了壩區(qū)氣象站蓄水后(2013~2019 年)逐時(shí)氣象監(jiān)測(cè)數(shù)據(jù)和泄洪量數(shù)據(jù),并根據(jù)數(shù)據(jù)時(shí)次是否在泄洪,劃分為泄洪時(shí)段樣本數(shù)據(jù)和非泄洪時(shí)段樣本數(shù)據(jù)。向家壩壩區(qū)自2005 年開始陸續(xù)建設(shè)有7 個(gè)氣象站,其中2 個(gè)氣象站在2018 年建設(shè),資料年限太短不能作為樣本數(shù)據(jù);其余5 個(gè)氣象站(圖2)陸續(xù)在2005~2006 年建設(shè),積累了大量數(shù)據(jù)。
圖2 向家壩壩區(qū)氣象站分布
向家壩壩區(qū)的5 個(gè)氣象站中,安邊氣象站距離泄洪孔口約4km,經(jīng)過對(duì)安邊站歷史數(shù)據(jù)分析后,發(fā)現(xiàn)其受泄洪霧化影響非常小,將其氣溫視為不受到泄洪霧化的影響。首先使用非泄洪時(shí)段樣本數(shù)據(jù)建立安邊站氣象數(shù)據(jù)與其它各氣象站氣溫的關(guān)系模型,將泄洪時(shí)段的樣本數(shù)據(jù)輸入模型,預(yù)測(cè)出在泄洪時(shí)的非泄洪狀態(tài)下的理論氣溫,用公式1 計(jì)算出泄洪對(duì)壩區(qū)各氣象站(安邊站除外)氣溫的影響值,然后從空間變化、時(shí)間變化和影響程度三個(gè)維度對(duì)氣溫影響程度進(jìn)行分析。技術(shù)路線流程見圖3。
圖3 技術(shù)路線流程
式中:△T表示在某一泄洪時(shí)次泄洪對(duì)氣溫的影響值(℃);T0表示該時(shí)次氣象站監(jiān)測(cè)到的實(shí)際氣溫(℃);T1表示模型預(yù)測(cè)出的該時(shí)次氣象站在未泄洪狀態(tài)下的理論氣溫(℃)。
機(jī)器學(xué)習(xí)是從數(shù)據(jù)中提取知識(shí),它是統(tǒng)計(jì)學(xué)、人工智能和計(jì)算機(jī)科學(xué)交叉的研究領(lǐng)域,被廣泛用于預(yù)測(cè)分析和統(tǒng)計(jì)學(xué)習(xí)。機(jī)器學(xué)習(xí)中,監(jiān)督學(xué)習(xí)是將成對(duì)的輸入和輸出提供給算法,算法會(huì)找到一種方法(模型),實(shí)現(xiàn)根據(jù)給定輸入計(jì)算出預(yù)期輸出。Scikitlearn 是一個(gè)開源的基于Python 語(yǔ)言的機(jī)器學(xué)習(xí)工具包,它通過NumPy、SciPy、Matplotlib 等庫(kù)實(shí)現(xiàn)高效的算法應(yīng)用,并且涵蓋了幾乎所有主流機(jī)器學(xué)習(xí)算法。因此本文選用Scikit-learn 的機(jī)器學(xué)習(xí)算法開展氣溫建模[5?7]。
氣溫模型是為了預(yù)測(cè)氣象站在泄洪時(shí)的非泄洪狀態(tài)下的理論氣溫,則不能選擇受泄洪影響的因子作為輸入變量,因此將非泄洪時(shí)段安邊氣象站(兩要素氣象站)的氣溫、降雨量和數(shù)據(jù)時(shí)次所在月份作為建模輸入因子,將壩區(qū)某氣象站(安邊站除外)對(duì)應(yīng)時(shí)次的氣溫作為建模輸出因子。在建模之前還需對(duì)建模數(shù)據(jù)集進(jìn)行預(yù)處理,將數(shù)據(jù)集中有數(shù)據(jù)異常和缺失的數(shù)據(jù)組刪除;因月份的數(shù)值大小無特別含義,將其由數(shù)值型數(shù)據(jù)修改為文字型數(shù)據(jù)(如1 月、2 月、3 月等),但由于大多數(shù)機(jī)器學(xué)習(xí)算法都只能處理數(shù)值型數(shù)據(jù),因此須對(duì)文字型的月份特征進(jìn)行one-hot 編碼[8]處理;同理將降雨量也處理為無降雨、小雨、小雨以上三種情況,并進(jìn)行one-hot 編碼。
為了找到表現(xiàn)最優(yōu)的模型,本文使用Scikit-learn中K 近鄰回歸(K Neighbors Regressor)、線性回歸(Linear Regression)、決策樹回歸(Decision Tree Regressor)、線性SVR 回歸(Linear SVR)和人工神經(jīng)網(wǎng)絡(luò)(MLP Regressor)五種典型算法分別訓(xùn)練數(shù)據(jù)集。
使用網(wǎng)格搜索法[9?10]對(duì)K 近鄰回歸的K 值進(jìn)行0~20 取值的調(diào)參;對(duì)決策樹回歸的樹深度進(jìn)行0~10取值的調(diào)參;對(duì)線性SVR 回歸調(diào)整參數(shù)loss(損失函數(shù),參數(shù)取值有epsilon_insensitive 和squared_epsilon_insensitive)、對(duì)參數(shù)epsilon 進(jìn)行0~3 取值(步長(zhǎng)為0.1)的調(diào)參;對(duì)人工神經(jīng)網(wǎng)絡(luò)調(diào)整參數(shù)activation(激活函數(shù),參數(shù)取值有identity、logistic、tanh、relu)。
交叉驗(yàn)證[11?12]是一種評(píng)估模型泛化性能的統(tǒng)計(jì)學(xué)方法,它比單次劃分訓(xùn)練集和測(cè)試集的方法更加穩(wěn)定、全面,能夠更有效評(píng)估模型的質(zhì)量和選擇在數(shù)據(jù)集上表現(xiàn)最好的模型,被廣泛用于模型選擇,因此使用交叉驗(yàn)證方法對(duì)五種算法訓(xùn)練出的模型進(jìn)行評(píng)估,得到了模型評(píng)估表(表1)。可以看出,用人工神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練的模型在各氣象站均表現(xiàn)最優(yōu),所以本文最終選用人工神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練出的模型開展氣溫預(yù)測(cè)。
表1 五種機(jī)器學(xué)習(xí)算法建立的模型評(píng)估參數(shù)
為了驗(yàn)證模型在樣本外數(shù)據(jù)中的泛化能力,將2020 年1~9 月非泄洪時(shí)段安邊氣象站的氣溫、降雨量和數(shù)據(jù)時(shí)次所在月份輸入各氣象站的最優(yōu)模型,預(yù)測(cè)出理論氣溫,再與實(shí)際觀測(cè)氣溫求平均絕對(duì)誤差[13],見表2。從表中看出,除馬延坡站以外,各氣象站模型驗(yàn)證的平均絕對(duì)誤差在0.5℃以內(nèi),模型表現(xiàn)較好;其誤差值與前面測(cè)試集的誤差值相當(dāng),表明模型的泛化能力較穩(wěn)定。
表2 各氣象站模型驗(yàn)證誤差
將泄洪時(shí)段安邊氣象站的逐時(shí)氣溫、降雨量和數(shù)據(jù)時(shí)次所在月份作為特征值(同樣需進(jìn)行數(shù)據(jù)預(yù)處理)輸入為壩區(qū)各氣象站(安邊站除外)建立的最優(yōu)模型,由模型預(yù)測(cè)出壩區(qū)各氣象站(安邊站除外)在泄洪時(shí)的非泄洪時(shí)段狀態(tài)下的理論氣溫T1,再使用公式1 計(jì)算出泄洪對(duì)氣溫的影響值△T。通過△T值可以發(fā)現(xiàn),泄洪霧化對(duì)壩后區(qū)域氣溫的影響主要表現(xiàn)為使氣溫降低。
從空間分布來看,將各氣象站的△T值在空間上進(jìn)行插值,可繪制出泄洪霧化對(duì)壩后區(qū)域氣溫的影響程度分布圖[14]。圖4 為向家壩水電站6~9 月泄洪霧化對(duì)壩后區(qū)域氣溫影響平均值分布。壩后區(qū)域的平均氣溫受向家壩水電站泄洪影響較小,且影響程度隨著與泄洪孔口的距離增加而迅速減小。
圖4 向家壩水電站6~9 月泄洪霧化對(duì)壩后區(qū)域氣溫影響平均值分布(a.6 月,b.7 月,c.8 月,d.9 月,單位:°C)
從江邊氣象站即日氣溫影響程度的逐時(shí)變化(圖5)來看,因受泄洪霧化的影響最為顯著,其氣溫影響平均值分布呈峰值特征,即在每日12~18 時(shí)受泄洪霧化的影響程度最大,且在13 時(shí)達(dá)到頂峰。其它站點(diǎn)在時(shí)間上的峰值特征不明顯。
圖5 江邊氣象站氣溫影響平均值的逐時(shí)變化
從影響程度來分析,泄洪霧化狀態(tài)下,壩區(qū)各氣象站(安邊站除外)的各氣溫影響值出現(xiàn)頻次見圖6。其中距離泄洪孔口最近的江邊站的氣溫受泄洪霧化的影響程度最大,氣溫影響值主要在?2.0℃以內(nèi),占比81.1%;云天化站、馬延坡站和蓮花池站的氣溫影響程度較小,氣溫影響值分別主要在?0.7℃、?0.8℃、?0.6℃以內(nèi),占比分別為80.3%、83.4%、82.4%。
圖6 壩區(qū)各氣象站不同氣溫影響值的出現(xiàn)頻次(a.江邊站、b.云天化站、c.馬延坡站、d.蓮花池站)
本文使用Scikit-learn 中五種機(jī)器學(xué)習(xí)算法對(duì)向家壩蓄水后非泄洪時(shí)段的樣本數(shù)據(jù)進(jìn)行訓(xùn)練,交叉驗(yàn)證后訓(xùn)練出壩區(qū)各氣象站(安邊站除外)的最佳氣溫預(yù)測(cè)模型,應(yīng)用該模型從時(shí)空變化和影響程度等方面定量分析泄洪霧化對(duì)壩后區(qū)域氣溫的影響,得到以下結(jié)論:
(1)從空間變化來看,壩后區(qū)域的氣溫受向家壩水電站泄洪影響較小,且影響程度隨著與泄洪孔口的距離增加而迅速減小。
(2)從時(shí)間變化來看,距離泄洪孔口最近的江邊氣象站在每日12~18 時(shí)受泄洪霧化的影響程度最大,且在13 時(shí)達(dá)到頂峰,其它站點(diǎn)在時(shí)間上的峰值特征不明顯。
(3)從影響程度來看,距離泄洪孔口最近的江邊站的氣溫受泄洪霧化的影響程度最大,氣溫影響值主要在?2.0℃以內(nèi);云天化站、馬延坡站和蓮花池站的氣溫影響程度較小,氣溫影響值分別主要在?0.7℃、?0.8℃、?0.6℃以內(nèi)。