鄭 濤, 夏東海, 徐 超
(武漢市消防支隊信息通信科, 湖北 武漢 430020)
近年來,消防部隊已經(jīng)建立起一套比較完備的業(yè)務信息系統(tǒng).據(jù)不完全統(tǒng)計,武漢市消防支隊日均業(yè)務數(shù)據(jù)生成備份量達6 GB左右,而一年產(chǎn)生的各種防滅火業(yè)務數(shù)據(jù)量高達2 TB以上.如何利用這些數(shù)據(jù)找出城市火災發(fā)生規(guī)律和趨勢等,加強對工作的預測和研判,有針對性地調整工作重點以更好應對日趨復雜的火災形勢,是目前消防信息化應用所面臨的深層次課題.對119平臺的接處警數(shù)據(jù)的深度挖掘與利用尤為重要,因為此類數(shù)據(jù)一般是由119系統(tǒng)平臺自動生成的的大規(guī)模數(shù)據(jù),具有較高的原始真實性,是一類十分難得的數(shù)據(jù)分析大樣本.本文面向大量的119系統(tǒng)接處警數(shù)據(jù),使“死”的數(shù)據(jù)能夠自動說話,也就是構建這樣一類數(shù)據(jù)推理模型,能夠自動地通過數(shù)據(jù)表層挖掘出深層次的信息,從而形成基于接處警數(shù)據(jù)的一類經(jīng)驗知識,能夠指導日常的消防工作,尤其是火災防控工作.
目前,用于自動數(shù)據(jù)挖掘及數(shù)據(jù)自動推理模型的方法主要有:最大熵、支持向量機、隱馬爾可夫等模型[1].其中,決策樹是最大熵方法中一類較成熟有效的方法,它利用信息增益尋找數(shù)據(jù)中最大信息熵的特性,并將其作為一個樹節(jié)點,再根據(jù)其建立分枝,并利用遞歸的方法反復這一過程,最終形成整個決策樹.在實現(xiàn)算法方面,當前較有影響的決策樹算法是J.R.Quinlan的ID3算法以及據(jù)此發(fā)展起來的其他決策樹算法,比如C4.5,CART等[2,3].本文運用該方法來建立119平臺接處警數(shù)據(jù)自動推理模型,并給出該模型的實現(xiàn)算法.
設S是一個包含s個119接處警數(shù)據(jù)實例的集合,類別屬性有m個不同的值對應于m個不同的類別Ci,i∈{1,2,3,…,m}.設si為類別Ci實例個數(shù),則對單個對象進行分類的信息期望:
(1)
假設屬性A取v個不同的值{a1,a2,…,av}.將A作為根節(jié)點可將集合S劃分為V個子集{S1,S2,…,Sv},其中Sj包含了S集合中A取aj的所有實例.那么如果用A進行分類,設sij為子集Sj中屬于Ci類別的實例數(shù),根據(jù)由A分類期望信息由下式給出:
I(s1j,s2j,…,smj).
(2)
其中,(s1j+s2j+…+smj)/s項為第j個子集的權.E(A)結果越小,表示其子集劃分的越“純”,而對一給定子集Sj,其信息為
(3)
這樣利用屬性A對當前分支進行樣本集合劃分所獲得的信息增益為
Gain(A) =I(s1,s2,…,sm)-E(A).
(4)
同理,反復上述過程便可建立從根到分支直至葉的決策樹,119平臺接處警數(shù)據(jù)被劃分為越來越“純”的不同屬性分類的信息,而這些深層次信息就“隱藏”在日積月累的大規(guī)模表層接處警數(shù)據(jù)中,將這些分析后所得的信息抽取出來即得到基于接處警數(shù)據(jù)的經(jīng)驗知識.
將1.1中的理論模型程序化,便得到119平臺接處警數(shù)據(jù)自動推理模型的一般實現(xiàn)算法.
算法:(General_decision_tree)//根據(jù)給定數(shù)據(jù)集產(chǎn)生一個決策樹
輸入:接處警數(shù)據(jù),各屬性均取離散數(shù)值,可供歸納的修行屬性集:attribute_list
輸出:決策樹
處理流程:
Function General_decision_tree(samples, attribute_list)
{
new(N):/*創(chuàng)建一個新的節(jié)點 N*/
if samples in 同一類 C
then N=leaf( )并返回;/*標為節(jié)點*/
if attribute_list=null
then N=leaf( )并返回;/*標為普通類*/
選擇attribute_list中具有最高信息增益的屬性test_attribute;
標記節(jié)點V為test_attribute;
for each test_attribute中的已知值為a;
從節(jié)點N長出一個條件為test_attribute=a的分枝;
設Si是samples中test_attribute=a的樣本集合;
if Si=null
then 增加一個葉節(jié)點,標記為leaf()
else 增加一個節(jié)點由General_descision_tree(Si,attribute_list-list_attribute)產(chǎn)生.
}
算法中samples為已知的接處警數(shù)據(jù)樣本,attribute_list為候選屬性集合,選擇信息增益最大的屬作為分類節(jié)點,該屬性使得結果劃分中的樣本分類所需的信息量最?。?/p>
2.1.1樣本數(shù)據(jù)來源選取武漢市某消防支隊2007年至2012年間的119平臺接處警數(shù)據(jù)為數(shù)據(jù)源,除去其中非火災的應急救援數(shù)據(jù),共選取26 125起有效火災接處警數(shù)據(jù)作為樣本數(shù)據(jù),均為Excel格式數(shù)據(jù).
2.1.2數(shù)據(jù)預處理由于所面臨的接處警數(shù)據(jù)是大規(guī)模的、海量的,而且可能存在無用、缺失、冗余數(shù)據(jù),所以,為了提高數(shù)據(jù)分析效率,有效減少技術工作量,需要對原始的接處警數(shù)據(jù)進行數(shù)據(jù)預處理.
1)數(shù)據(jù)抽取 在119平臺火災接處警數(shù)據(jù)中含有諸多數(shù)據(jù)屬性,而特定分析要求需要的關鍵屬性均不同.例如,需要對重大亡人火災進行挖掘分析時,火災序號、出動消防隊名稱、著火單位、戶主名等屬性會增加計算的時間和工作量,但對分析結果影響較小.又如,消防監(jiān)督部門對社會單位實行分級管理,分級管理這個屬性對分析結果無明顯影響,因此在分析計算過程中可以將這些屬性值去除,直接從數(shù)據(jù)中抽取出與分析任務相關的數(shù)據(jù)屬性.
2)數(shù)據(jù)清洗 在119平臺火災接處警數(shù)據(jù)中,一些關鍵的數(shù)據(jù)屬性可能存在數(shù)據(jù)缺失,對于這些空缺,可以通過數(shù)據(jù)清洗來處理和填補.在數(shù)據(jù)清洗時,如果數(shù)據(jù)量較小,可按照數(shù)據(jù)庫的中值分布來填補缺失值;如果數(shù)據(jù)量較大,就用常量來代替缺失值[4].本文中所使用的數(shù)據(jù)來源于《全國火災統(tǒng)計管理系統(tǒng)》,該系統(tǒng)由基層消防中隊填報,并經(jīng)大隊、支隊、總隊、公安部消防局層層檢查,數(shù)據(jù)缺失較少,可信度較高,一些數(shù)據(jù)缺失值可以采用常量來填補.
3)數(shù)據(jù)規(guī)范 為了方便分析,需要對數(shù)量型和描述型數(shù)據(jù)進行統(tǒng)一規(guī)范,例如,將數(shù)量型數(shù)據(jù)按照一定規(guī)則離散化成若干個區(qū)間型數(shù)據(jù)[5],如將起火時間劃分成兩類,白天和夜晚;到場出動情況根據(jù)時間劃分成3種情況:10 min以上到場,5~10 min到場,5 min以內到場;過火面積大小劃分成3種情況:大于1 000 m2,100~1 000 m2,100 m2以內等.表1為經(jīng)過數(shù)據(jù)預處理后得到的16組實例數(shù)據(jù).
按照2.1中的方法,自頂向下建立決策樹,首先對經(jīng)過數(shù)據(jù)預處理的火災接處警情況信息集(表1),以“一般火災”和“較大火災”的火災事故等級屬性為基本屬性來構造決策樹模型.具體步驟如下:
假設,樣本集合的屬性為“火災事故等級”,有兩個取值“一般火災”、“較大火災”,M=2,設C1對應“一般火災”類別,C2對應“較大火災”類別.為計算每個屬性的信息增益,利用式(1)計算出期望信息.
1)對給定樣本分類所需的期望信息 由于初始時刻屬于C1:“一般火災”類和C2:“較大火災”類的實例個數(shù)分別為6個和10個,對6個C1類和10個C2類分別有:
I(s1,s2)=I(6,10)=
表1 火災接處警情況信息集
2)各屬性熵的計算A1=“著火時間”,其取值為:v1=白天,v2=夜晚,在A1處取值“白天”的實例有7個,取值“夜晚”的例子9個,故
取值為“白天”的7個例子中有4個C1類(一般火災),有3個C2類(較大火災),故
所以“著火時間”這一屬性的熵為
以此類推可以計算其他屬性的熵.
3)計算信息增益A1=“著火時間”上分枝的信息增益為:Gain(A1)=I(6,10) -E(A1)=0.954-0.861=0.093.
同理,可得出表中其他各屬性的期望信息和信息增益值,如表2所示.根據(jù)算法,可以看出,屬性“起火場所”的信息增益最大,即“起火場所”最“純”,所以選擇“起火場所”作為分類節(jié)點,即先按“起火場所”進行劃分,再遞歸調用前述過程.
表2 根節(jié)點期望信息和信息增益表
4)建立樹根和分枝 選擇“起火場所”作為分類節(jié)點,有5個分枝,生成決策樹(圖1).下面對圖1中的葉結點1進行分類.
圖 1 根節(jié)點分類決策樹
由表3可知,屬于C1:“一般火災”類和C2:“較大火災”類的實例個數(shù)分別為1和7,所以開始時的期望信息為:
表3 葉結點1所包含的數(shù)據(jù)集
I(s1,s2)=I(1,7)=
所以如果選取“著火時間”作為分類屬性,可以看到其取值全部為“夜晚”表示這一支比較純,沒有分下去的必要,其信息增益Gain (著火時間)為0.
選取“到場出動情況”作為測試屬性,則熵為:
Gain(到場出動情況)=I(1,7) -
E(到場出動情況)= 0.542-0.248=0.293,
以此類推可以計算其他屬性期望信息和信息增益值,如表4所示.
表4 葉節(jié)點1期望信息和信息增益表
可以看出,屬性“到場出動情況”的信息增益最大,所以應該選擇“到場出動情況”作為分枝屬性,將結點1分為兩個子集,擴展后的決策樹見圖2.
圖 2 結點1擴展后的決策樹
按照上述思路向下遞歸延伸,即對節(jié)點2分類,得到最終的決策樹.如圖3所示.
圖 3 ID3算法生成的最終決策樹
根據(jù)最終決策樹從根結點到葉結點的路徑及數(shù)據(jù)集所包含記錄信息,可以得出以下經(jīng)驗知識:當起火場所為商圈娛樂性場所或多合一場所,火災事故等級為較大火災,而起火場所為住宅居民樓則火災事故等級為一般火災;當起火場所為廠礦企事業(yè)單位,著火季節(jié)為秋冬季時為較大火災,而著火季節(jié)為春夏季時則一般火災;當起火場所為生產(chǎn)經(jīng)營場所,10 min以上消防隊才到場的火災事故等級為較大火災,5~10 min到場的防火設備狀況不明的火災事故等級為較大火災,防火設備狀況良好的火災事故等級為一般火災.知識化表示如下:
1)IF(起火場所=住宅居民樓) THEN(火災事故等級=一般火災);
2)IF(起火場所=商圈娛樂性場所 OR 多合一場所) THEN(火災事故等級=較大火災);
3)IF(起火場所=廠礦企事業(yè)單位 AND 防火設備狀況=未通過消防檢測) THEN(火災事故等級=較大火災);
4)IF(起火場所=廠礦企事業(yè)單位 AND 防火設備狀況=狀況良好或不明) THEN(火災事故等級=一般火災);
5)IF(起火場所=生產(chǎn)經(jīng)營場所 AND 到場出動情況=10 min以上) THEN(火災事故等級=較大火災);
6)IF(起火場所=生產(chǎn)經(jīng)營場所 AND 到場出動情況=5至10 min AND 防火設備狀況=狀況不明) THEN(火災事故等級=較大火災);
7)IF(起火場所=生產(chǎn)經(jīng)營場所 AND 到場出動情況=5至10 min AND 防火設備狀況=狀況良好) THEN(火災事故等級=一般火災);
在本實例中,雖然樣本數(shù)量和屬性還不夠多,分析所得的知識還不夠詳細,但是可以從上述結論看出,對于客觀準確地分析一個地區(qū)發(fā)生較大火災事故發(fā)生的可能潛在因素,如人員密集場所、著火季節(jié)、消防人員到達火災現(xiàn)場時間等,具有重要的借鑒意義.因此,該自動推理模型能夠實現(xiàn)對接處警數(shù)據(jù)的解析,并自動從中得到所需的經(jīng)驗知識.從理論上講,只要在實際應用中接處警數(shù)據(jù)量夠大,記錄屬性夠豐富,那么,該基于決策樹的自動推理模型的數(shù)據(jù)解析效果就十分明顯,所獲得的知識信息就越豐富,也就能夠有效的預判火災形勢,科學指導消防工作,有力遏制較大火災事故的發(fā)生.
本文探討了利用決策樹方法來建立一種數(shù)據(jù)自動推理模型,針對每日產(chǎn)生的大規(guī)模119平臺接處警數(shù)據(jù)進行自動分析,使日積月累的“死”數(shù)據(jù)“活”起來,實現(xiàn)了大樣本數(shù)據(jù)的自動解析和知識挖掘,通過對實例數(shù)據(jù)的分析可以看出,該模型及算法是可行的,能夠較好地解釋和發(fā)現(xiàn)重大亡人火災的潛在規(guī)律.但由于實例分析中數(shù)據(jù)量較小、數(shù)據(jù)類型和結構較單一,未能很好地反映出該推理模型的全部效果和可能存在的問題,因此,下一步需要針對目前已開發(fā)和投用的一體化消防業(yè)務信息系統(tǒng)特點,根據(jù)不同類型數(shù)據(jù)屬性,來進一步改進和優(yōu)化該數(shù)據(jù)自動推理模型及算法,從而提高數(shù)據(jù)解析和知識發(fā)現(xiàn)的計算效率,立足119平臺接處警的原始真實數(shù)據(jù),更好地服務于當前消防工作的研判預測.
[參考文獻]
[1] 王 莉.ID3算法的研究與應用[J].福建電腦,2010(1):11-12.
[2] 黃愛輝,陳湘濤.決策樹ID3算法的改進[J].計算機工程和科學,2009,31(6):109-111.
[3] 林 震,王 威.基于決策樹的數(shù)據(jù)挖掘算法優(yōu)化研究[J].現(xiàn)代計算機,2012(10):20-23.
[4] 陳輝林,夏道勛.基于CART決策樹數(shù)據(jù)挖掘算法的應用研究[J].煤炭技術,2011,30(10):164-166.
[5] 楊 靜,張楠男,李 健,等.決策樹算法的研究與應用[J].計算機技術與發(fā)展,2010,20(2):114-116.