第199期 / May 5, 2014

研發新視界

分享到臉書!分享到維特!分享到噗浪!分享到Google+!分享到微博!轉寄友人友善列印

電表讀表數據驗證與修補技術

作者/李佳候

[發表日期:2014/4/17]

前言

電表讀表數據主要為每日由設備讀出並寫入後端資料庫,並依據讀表數據進行計價,有鑑於讀表儀器越來越普及化,因此,讀表的資料量將與日俱增。SIERRA ENERGY GROUP於2011年針對電力公司使用的電表資訊管理(Meter Data Management, MDM)解決方案進行市場調查,根據調查報告可知,資料驗證、編輯與估算模組期望需求百分比為最高,顯示該模組的重要性與需求的急迫性,如圖一,因此,讀表數據的準確性、可靠性以及完整性是必須重視的議題。


《圖一》MDM功能需求調查結果


數據驗證與修補技術,簡稱為VEE(Validation, Estimate and Edit)。讀表數據中,以牽涉計價電費的數據最需具備一定的正確性,並且不能有所遺漏,因此,必須於設備發生故障或資料不完整時,快速且準確地核實該數據。VEE可定期檢查讀取數據的時間間隔,並且在資料異常的時候,驗證、預估並修改為正確的數據。良好的VEE模組設計將可適用於智慧電表、水表、或是任何可與電腦通訊並且紀錄資料的儀器。其主要特色包含:
  • 高相容性 (High Compatibility):

    不需要更改或破壞原先硬體以及軟體架構,隨時可以套用至任何系統。


  • 簡易的設定(Easy to Config):

    簡單易懂的設定,只需調整幾項數據,設定成自身的環境即可馬上運作,基本上以後都不需要去在做任何調整。


  • 簡單的操作(Easy to Use):

    簡單易懂的介面,設定完成後,使用者可以透過簡單的查詢來得知驗證與修補的狀況,便於使用者能夠了解資料收集是否正常,並且可以產生報表。

數據驗證與修補技術與架構

數據驗證與修補技術VEE (Validation, Estimation, Edit) 是指驗證、預估、以及修改讀表資料。其規則為原始資料 (Raw data) 經過驗證找出遺漏、失敗或錯誤的資料,再經由估算的規則進行計算,最後修改問題資料。經由建立VEE資料分析模式,驗證資料的正確性並校正問題的資料,以確保決策的品質。
  • 驗證 (Validation):

    從電表讀表數據中,找出不合乎驗證標準且無法反映實際使用的用電數據資料,例如:資料遺漏不全、突波值、或是資料異常等。驗證的方法包含:使用量為零之驗證、遺漏值驗證、突波驗證、平均值標準差分析模式驗證、平均值模式驗證、線性回歸分析模式驗證、二次回歸分析模式驗證。


  • 預估 (Estimation):

    針對驗證後的錯誤或遺漏資料進行對應的演算法,獲得一組新的數據,例如:參考日等比例估算法、線性內插法、上升餘弦內插法、高次方內插法。


  • 修改 (Edit):

    獲得一組新數據後,決定是否將新數據取代有問題的資料。


《圖二》數據驗證與修補技術流程圖

一、數據驗證與修補之運行規則

數據驗證與修補技術主要提供對遺失、錯誤、重複讀表資料之驗證機制及估算邏輯,以確保用電資料之完整性與正確性。數據驗證與修補技術流程為原始資料經過驗證後,找出遺漏、失敗或錯誤的資料,再經由估算的規則進行計算產生預測估算後的資料,最後修改問題資料,且修改過的資料可做為後續驗證或預估資料的參考。


《圖三》數據驗證與修補技術流程架構圖


二、驗證參數值

其中驗證的步驟,是由不同的數學公式與統計來完成驗證,其中不同的驗證方法將會運用到許多不同的數學參數,例如平均值,我們假設一組數據驗證的單位為一天,因為我們不知道當天是否有錯誤資料參雜其中,所以我們會取前面所有做過驗證與修補後的資料產生出的參數值來當作此次參數的依據,如圖表四,所以平均值將會是:


《圖四》驗證參數計算流程圖


當這次的驗證修補結束後,我們會依據此組數據獲得新的參數值,再將新的參數值與之前的參數值做結合,會在得到一組新的參數值提供下一次的驗證使用。假如第一次做驗證修補,則選擇第一天的參數值來當作基準,所以第一天的數據必須確保是正確的。

驗證與預估演算法

一、驗證


  • 遺漏值檢查MISSING CHECK

    在資料來源中,很多情形都代表遺漏值,如:空值、空白資料格、N/A、其他代碼值、或是任何假造的值 (如 9999)。當用電資料不完整時,會因為資料量少於預期,而降低資料統計量的精確度,進而對後續VEE造成影響。不過在系統向電表設備讀值的前提下,讀表數據均為固定時間間隔向設備取得資料,因此,只會將特定時間無讀表數據視為遺漏的值。遺漏值檢查的檢查方式便是以固定時間間隔為基準,核對是否有遺漏資料,如圖4所示,若連續N筆資料遺漏,將以參考日做修補;若小於N筆遺漏資料,則以內插法進行修補。


  • 零使用量檢查ZERO CHECK

    除遺漏值外,在有實際用戶使用的狀態下,用電量為零是異常的狀況,除非設備能源分散或是電表未註冊。零使用量檢查主要是為了檢查在計費月是否為零。


  • 突波檢查SPIKE CHECK

    突波電壓 (Spike) 是指瞬間增加的劇烈高壓狀態,對電腦或精密設備會導致硬體設備的損 壞與資料流失,由用電趨勢圖便可清楚看出某時段的數據異常飆高,如圖五所示。



  • 《圖五》突波範例


  • 平均值檢查AVERAGE CHECK

    若電表使用量超出當天平均值的上限與下限標準值,則判定為異常。適用於規律的曲線,以一個直覺的演算法來判斷是否有異常的數值,讓使用者能夠直接從圖表或數據上做簡易的交叉比對,但是當某日的數據之中有幾筆特別高或特別低,這幾筆往往會被平均值檢查視為錯誤數據,這種情況發生在一般公司行號正常使用的電表,通常大家早上開始上班,才漸漸的耗電量增加,那麼當下班時間到早上上班這段期間的用電量一定會特別的低,此時,過低的用電數據將會被判別為錯誤的資料,而造成誤判。


  • 標準差檢查STANDARD CHECK

    數學統計中,根據高斯常態分配圖形,函數曲線下68.2%的面積在平均值正負1個標準差範圍之內,95.4%的面積在平均值正負2個標準差的範圍內,99.7%的面積在平均值正負3個標準差的範圍內,如圖六所示。


    《圖六》高斯常態分布函數曲線


  • 迴歸檢查RERESSION CHECK

    迴歸分析主要是建立依變數 (Dependent Variable) 與自變數 (Independent Variable) 之間關係的統計模型。線性迴歸可分為簡單 (Simple) 線性迴歸與多元 (Multiple) 線性迴歸兩種。簡單線性迴歸的自變數僅有一個,而多元迴歸則具有兩個以上的自變數。VEE主要採用線性迴歸,包含一元一次線性迴歸與一元二次線性迴歸。


    《圖七》線性迴歸範例圖示


    一元一次線性回歸相對於”平均值檢查”,當天的所有數據會依據不同時段的數據分布,來決定是否需要數據修補,例如用電稀少的時段,並不會拿整天的平均值來比對,而是用用電稀少的時段來做比對,這樣可以減少因為各時段曲線變化較大而造成的判斷的錯誤。


    《圖八》二次項迴歸範例圖示


    二次項回歸適用在使用一次回歸之後,假如效果不顯著(一般是沒有找到想找的錯誤),則可採用二次回歸來進行驗證,會進行較一次回歸更為精確的檢查,通常會找出更多的問題資料。

二、預估


  • 內插預估法

    要用於連續修補資料較少,或是連續之時間區間較短的情況下,因為引用非當日的數據來填補,無法保證其數據分布曲線與今日類似,因此為了數據曲線能夠呈現較為正常且平順,在少數連續錯誤資料之下我們採取內插法來作資料的填補修正。

    內插預估法包含三種內插法:線性內插、餘弦內插、立方內插法,此三種內插演算法複雜度由低到高,而越高階的內插演算法也就越複雜,時間複雜度也就越高越花費時間,但是精準度也較精簡的內插演算法更好。


  • 參考日預估法REFERENCE DAYS

    主要用於連續修補資料較少,或是連續之時間區間較長的情況下,一般少數資料我們可以用內插法將鄰近的資料做為參考來進行資料的修補,但是資料筆數一多,內插法所產生的數據將會與真實數據產生偏差。

    參考日的選擇一定是希望能夠選到與欲修補數據越是相似越好,當然使用前提是,數據的曲線必須為規律的,例如用電量以及用水量。正常來說,以一棟大樓或一間學校,甚至一個企業的用電度數來作例子,每天的用電習慣將影響了數據的取縣,禮拜一至禮拜五的上班時間漸漸有人使用電,所以用電度數的曲線開始上升,到了下班則曲線下降,因此我們參考的數據就有了價值,依據此邏輯分做以下兩種參考日:

    “Same weekdays” 表示每個禮拜的同一天,ex: 禮拜二和上個禮拜二
    “Like days” 表示同個日期類型,日期類型分為平日、周末以及假日

    Same weekdays會是選擇的第一考量,當選不到Same weekdays時,才會去找尋Like days ( ”Like days”與”same weekdays”,主要是用以區分出類似數據曲線的群組區塊,當需要修補數據參考時,參照與欲修補數據的區塊來找尋類似的修補資料)。

結論

各個驗證方法可能有些重複性,例如一次回歸與二次回歸驗證法,預估內插演算法的選擇,雖然有運算上時間複雜度的差異,但是計算處裡的速度並不會讓人感覺出效率的差別,加上非即時的數據驗證修補,當然優先選擇精準度高的內插演算法。

依照本文中的程序進行資料數據的驗證修補,並不一定表示可以達到最高的數據精準度以及效率,影響的因素有很多,例如數據的變化型態,每天有規則的數據曲線或是數據曲線高低起伏明顯的數據,也可能將正確的數據誤判為錯誤的數據,可能發生於數據驟升或驟降,或是數據走向不符預期,基於許多外在因素,此演算法將會把正確的數據判斷為錯誤,而進行預估修補,所以此數據資料修補技術也不能保證百分之百的正確,

不同驗證方法之間會有機會找出相同一筆錯誤,如何去選用適合的驗證方法與預估修補方法,必須從幾點看起:
  • 當兩個驗證的方法經常找出同樣的數據→可以在兩驗證方法中做取捨。

  • 驗證方法找出的錯誤數據不符合期望→此驗證方法不適合當前的數據曲線。

  • 修補後的數據不符合期望→是否考慮更換修補的預估演算法,或是改變連續筆數的判定。

驗證方法是由許多不同的數學統計等等的所發展出來的,是否需要如此精準的驗證,也取決於數據的分布與使用者的需求,本文中的數據驗證與修補技術主要是針對於每日數據變化不大的情況下,例如用電或用水的統計,當每組數據的曲線分布完全無規則時,此驗證與修補技術的參考價值會變得很低。

參考資料及附件