王智銳,唐汝寧
(內蒙古工業大學土木工程學院,內蒙古呼和浩特 010051)
空調系統節能與環保日益為人們所關注,實行負荷預測是空氣調節系統優化運行的基礎,尋找一個在工程上切實可行的計算方法是一個值得探討和研究的問題。目前空調負荷的預測方法主要有線性回歸法[1]、指數平滑法[2]、神經網絡法[3]等,這些方法各有弊利。支持向量機(SVM,Support Vector Machine)是由Vapnik首先提出的一種新的通用機器學習方法[4]。它適用于解決小樣本、非線性、高維和局部極小等問題,彌補了其他方法在樣本數據量上的缺陷,可用于分類、非線性回歸和預測,具有很強的實踐優勢。
本文在空調負荷預測中引入SVM算法,并將其應用于一棟辦公類建筑的實際空調負荷預測,并與自回歸滑動平均算法(Armax algorithm)進行比較,以檢驗SVM用于預測空調負荷的可行性。
SVM 是將輸入空間通過非線性變換映射到一個高維特征空間,并在這個特征空間用線性函數擬合樣本數據的過程[5]。許多在低維空間難以處理的非線性分類問題,轉換到高維空間和容易得到最優分類超平面,SVM不直接計算復雜的非線性變換的值,而是計算非線性變換的內積,即核函數k ( x , y)從而巧妙地解決了高維計算問題。核函數實質上是將低維空間非線性問題映射到高維空間編程線性問題進行處理的一種映射函數,是 SVM 算法的核心。
本文將SVM算法在MATLAB軟件Libsvm工具箱中實現,對空調負荷進行預測及對比分析。
空調負荷與氣象信息如室外空氣溫度、相對濕度、太陽輻射強度、風速、風向等有關,同時也受電價政策、用戶習慣等因素的影響,其模型是復雜非線性的,因此必須忽略次要因素,針對負荷影響較大的主要因素對模型進行簡化。研究表明,室外溫度與空調負荷存在強相關性[6],而且溫度是最易檢測的天氣信息。因此本文假設空調負荷只與室外溫度和冷卻水溫差有關,利用SVM建立預測模型,對每小時的空調負荷進行回歸擬合并對下一時刻的負荷進行預測。
模型中定義了6個輸入參數和一個輸出參數,輸入參數為t-1時刻的實際負荷值Qt-1和t-2時刻的實際負荷值Qt-2、t-1時刻的室外溫度Tt-1和t-2時刻的室外溫度Tt-2、t-1時刻的冷凍水溫差ΔTt-1和t-2時刻的冷卻水溫差 ΔTt-2,用一個向量 X表示,X=[Qt-1, Qt-2, Tt-1, Tt-2, ΔTt-1, ΔTt-1]。輸出參數為 t時刻的空調負荷Qt用Y′表示。對于N個時刻,每個時刻的相關參數作為一個樣本,則樣本總數為N,樣本集為
輸入與輸出參數之間的關系為:

φ(x)是從輸入空間到高維特征空間的非線性映射;為了得到位置參數W和b,引入核函數。SVM核函數主要有:
1) 線性核函數(line):
2) 多項式核函數(polynomial):

3) 徑向基核函數(radial basis function):

4) 兩層感知器核函數(sigmoid):

文獻[4]對 SVM 中不同的核函數,測試及預測分類準確率進行了對比,得出采用徑向基核函數(RBF)作為核函數最終的分類準確率最高。所以本文選用徑向基核函數(RBF)作為核函數。
算法流程見圖1。
空調負荷與建筑物的圍護結構參數、設備參數、房間用途等因素有關,其計算繁瑣復雜,而空調系統運行的制冷量與空調負荷有關,當空調負荷變化時,電動二通閥調節開度,改變冷水流量,此時變頻泵和冷水機組的水流量都隨負荷的改變而改變,從而制冷量與冷負荷達到平衡時機組制冷量與空調負荷相近。因此本文將機組制冷量作為空調負荷進行預測。
實驗所研究的中央空調系統由三臺型號相同的19XL5151455CQ型離心式冷水機組組成,兩用一備冷水機組包括冷水泵4臺,冷卻水泵4臺(常開3臺),冷水機組的設備參數如表1所示。

圖1 算法流程

表1 冷水機組的設備參數
考慮到建筑物的熱惰性時間步長不宜過小,但模型需要利用前兩個時刻的負荷數據,時間步長也不宜過長,所以選取時間步長為1小時對空調負荷進行建模。
選取覆蓋全面的七月份連續七天的逐時負荷數據做為數據樣本對SVM模型進行訓練,預測六、七月份的空調逐時負荷。其中具代表性的三天的樣本預測SVM值如下表2,樣本訓練的SVM值與實測值的對比如圖2,樣本預測的SVM值與實測值的對比如圖3。
從表2可看出,16點、8點的誤差較大,查閱每5分鐘的運行數據,對于16點,實驗表明利用建筑的蓄冷量,空調系統提前一小時關機具有很好的節能效果,故每天在下班之前的一個小時即 16點期間已經關機或減載。對于8點,由于停機一夜的時間,通過對流換熱會使室內溫度逐漸升高,故每天開機(如8點)的第一個小時空調負荷量很大并根據夜間的溫度不同而異,因此該點的預測應利用夜間室外溫度規律預測。其中第一天 11點、12點的誤差偏大的原因在于開機時負荷容量過大導致開機后負荷驟降,不符合建模時的變化規律屬于特殊情況由此導致模型預測偏差較大。
另外,由于系統受到外界干擾,數據采集系統所采集的數據在某些時刻或時段會出現明顯異常,故在進行模型預測時候,一定要對這些異常的數據進行處理。選擇覆蓋全面的最好是連續幾天的數據,數據覆蓋面越全面預測效果越好。

表2 樣本預測SVM值

圖2 樣本訓練的SVM值與實測值的對比

圖3 樣本預測的SVM值與實測值的對比
利用 MATLAB工具箱中的 m=armax(x,[p, g])函數估計模型參數,x為自變量,p、q為Armax模型的自同歸階數和滑動平均階數。選取覆蓋全面的七月份連續七天的逐時負荷數據做為數據樣本對Armax模型進行訓練,預測六、七月份的空調逐時負荷(與上文的SVM模型使用同樣的數據)。Armax模型輸入程序為m_armax=armax(z8,[2 2 2 2 0 0]),z8為200個數據樣本組成的3×200階矩陣,預測模型為:A(q)y(t) = B(q)u(t) + C(q)e(t)本次預測所建立的Armax模型和預測結果如下:


因此:

空調負荷的SVM模型及Armax模型的樣本訓練過程如圖4所示、預測輸出過程如圖5所示。

圖4 樣本訓練的SVM、Armax與實測值對比

圖5 樣本預測的SVM、Armax與實測值對比
SVM模型的樣本訓練平均相對誤差為6.68%,樣本預測平均相對誤差為6.3%。Armax模型的樣本訓練平均相對誤差為7.7%,樣本預測平均相對誤差為 10.4%,即 SVM 模型的訓練平均相對誤差比Armax模型的訓練平均相對誤差略小,但預測的平均相對誤差卻比Armax模型的小很多,可見SVM模型的泛化能力大大提高了。這主要是因為Armax用于小樣本預測時只考慮減小誤差,而SVM既考慮減小訓練誤差,也兼顧減小學習機的復雜度,使泛化誤差的上界達到最小,從而保證具有好的泛化能力。
本文將SVM應用于空調負荷的預測中,建立基于SVM的空調負荷預測模型。描述了具體建模步驟,并用在MATLAB軟件中的Libsvm工具箱實現,實驗證明了SVM模型可準確有效地對空調負荷進行預測。同時將SVM算法與Armax算法進行對比分析,說明了SVM模型具有小樣本、學習速度快、泛化能力強等優點。
在模型訓練完成后,可以將樣本X值直接輸入即可得出預測值Y,在實際工程中簡單實用。
[1] 何大四, 張旭, 劉加平. 常用空調負荷預測方法分析比較[J]. 西安建筑科技大學學報: 自然科學版, 2006,38(1): 125-129.
[2] 何大四, 張旭. 改進的季節性指數平滑法預測空調負荷分析[J]. 同濟大學學報: 自然科學版, 2005, 33(12):1672-1676.
[3] 姚嘩, 連之偉, 侯志堅, 等. 基于 AHP的空調負荷組合預測研究[J]. 哈爾濱工業大學學報, 2004, 36(9):1269-1271.
[4] Matlab中文論壇. MATLAB神經網絡30個案例分析[M]. 北京: 北京航空航天大學出版社, 2010.
[5] 鄧乃揚, 田英杰. 數據挖掘中的新方法-支持向量機[M]. 北京: 科學出版社, 2004.
[6] TSE W L, SO A T P. A weather information-based intelligent ice storage control system[J]. ASHRAE Transactions, 2002, 108(1): 18-29.