劉劍
晉中市匯同供熱技術(shù)服務(wù)有限公司
機器學習需要大量的供熱數(shù)據(jù)來訓練模型,以適應(yīng)不同時間不同運行人員對供熱系統(tǒng)的調(diào)節(jié),機器學習可以在大量數(shù)據(jù)中尋找規(guī)律,避免在供熱系統(tǒng)中遲豫的發(fā)生。為了提高供熱系統(tǒng)的水利平衡性,本文將傳統(tǒng)供熱理論與機器學習結(jié)合,用機器學習模塊代替?zhèn)鹘y(tǒng)的人工調(diào)節(jié),對每個模型進行數(shù)學建模。本文以南海頤園供熱單元二網(wǎng)供溫預(yù)測供熱量為機器模型[1]介紹。
由于機器學習需要大量的數(shù)據(jù),根據(jù)不同地方的不同需求,機器學習的模型分為訓練模型和預(yù)測模型,以晉中市為例,數(shù)據(jù)的組成為:供熱工業(yè)組態(tài)軟件的采暖數(shù)據(jù)。室外溫度的數(shù)據(jù),利用python 編程從網(wǎng)上實時爬蟲。供熱公司客服系統(tǒng)中用戶的投訴量。熱用戶家中的室內(nèi)溫度。由于數(shù)據(jù)的存儲量比較大,數(shù)據(jù)庫可以選擇mysql,sqlserver。數(shù)據(jù)的完整性盡可能保證數(shù)據(jù)寫入數(shù)據(jù)庫的實時性和準確性。
通過對數(shù)據(jù)庫內(nèi)的數(shù)據(jù)進行分析,把數(shù)據(jù)庫內(nèi)與目標值相關(guān)性比較強的數(shù)據(jù)選擇出來,比較數(shù)據(jù)間的相關(guān)系數(shù),利用圖像展示直觀的體現(xiàn)出數(shù)據(jù)間的相關(guān)性,以供熱量為例,發(fā)現(xiàn)供熱量與二網(wǎng)供溫相關(guān)性比較強。如圖1 所示,其中供熱量是放大10 倍后的顯示。
圖1 二網(wǎng)供溫與供熱量相關(guān)性對比
在數(shù)據(jù)庫內(nèi)眾多的數(shù)據(jù)中存在以下幾種情況:
1)數(shù)據(jù)值不符合實際情況。這種情況運用三倍標準差或者可以自定義標準差的值把不符合實際情況的數(shù)據(jù)值刪除掉。
2)數(shù)據(jù)缺失。由于機器學習特征的選擇不同,任意兩個特征的數(shù)據(jù)量必須維度一致,可以通過標準時間軸拼接數(shù)據(jù)。
3)數(shù)據(jù)量不夠。如果對于模型輸入數(shù)據(jù)量不足的話會直接影響數(shù)據(jù)的學習能力,所以在訓練模型時,可以把時間軸放大,一個采暖季的數(shù)據(jù)可以擴充到兩個采暖季。
在數(shù)據(jù)分析中會出現(xiàn)兩種情況,特征多余和特征不足。特征多余的情況需要把多余的特征刪除,對于特征不足,可以通過多種途徑來添加特征,以晉中市為例,在訓練模型時發(fā)現(xiàn)室外溫度,風速,濕度,體感溫度和太陽輻射對供熱量有很大影響,所以可以利用網(wǎng)絡(luò)爬蟲和購買的方式來增加特征。在特征選取時,發(fā)現(xiàn)室外溫度對模型的影響很大,所以就需要把室外溫度添加進去,如圖2 所示。
圖2 供熱量與室外溫度的相關(guān)性
以晉中市為例,模型的最終輸出為供熱量,對于連續(xù)值的預(yù)測選擇標準xgboost 模型[2],也可以通過自定義xgboost 模型來預(yù)測供熱量,由于對不同的時間段內(nèi)供熱措施不同,在模型的建立過程中根據(jù)時間維度可以進行不同程度的懲罰。
模型的輸入是多個特征值,以晉中市為例,模型的輸入為,一個采暖季的二網(wǎng)供溫和室外溫度,模型的輸出為供熱量[3]。
模型的評估以RMSE 值為基礎(chǔ),通過交叉驗證來驗證模型。
Python 操作代碼為:
RMSE:np.sqr(metrics.mean_squared_error(y_origin,y_predict)
RSME 是均方根誤差(Root Mean Square Error),是觀測值與真值偏差的平方和與觀測次數(shù)m 比值的平方根。式(1)中,h(x)表示觀測者,y 表示真值,m 為觀測次數(shù)。
RMSE 分數(shù)越低說明模型預(yù)測得越準確。
由于供熱量的時間粒度為小時,模型的預(yù)測為每小時預(yù)測一次,根據(jù)室外溫度的預(yù)測維度是24 h,所以供熱量預(yù)測維度是24 h 的值,如圖3 所示。從圖像中可以看出,實際值和預(yù)測值的擬合度比較高,通過2016-2017,2017-2018 兩年的供熱數(shù)據(jù)進行訓練值,2018-2019 的供熱季作為預(yù)測值,由于實際供熱情況中現(xiàn)場熱量計表的波動誤差,會顯示數(shù)據(jù)的不穩(wěn)定波動,所以預(yù)測的供熱數(shù)據(jù)會比實際的供熱數(shù)據(jù)的波動較小。
圖3 供熱量的預(yù)測值和實測值對比
通過實驗得出,機器學習可以根據(jù)供熱系統(tǒng)的實際數(shù)據(jù)分析出運行人員的實際操作,并預(yù)測出每個供熱單元的供熱量,有效地減小遲豫的發(fā)生。