王 曙 潘庭龍
(江南大學物聯網技術應用教育部工程研究中心 無錫 214122)
電價是電力市場中的重要組成部分,從電價可以看出整個市場的運轉效率的高低,以及市場的競爭和成熟的程度。伴隨著大數據、物聯網、傳感器等技術的飛速發展,電力市場在運行過程中累積了海量的電價數據。在大數據時代,擁有了這些數據的意義是非凡的,我們可以運用數據挖掘的手段去對電力市場中的電價進行預測,可以為電力市場、運行商、客戶等提供指導[1~4]。然而,歷史電價數據的準確性和完整性是使用這些方法的前提。基于數據挖掘技術的電價預測是在電力市場中已有的歷史電價數據基礎上進行的,采集電價數據的過程中可能會因為供電不穩定、設備損壞、人為等因素而不可避免的在一些時間點上存在一些缺失值。如果歷史數據中的缺失值過多,會給預測帶來很大的難度、影響到預測的精度,甚至使整個數據失去價值。因此,本章對電價缺失數據進行合適的預處理就顯得十分重要。
在統計學的定義中,數據缺失的類別包括三種:完全隨機缺失、隨機缺失以及非隨機缺失。這些是討論一切數據缺失問題的基礎概念。判斷究竟屬于哪種缺失類別的主要依據是看缺失的數據特征和標簽列是否有聯系。完全隨機缺失顧名思義是完全沒有關系的,這種情況是非常少見的。隨機缺失是比較常見的缺失類型,其缺失數據特征和標簽列是相互有依存關系的。非隨機缺失的缺失數據特征只和本身以及一些不可抗的因素有關聯,這種缺失也是不容輕視的[5~6]。
對于缺失的數據,比較常見的填補算法有刪除法、均值填補法、回歸填補法、熱平臺填補法、最近鄰填補法等等。這幾種算法的局限性很大,在數據缺失比例較高或數據波動幅度較大的狀況下,填補的效果較差。因而本文提出了一種基于馬爾可夫鏈蒙特卡洛(MCMC)填補方法對于缺失電價數據進行填補,并和其他兩種常見的填補算法FCS填補法和MICE填補法在不同的評價指標下進行了對比[7~9],實驗證明了該方法具有一定的優勢。
全條件定義法(FCS)[10]是由范布倫等人在1999年提出來的,這種方法對單個變量的條件分布構建一系列的回歸模型,接著在不考慮被填補變量和已觀測變量的聯合分布時對缺失值逐一進行填補。
設無缺失的數據Z是從包含了P個數據變量的多變量分布P(Z|θ)進行隨機選擇的觀測值,θ所表示的是包含了未知參數的向量,Z的分布狀況完全取決于它。所以,一旦我們知道了θ,便可以從P(Z|θ)中進行數據抽取,然后去對缺失值進行填補。具體的做法是采用吉布斯采樣去進行迭代抽樣。下面開始t次的迭代過程,第t次結束得到:

其中Z(t)j=(Z o bsj,Z*(t)j),把它作為第t次迭代式的第j個填補值[11]。
MCMC方法[12~15]將馬爾科夫(Markov)過程引入到Monte Carlo模擬中,實現抽樣分布隨模擬的進行而改變的動態模擬,彌補了傳統的蒙特卡洛積分只能靜態模擬的缺陷。它能夠在非常復雜的數據情況下對感興趣的參數進行評估和預測。這個過程的目標是找到一種可能的數據分布也就是貝葉斯后驗分布,然后可以去評估目標參數。具體使用的貝葉斯公式如下所示:

Y是來自正態分布的多變量數據,其中Y o bs和Y mis分別表示已經觀測到的和丟失的部分。利用已有的觀測數據Y obs,計算出參數θ。假定是第t次迭代,需要從p(Y mis|Y obs,θ(t))中提取出,然后從p(θ|Y obs,)提取出θ(t+1)。前面一步稱之為填補步(I-Step),后面一步稱之為后驗步(P-Step)。結果序列形成了一條馬爾可夫鏈,…,,其結果必須匯聚到p(Y mis|Y obs,θ)分布中去,然后當數據有缺失的時候,使用多重插補法估計參數。
重復I-Step和P-Step就可以形成了一條馬爾可夫鏈,他們的責任就是生成一系列值的分布,從中可以獲得所模擬的缺失值的隨機樣本。當數據有缺失的時候使用多重插補方法去估計參數。馬爾可夫鏈的長度需要足夠長以使得元素分布穩定到稱為靜態分布的共同分布上。簡單概括上述過程的流程圖如圖1所示。

圖1 MCMC填補法的流程圖
對電價的大小有影響的因素包括電力負荷、溫度、濕度、風速、風向、降水量、氣壓等。這些因素和電價數據之間也存在著一些聯系,因此電價數據的缺失類別是隨機缺失。如圖2展現了美國PJW電力市場2000年5月1號從18點到22點共5個小時的電價數據,其中由于采樣的時間間隔是5分鐘,所以這個時間范圍內共有100個節點。可以看出這個時間段的電價數據大體呈顯正態分布的趨勢。

圖2 美國PJW電力市場電價變化圖
由于實驗所用的填補方法均為多重填補方法,為了衡量不同填補次數下的填補效率(Relative Efficiency,RE)的高低,這里定義一個指標:
式子中的γ表示的是由于數據不完整所造成的相對增量,m表示填補次數。
為了評價填補算法填補效果的好壞,我們需要定義幾個指標來做判斷。本文采用的兩個評價指標是均方誤差MSE和平均絕對誤差MAE。MSE的公式為,MAE的公式為其中代表填補算法對缺失位置的填補值,yi表示原始值。MSE對于填補過程中的較大值有更大的懲罰作用,而MAE指標則更加注重較小值,因此兩者相結合能夠很好地評價填補效果。
本實驗選取的數據是來自美國PJW電力市場的電價數據。選擇的時間段是從2000年3月6日到2000年4月30日,其包含了每天24小時的數據。本實驗所使用的是期間每一天的18點到22點時間段,采樣的頻率是5分鐘。實驗中電價的數據特征包括:獨立區域負荷、總區域負荷、溫度、濕度、風速、風向、降水量、氣壓,一共8個數據特征。本章內容討論的是隨機缺失的電價缺失數據的填補,為了對幾種缺失值填補方法做出更加有說服力的評價,使用python的隨機函數在原始電價數據中隨機選擇缺失值,將這些位置的值用numpy包中的表示空值的np.nan來替代,并且設置缺失比例分別是10%、20%、30%、40%、50%,然后得到相應的有缺失的數據集。再對有缺失的數據集分別采用FCS法、MICE填補法、MCMC方法,且對3種方法的填補次數分別設置為3次、5次、10次和15次,用來觀測不同的填補次數對結果的改變如何。
本章的仿真選取的是MCMC方法,它是一種多重填補方法,用它來對PJW電力市場的電價數據進行缺失填補,并剖析出填補次數對填補精度的影響。為了很清晰地看出填補次數對預測精度的影響,我們必須要在相同的缺失比例下去實驗,這里我們以缺失值10%為例,對缺失的電價數據分別進行3次、5次、10次和15次的填補,電價的數據8個數據特征的填補效率和填補次數的對應關系如表1所示。
由表1可見,MCMC方法在隨機缺失的電價數據上的填補效率是和填補次數成一個正相關的關系。從理論上分析來看,因為填補次數的增加造成了數據的自由度有所提升。填補次數為3次、5次、10次、15次時,8組電價數據特征的平均填補效率對應分別是0.9853、0.9899、0.993、0.9978。而填補次數的增加相應的會造成計算時間的增加,這里我們取填補次數為10次較為合適,后面的討論也都建立在10次填補的基礎之上。表2展現了本章的3種缺失填補方法在不同缺失比例下的填補效率。可以看出MCMC方法在不同缺失比例下的填補效率都比其他兩種方法要高,因而MCMC方法在填補效率上是有一定優勢的。

表1 MCMC方法在不同填補次數下的填補效率

表2 不同缺失比例下3種方法的填補效率
為了評價填補算法填補值的好壞,我們需要使用上一節定義的指標MSE和MAE來對三種填補算法在不同缺失比例下的填補效果。其結果如表3、4所示。

表3 不同缺失比例下3種方法的MSE

表4 不同缺失比例下3種方法的MAE
經過對比實驗,MCMC填補法、FCS填補法、MICE填補法三種算法在不同的數據缺失比列下,總體上來說其MSE、MAE都是隨著缺失值的比例的增加而有所增加。當缺失比例在10%,20%左右缺失比例并不是很高的情況下,三種填補方法的效果都差不多,但當缺失比例到30%及以上的時候,MCMC填補算法的填補精度要明顯高于其他兩種方法,也證明了MCMC方法在短期電價數據的缺失值填補中有一定的優勢。
電價數據在獲取的過程中不可避免地會出現有缺失的狀況,這對建立電價預測模型帶來了很大的阻礙。鑒于此,本文提出了一種基于馬爾可夫鏈蒙特卡洛的缺失值填補方法,通過實驗證明了它的填補效率和填補精度相比于其他常見的填補方法具有一定的優勢。雖然填補算法能夠依賴統計學的知識對缺失值盡可能準確的去填補,但誤差是不可避免的。因而,我們在應該對于數據采集過程加強監控,盡量使得建模的數據是一手的。