基于最小二乘支持向量機模型的城市短期用水量預測方法
【技術領域】
[0001] 本發明涉及一種城市用水量預測方法,特別是涉及一種基于最小二乘支持向量機 模型的城市短期用水量預測方法。
【背景技術】
[0002] 隨著城市化進程的加快,城市規模和人口數量不斷增加,生產用水和居民生活用 水的需求越來越大。根據水利部的統計資料,中國660個城市中約有2/3已面臨水資源危 機,預計到2030年,全國將會消耗水資源7500億立方米,約占可用水資源總量的90%。同 時中國也面臨著嚴重的水污染問題,中國地質調查局報告表示,全國90%的地下水資源受 到污染,其中60%污染嚴重。如何有效的指導并做好水資源開發、城市用水規劃以及城市供 水系統的優化調度工作,已成為城市發展亟需解決的問題。城市用水量預測能夠對未來一 段時間的用水量進行分析,如今在水資源規劃、用水管理以及對供水系統進行科學調度等 方面發揮著越來越重要的指導作用。因此,研宄城市用水量預測技術和方法是實現水資源 可持續利用的重要工作。
[0003] 現階段水量預測方法主要有時間序列、人工神經網絡、回歸分析、灰色模型、系統 動力學等方法。時間序列預測方法基于歷史水量數據預測未來用水量,存在較為明顯的滯 后性,且無法反映氣象因素(溫度、降水量等)的影響。當氣象等因素的突然變化導致用水 量波動較大時,無法及時跟蹤水量變化,導致預測效果較差。而人工神經網絡存在以下不 足:1)有陷入局部極值的風險,導致訓練誤差較大;2)算法學習基于經驗風險最小,使得算 法的訓練誤差最小,因而建立的網絡模型泛化能力不強;3)網絡的結構設計(例如隱含層 的層數和節點數的選擇)依賴先驗知識和經驗。因此,在采用神經網絡模型預測城市用水 量時誤差較大。回歸分析法是根據用水量與影響因素間的關系對應模型,通過分析影響因 素的變化來對用水量的變化情況進行預測,這些影響因素與用水量之間存在穩定的變化關 系,是較為宏觀的影響,比如人口規模等。因此,該方法適用于長期預測。由于灰色模型對 數據量的要求不高,系統動力學方法分析過程復雜、工作量大,主要用于預測城市長期用水 量。
[0004] 本領域技術人員致力于提供一種城市短期用水量預測方法,能夠需要滿足以下幾 點基本要求:(1)模型建立過程方便、易行;(2)能夠反映氣象因素(溫度、降水量等)和節 假日對用水量的影響;(3)能夠有效處理工程實際數據中數據缺失、數據異常等常見情況; (4) 預測方法精度高、泛化能力好,滿足工程應用的要求。而現有預測技術和方法尚未能有 效地解決上述問題。
【發明內容】
[0005] 針對上述預測方法中存在的不足,本發明的目的是提供一種基于最小二乘支持向 量機模型的城市短期用水量預測方法,該方法簡單易行,能同時反映用水量自身變化規律、 氣象因素(溫度、降水量等)和節假日等對用水量的影響,預測誤差滿足城市供水規劃、水 資源開發利用、供水系統科學調度。
[0006] 支持向量機是一種小樣本學習方法,實現了高效的從訓練樣本到預測樣本的轉導 推理,算法簡單,且具有較好的"魯棒性"。
[0007] 最小二乘支持向量機是支持向量機的擴展,目前已被廣泛地推廣至預測領域。 LS-SVM系統方法在解決小樣本,高維模式識別等問題中有著獨特的優勢,具有較高的泛化 性能其將模型的訓練過程歸結為線性方程組求解問題,大大提高了訓練的速度,LS-SVM的 正規化參數和核參數影響模型的預測精度和泛化能力,可以兼顧經驗風險和置信范圍,取 得模型復雜性和學習能力之間的平衡。
[0008] 本發明提供一種基于最小二乘支持向量機模型的城市短期用水量預測方法,包括 以下步驟:
[0009] (1)獲取原始數據,原始數據包括歷史用水量序列;
[0010] (2)對歷史用水量序列進行預處理,以去除歷史用水量序列中的異常數據;
[0011] (3)對預處理后的歷史用水量序列進行相關性分析;
[0012] (4)采用最小二乘支持向量機方法,建立城市短期用水量預測模型,選取相關系數 大于設定值的一組歷史用水量的時間序列組合作為訓練樣本集,對城市短期用水量預測模 型進行訓練;
[0013] (5)采用城市短期用水量預測模型進行實時預測;
[0014] (6)計算預測誤差,如果預測誤差不滿足預測精度要求,對城市短期用水量預測模 型進行改進。
[0015] 進一步地,步驟(1)獲取原始數據包括以下步驟:
[0016] (11)獲取一個城市供水管網中的一個支線在一個時間段內的歷史用水量序列;
[0017] (12)獲取時間段內每日的氣象數據,包括最高氣溫和最低氣溫,計算最高氣溫與 最低氣溫的平均值作為日平均氣溫;
[0018] (13)從日歷中判斷時間段內每日是否為節假日,獲得節假日因子。
[0019] 進一步地,步驟(2)對歷史用水量序列進行預處理包括以下步驟:
[0020] (21)異常數據包括突變跳點數據,對歷史用水量序列中的突變跳點數據進行處 理。
[0021] 進一步地,步驟(21)對歷史用水量序列中的突變跳點數據進行處理包括以下步 驟:
[0022] (211)采用流量閾值約束處理突變跳點數據;
[0023] (212)采用相鄰值變化率閾值約束處理突變跳點數據。
[0024] 進一步地,步驟(2)對歷史用水量序列進行預處理還包括以下步驟:
[0025] (22)異常數據包括缺失數據,對歷史用水量序列中的缺失數據進行處理。
[0026] 進一步地,步驟(22)對歷史用水量序列中的缺失數據進行處理包括以下步驟:
[0027] (221)數據缺失率小于設定值,采用統計方法中的前后相鄰填充方法進行缺失數 據填補;
[0028] (222)數據缺失率大于或等于設定值,采用關聯規則算法的類均值填補算法進行 缺失數據填補,選取相關性最大的三個屬性作為標準數據對缺失屬性進行分組,然后用各 組的均值去填補相應的缺失數據。
[0029] 進一步地,步驟(4)選取相關系數大于設定值的一組歷史用水量,其中設定值 為0. 75, 一組歷史用水量包括預測時刻前lh、23h、24h、25h、48h、72h、96h、120h、144h以及 168h的用水量,h為小時。
[0030] 進一步地,原始數據還包括氣象數據和/或節假日因子,步驟(4)中作為訓練樣本 集的時間序列組合還包括氣象數據和/或節假日因子。
[0031] 作為訓練樣本集的時間序列組合還包括氣象數據和/或節假日因子,能夠綜合反 映氣象和/或節假日等因素對用水量的影響,從而提高城市短期用水量預測的精度。
[0032] 進一步地,氣象數據為日平均溫度。
[0033] 進一步地,步驟(6)對城市短期用水量預測模型進行改進為選擇最小二乘支持向 量機中核參數〇和正規化參數Y,包括以下步驟:
[0034] (61)采用精英策略kbest,只有較優的粒子會影響其他粒子的位置及速度,加快 收斂速度;
[0035] (62)采用自適應的慣性權重策略,按照粒子與最優粒子的差距自適應地改變位置 及速度,提高搜索能力;
[0036] (63)引入歷史最優信息,結合了 PS0的個體歷史最優及群體歷史最優提高算法的 搜索能力。
[0037] 與現有技術相比,本發明提供的基于最小二乘支持向量機模型的城市短期用水量 預測方法,具有以下有益效果:
[0038] (1)對歷史用水量數據進行了充分的預處理(包括修正和填補處理),盡可能使得 用水量序列保持原有的變化規律;
[0039] (2)城市用水系統是一個多變量非線性的動態系統且無法建立精確模型。最小二 乘支持向量機方法對系統采取黑箱模擬的方式,能夠實現對任意非線性函數的逼近,很好 地解決了供水系統非線性、無法建立精確模型等問題;且該方法建立在統計學習理論的VC 維理論和結構風險最小原理上,能夠兼顧經驗風險和置信范圍,取得模型復雜性和學習能 力之間的平衡,具有更好的泛化能力;
[0040] (3)采用最小二乘支持向量機模型,輸入變量包括歷史用水量以及氣象數據和/ 或節假日因子,能夠綜合反映用水量自身變化規律的作用以及氣象和/或節假日等因素對 用水量的影響,從而提高城市短期用水量預測的精度。
【附圖說明】
[0041] 圖1是本發明的一個實施例的基于最小二乘支持向量機模型的城市短期用水量 預測方法的框圖;
[0042] 圖2是本發明針對高數據缺失率提出的類均值填補算法流程圖;
[0043] 圖3是本發明預測模型的數據樣本流量趨勢圖;
[0044] 圖4是本發明采用類均值填補算法進行缺失數據填補的效果圖;
[0045] 圖5是本發明城市短期水量預測模型的預測效果圖。
【具體實施方式】
[0046] 以下將結合附圖對本發明的構思、具體結構及產生的技術效果作進一步說明,以 充分地了解本發明的目的、特征和效果,但本發明的保護不僅限于此。
[0047] 本發明的一個實施例的基于最小二乘支持向量機模型的城市短期用水量預測方 法,包括以下步驟:
[0048] (1)獲取原始數據,原始數據包括歷史用水量序列;
[0049] (2)對歷史用水量序列進行預處理,以去除歷史用水量序列中的異常數據;
[0050] (3)對預處理后的歷史用水量序列進行相關性分析;
[0051] (4)采用最小二乘支持向量機方法,建立城市短期用水量預測模型,選取相關系數 大于設定值的一組歷史用水量的時間序列組合作為訓練樣本集,對城市短期用水量預測模 型進行訓練;
[0052] (5)采用城市短期用水量預測模型進行實時預測;
[0053] (6)計算預測誤差,如果預測誤差不滿足預測精度要求,對城市短期用水量預測模 型進行改進。
[0054] 步驟⑴獲取原始數據包括以下步驟:
[0055] (11)獲取一個城市供水管網中的一個支線在一個時間段內的歷史用水量序列;
[0056] (12)獲取時間段內每日的氣象數據,包括最高氣溫和最低氣溫,計算最高氣溫與 最低氣溫的平均值作為日平均氣溫;
[0057] (13)從日歷中判斷時間段內每日是否為節假日,獲得節假日因子。
[0058] 步驟(2)對歷史用水量序列進行預處理包括以下步驟:
[0059] (21)異常數據包括突變跳點數據,對歷史用水量序列中的突變跳點數據進行處 理。
[0060] 突變跳點數據是指:某時刻或時間段的用水量與前后相鄰時刻或時間段用水量的 偏差值超過一定閾值,則認為該時刻或時間段用水量為異常數據。
[0061] 本實施例中,設定前后數據的偏差閾值0為平均用水量的10%,若超過這一閾 值,則采取數據修正或數據填補操作。
[00