摘要:針對物流企業普遍缺乏對車輛油耗使用狀況監控的技術手段,并且難以確定實際加油量和異常油耗量等問題,基于VS2005 C#編程技術和數據庫技術,設計開發了“燃油績效管理”系統。文章分析了實現這一系統的數據預處理與數據庫兩項關鍵技術。結合應用現狀,進一步提出了軟件發展的方向。
關鍵詞:數據預處理;數據庫;數據分析技術;績效管理
中圖分類號:TP311.52文獻標識碼:A文章編號:1009-3044(2009)33-9149-02
The Key Technologies of Dynamic Analysis System Software of Fuel Consumption in Logistics Enterprises
WANG Peng-fei, WANG Jian, ZHAO Rong-yong
(Tongji University CIMS Research Center, Shanghai 201804, China)
Abstract: In view of existing situation that the general lacking of monitoring the usage of fuel consumption for vehicles in logistics enterprises, and difficulty in determining the actual amount of the oil added and the abnormal oil consumed, we designed and developed Fuel Performance Management System (FPMS) based on VS2005 C# programming techniques and database technology. This paper analyzes data preprocessing and database technology and put forward the further direction of software development combining the present situation.
Key words: data preprocessing; database; data analysis; performance management
1 概述
隨著現代物流業的快速發展,物流企業正面臨這樣一個問題:如何系統地管理車輛的油耗、監控車輛在汽油上的使用?這是一個現實的問題。針對上述問題開發出了“燃油績效管理”系統。該系統引入數據預處理技術、數據庫技術和奇異點捕獲技術實現對車輛油耗的管理。
“燃油績效管理”系統主要由硬件和軟件兩部分組成,硬件部分具體又分為采集器和抄表器,其中采集器安裝在車輛上用于記錄數據。硬件部分實現的功能是:采集器采集數據,然后人員定期手持無線抄表器從采集器中獲取數據。軟件部分主要是PC機管理軟件,實現的功能是:抄表器和PC機對接,將數據通過USB數據線上傳到PC機軟件中,軟件對得到的數據進行處理、保存到數據庫中,再按照用戶要求從數據庫中提取相關數據,并在前臺以圖形化的方式展現,供用戶分析數據。圖1就是該套系統的流程圖,其中虛線框部分是燃油績效管理系統軟件。
2 關鍵技術分析
燃油績效管理系統軟件包含數據預處理與數據庫技術,現就上述關鍵技術原理和應用要點展開分析。
2.1 數據預處理技術
現代大型數據庫的共同特點是:存在不完整的、含有噪聲的、不一致的數據。 數據庫非常容易受到這些數據的影響,從而導致對后續工作(例如:數據挖掘)的影響。其中,不完整數據的產生有很多因素:有的時候某些數據信息,在數據采集過程中沒有被采集到數據庫中;有的時候某些看似錯誤的數據被刪除,而后面分析的時候又恰好會用到這個(些)數據;比較常見的原因是數據的缺失,特別是某些屬性上缺少的元組要人為的推導出來。數據含有噪聲指的是數據的屬性值不正確。
就“燃油績效管理”系統軟件部分(以下簡稱“軟件”)而言,所面臨的大多數問題是采集到的數據里含有很多不完整的數據,或是錯誤的、或是缺失的等等;還會遇到由于采集器里的數據未清空而出現的含有大量重復元組的情況。
數據預處理主要包括數據清理、集成和歸約。 數據清理通過填寫缺失的數值、平滑噪聲、識別并刪除過度偏離的數值、解決數據的不一致性來處理數據中的遺漏數據。 一般情況下,采用一些數據清理例程進行處理。數據集成將多數據源中的數據進行合并處理,解決語義模糊性并整合成一致的數據存儲;數據歸約則將辨別出需要挖掘的數據集合,縮小處理范圍。 而在實際操作的過程中,不一定全部用到上面提到的三個部分,并且,這三部分的使用沒有先后順序,還有可能要反復地使用其中某一種預處理。
傳統的數據清理的基本方法有:
1) 空缺值的處理。目前最常用的方法是使用最可能的值填充空缺值,比如可以用回歸、貝葉斯形式化方法工具或判定樹歸納等確定空缺值。這類方法依靠現有的數據信息來推測空缺值,使空缺值有更大的機會保持與其它屬性之間的聯系。
還有其它的一些方法來處理空缺值,如:使用一個全局常量替換空缺值,使用屬性的平均值填充或將所有的記錄按照某些屬性分類,然后用同一類中屬性的平均值填充空缺值。如果空缺值很多,這些方法可能會產生一些錯誤的結果并會影響到后面的問題分析。
2) 噪聲數據處理。噪聲是一個測量變量中的隨機錯誤或偏差,包括錯誤的值或偏離期望的奇點值。可以采用:分箱、回歸、聚類等方法進行噪聲處理。
上面簡要介紹了有關數據預處理的相關內容。就“軟件”而言,更多的是反復使用數據清理這一預處理技術,并且,就實際的情況,軟件建立了自己的數學模型。
由于實際操作中發現,采集器不能夠嚴格地按照事先約定好的數據串格式進行記錄,有時候會導致記錄的數據出現不完整的情況,具體表現為:經常丟失數據記錄的終止時間,但是不是每次記錄數據都出現這種情況;有時候,設備受到外力的影響,會出現個別數據不合理的現象,導致數據記錄出現噪聲,具體表現為:記錄的數據超過規定數據范圍的上限,或者低于這個范圍的下限;還有的時候,采集器采集的數據雖然格式上符合事先的約定,但是經過后面的分析會發現,在一段時間內應該記錄的數據個數和實際測量到的數據個數出現不相等的情況,這就導致了數據記錄出現不一致的現象。
針對上述出現的問題,采用如下的解決辦法:對于記錄的數據出現不完整的情況,采取人為添加記錄終止時間的辦法,即:無論該次記錄是否有終止時間,均將其拋棄(如果有的話),由于每次記錄數據的起始時間總是存在的,并且相鄰兩個計數點的時間間隔恒定,所以可以得到如下模型:
TE=TS+TI×(n-1)(1)
其中,TE代表數據記錄終止時間,TS代表數據記錄起始時間,TI代表相鄰兩個計數點的時間間隔,n代表該段時間記錄的數據個數。
這里需要解釋一下:由于事先約定好,起始時間后面緊跟的數據就是這一時刻記錄的數據,因此,上面記錄終止時間的公式中會出現“減1”。
這樣做的好處是:修正了由于數據源自身出現的數據不完整情況,同時一并地解決了上面提到的數據不一致現象,因為此時,每一個數據點都有唯一的時間值與其對應,相反地,每一個應該記錄數據的時間點都有唯一的數據值與其對應。
當上述操作進行完畢之后,需要將數據保存到數據庫中。數據庫中有多個表,其中一個表用來保存預處理后的數據。該表有4個屬性:采集器編號、車輛原始油量、轉換后的油量、記錄該數據的時間。前兩個屬性值可以從預處理后的數據中得到,而后面兩個屬性值無法直接得到,并且由于數據庫定義的時候不允許任何一個屬性值為空,而通過上面操作得到的數據僅僅符合事先約定好的格式。信息量遠遠不能滿足數據庫的要求,為此,在將數據保存到數據庫之前,要再次對相關數據進行補充,具體到實際操作上,可以這樣處理:
對于轉換后的油量值,按照用戶在前臺輸入的相關信息,得到如下關系式:
x/255=Z/VI(2)
(Z-VL)/(VH-VL)=(y-CVL)/(CVH-CVL)(3)
其中,x代表車輛原始油量;y代表轉換后的油量;Z是個中間變量,無意義;VI代表輸入電壓最大值;CVL、CVL分別代表車型油箱油量變化范圍;VH、VL分別代表該車型的標稱電壓。VI、CVH、CVL、VH、VL這些變量都需要用戶在軟件前臺手動設置,它們也要保存到數據庫中。由以上兩個等式(2)、(3)可以導出:
(4)
進一步可得到:
(5)
公式(5)就是數據預處理模型。其中,只有y是未知量,其余全部是已知量。
對于記錄該數據的時間屬性值,前面講過,由于相鄰兩個計數點的時間間隔恒定,且起始時間也可以從預處理后的數據中剝離,于是,每一個計數點所對應的時間便可由起始時間加上相鄰兩個計數點的時間間隔乘以該計數點在這一次數據串中的位置與1的差。
這樣,該表所需要的全部屬性值均已得到,這樣便可以將這些數據保存到數據表中,用戶便可以在軟件前臺讀取相關數據,得到相關油量隨時間變化的曲線,進行數據分析。接下來還要對數據做進一步深度處理。
2.1 數據庫技術
在“燃油績效管理”系統中,當數據預處理結束之后,接下來便要將數據保存到數據庫中。數據庫里存有多張表,分別是車輛管理表、車輛表、油量表、駕駛員表、關系表。除油量表外,其它表的數據都是由用戶在使用軟件的時候在前臺輸入保存的,它們的關系通過“關系表”來體現。圖2就是數據庫的部分設計視圖。在用戶進行數據查詢的時候,需要從上述幾張表中同時進行查詢,以獲得用戶需求的完整信息。
3 結論
“燃油績效管理”系統軟件實現了從硬件部分獲取數據、處理并保存數據以供用戶分析使用的功能。對于噪聲數據的處理,“軟件”本身的處理能力還不是很好,在這一方面還有待進一步加強,可以采用數據分析技術讓“軟件”能夠“自動”識別出異常油耗(譬如“偷油”現象)并提示給用戶。另外,對于數據庫的優化也是未來軟件發展的方向。
參考文獻:
[1] Han Jiawei,Micheline K.Data Mining:Concepts and Techniques,Second Edition[M].Beijing:China Machine Press,2006:47-49,61-64.
[2] 劉莉,徐玉生,馬志新.數據挖掘中數據預處理技術綜述[J].甘肅:甘肅科學學報,2003,15(1):117-119.