劉劍
晉中市匯同供熱技術(shù)服務(wù)有限公司
機(jī)器學(xué)習(xí)需要大量的供熱數(shù)據(jù)來訓(xùn)練模型,以適應(yīng)不同時(shí)間不同運(yùn)行人員對(duì)供熱系統(tǒng)的調(diào)節(jié),機(jī)器學(xué)習(xí)可以在大量數(shù)據(jù)中尋找規(guī)律,避免在供熱系統(tǒng)中遲豫的發(fā)生。為了提高供熱系統(tǒng)的水利平衡性,本文將傳統(tǒng)供熱理論與機(jī)器學(xué)習(xí)結(jié)合,用機(jī)器學(xué)習(xí)模塊代替?zhèn)鹘y(tǒng)的人工調(diào)節(jié),對(duì)每個(gè)模型進(jìn)行數(shù)學(xué)建模。本文以南海頤園供熱單元二網(wǎng)供溫預(yù)測(cè)供熱量為機(jī)器模型[1]介紹。
由于機(jī)器學(xué)習(xí)需要大量的數(shù)據(jù),根據(jù)不同地方的不同需求,機(jī)器學(xué)習(xí)的模型分為訓(xùn)練模型和預(yù)測(cè)模型,以晉中市為例,數(shù)據(jù)的組成為:供熱工業(yè)組態(tài)軟件的采暖數(shù)據(jù)。室外溫度的數(shù)據(jù),利用python 編程從網(wǎng)上實(shí)時(shí)爬蟲。供熱公司客服系統(tǒng)中用戶的投訴量。熱用戶家中的室內(nèi)溫度。由于數(shù)據(jù)的存儲(chǔ)量比較大,數(shù)據(jù)庫可以選擇mysql,sqlserver。數(shù)據(jù)的完整性盡可能保證數(shù)據(jù)寫入數(shù)據(jù)庫的實(shí)時(shí)性和準(zhǔn)確性。
通過對(duì)數(shù)據(jù)庫內(nèi)的數(shù)據(jù)進(jìn)行分析,把數(shù)據(jù)庫內(nèi)與目標(biāo)值相關(guān)性比較強(qiáng)的數(shù)據(jù)選擇出來,比較數(shù)據(jù)間的相關(guān)系數(shù),利用圖像展示直觀的體現(xiàn)出數(shù)據(jù)間的相關(guān)性,以供熱量為例,發(fā)現(xiàn)供熱量與二網(wǎng)供溫相關(guān)性比較強(qiáng)。如圖1 所示,其中供熱量是放大10 倍后的顯示。

圖1 二網(wǎng)供溫與供熱量相關(guān)性對(duì)比
在數(shù)據(jù)庫內(nèi)眾多的數(shù)據(jù)中存在以下幾種情況:
1)數(shù)據(jù)值不符合實(shí)際情況。這種情況運(yùn)用三倍標(biāo)準(zhǔn)差或者可以自定義標(biāo)準(zhǔn)差的值把不符合實(shí)際情況的數(shù)據(jù)值刪除掉。
2)數(shù)據(jù)缺失。由于機(jī)器學(xué)習(xí)特征的選擇不同,任意兩個(gè)特征的數(shù)據(jù)量必須維度一致,可以通過標(biāo)準(zhǔn)時(shí)間軸拼接數(shù)據(jù)。
3)數(shù)據(jù)量不夠。如果對(duì)于模型輸入數(shù)據(jù)量不足的話會(huì)直接影響數(shù)據(jù)的學(xué)習(xí)能力,所以在訓(xùn)練模型時(shí),可以把時(shí)間軸放大,一個(gè)采暖季的數(shù)據(jù)可以擴(kuò)充到兩個(gè)采暖季。
在數(shù)據(jù)分析中會(huì)出現(xiàn)兩種情況,特征多余和特征不足。特征多余的情況需要把多余的特征刪除,對(duì)于特征不足,可以通過多種途徑來添加特征,以晉中市為例,在訓(xùn)練模型時(shí)發(fā)現(xiàn)室外溫度,風(fēng)速,濕度,體感溫度和太陽輻射對(duì)供熱量有很大影響,所以可以利用網(wǎng)絡(luò)爬蟲和購買的方式來增加特征。在特征選取時(shí),發(fā)現(xiàn)室外溫度對(duì)模型的影響很大,所以就需要把室外溫度添加進(jìn)去,如圖2 所示。

圖2 供熱量與室外溫度的相關(guān)性
以晉中市為例,模型的最終輸出為供熱量,對(duì)于連續(xù)值的預(yù)測(cè)選擇標(biāo)準(zhǔn)xgboost 模型[2],也可以通過自定義xgboost 模型來預(yù)測(cè)供熱量,由于對(duì)不同的時(shí)間段內(nèi)供熱措施不同,在模型的建立過程中根據(jù)時(shí)間維度可以進(jìn)行不同程度的懲罰。
模型的輸入是多個(gè)特征值,以晉中市為例,模型的輸入為,一個(gè)采暖季的二網(wǎng)供溫和室外溫度,模型的輸出為供熱量[3]。
模型的評(píng)估以RMSE 值為基礎(chǔ),通過交叉驗(yàn)證來驗(yàn)證模型。

Python 操作代碼為:
RMSE:np.sqr(metrics.mean_squared_error(y_origin,y_predict)
RSME 是均方根誤差(Root Mean Square Error),是觀測(cè)值與真值偏差的平方和與觀測(cè)次數(shù)m 比值的平方根。式(1)中,h(x)表示觀測(cè)者,y 表示真值,m 為觀測(cè)次數(shù)。
RMSE 分?jǐn)?shù)越低說明模型預(yù)測(cè)得越準(zhǔn)確。
由于供熱量的時(shí)間粒度為小時(shí),模型的預(yù)測(cè)為每小時(shí)預(yù)測(cè)一次,根據(jù)室外溫度的預(yù)測(cè)維度是24 h,所以供熱量預(yù)測(cè)維度是24 h 的值,如圖3 所示。從圖像中可以看出,實(shí)際值和預(yù)測(cè)值的擬合度比較高,通過2016-2017,2017-2018 兩年的供熱數(shù)據(jù)進(jìn)行訓(xùn)練值,2018-2019 的供熱季作為預(yù)測(cè)值,由于實(shí)際供熱情況中現(xiàn)場(chǎng)熱量計(jì)表的波動(dòng)誤差,會(huì)顯示數(shù)據(jù)的不穩(wěn)定波動(dòng),所以預(yù)測(cè)的供熱數(shù)據(jù)會(huì)比實(shí)際的供熱數(shù)據(jù)的波動(dòng)較小。

圖3 供熱量的預(yù)測(cè)值和實(shí)測(cè)值對(duì)比
通過實(shí)驗(yàn)得出,機(jī)器學(xué)習(xí)可以根據(jù)供熱系統(tǒng)的實(shí)際數(shù)據(jù)分析出運(yùn)行人員的實(shí)際操作,并預(yù)測(cè)出每個(gè)供熱單元的供熱量,有效地減小遲豫的發(fā)生。