何 偉,李云飛
1(蘇州工業園區職業技術學院,蘇州 215000)
2(蘇州大學 計算機科學與技術學院,蘇州 215009)
隨著科技的快速發展,智慧城市概念被越來越多的引入到人們生活中.2012年住建部發布了《關于開展國家智慧城市試點工作的通知》,2013年國家首批智慧城市試點區域共計90個城區,第二批試點103個,2015年第三批試點84個城市,至2016年全國累計達500多城市啟動了智慧城市項目,超過全球其他國家數量總和[1].智慧照明監控系統作為智慧城市系統中的重要一員,運用4G、WiFi、Zigbee等信息化和物聯網技術,實現了遠程照明設備調控、數據采集管理,改變了傳統照明管理模式[2,3].
2016 年,華為發布了多級智能控制照明物聯網解決方案;隨后中興公司發布了集路燈桿、充電樁、4G/5G基站和攝像頭監控等功能的智慧路燈方案.2018年,深圳億兆提出智能燈控解決方案:智慧城市智能燈控系統.杭州時域電子科技公司針對城市路燈用電大、管理難的問題提出了智慧路燈解決方案.隨著智慧照明的市場越來越大,智能化程度要求越來越高,智慧照明的學術研究也越來越深入.李今[2]提出了基于大數據分析技術的應用方法,對海量運行數據進行聚類分析,實時監測過程中的動態數據,從而判別當前設備運行狀況;王敏等[3]提出的基于物聯網架構的智能照明系統實現了常見通信協議間的轉換,綜合了多種傳感器,系統通用性更強.余建波等[4]提出了完整的現代城市智慧照明控制系統解決方案,集成智慧照明領域先進的控制策略,包括地理信息系統、燈具實時監測、終端控制、故障診斷與報警、統計和決策支持功能子模塊.目前對于智慧照明的研究主要集中在如下幾個方面:(1)通信協議的優化;(2)故障信息的分析;(3)集成方案的設計.對于提高系統控制效率的研究較少.目前智慧照明監控系統控制方式為自動控制與人工控制兩種模式.自動控制方式結合設備所在區域,光照度,人流量等環境因素進行控制,自動化程度較高;人工控制方式在如設備測試、檢修、重大活動等情況下使用,需要管理人員根據需求,通過軟件手動進行開關燈及調光操作,該方法過度依賴于經驗值,效率低下,容易造成能源浪費.因此,為進一步提高智慧照明監控系統的智能化控制效率及節能效果,利用關聯規則挖掘控制模式中的隱藏關系,考慮到傳統Apriori算法需要多次掃描數據集,執行效率較低[5],對算法進行改進,減少搜索數據集的次數,最終得到強關聯規則,在人工控制過程中給予控制方式的智能關聯提醒,降低了經驗依賴度,提高智慧照明的智能化程度及節能效果.
智慧照明監控系統具有照明設備數據采集、故障監測報警、設備控制和系統管理等功能.系統分為三層結構:數據采集層、網絡傳輸層和數據應用層,系統結構如圖1所示[6].
數據采集層是智慧照明監控系統的感知器官,通過對終端設備狀態數據的采集,可實時獲取電流、電壓、功率等各類照明設備數據.
網絡傳輸層為三層架構中的中間部分,主要實現數據采集層和數據應用層之間的數據雙向傳輸.
數據應用層控制整個監控系統的運行.對各類采集數據進行分析管理,可實現照明設備控制、狀態數據管理、能耗管理、故障報警、各類日志管理等功能.數據應用層的管理平臺功能結構圖如圖2所示.平臺功能包括:故障報警模塊、GIS模塊、維護模塊、運行模塊、管理模塊、系統設置模塊等6個模塊.故障報警模塊實現對故障數據的聲光及短信報警管理;GIS模塊根據經緯度實現設備定位顯示,用戶可在地圖上定位查看或控制照明設備;維護模塊實現操作日志及工單管理,對系統的設備維護數據進行管理;運行模塊處理各類控制策略及狀態數據的管理;管理模塊實現各類數據展示、運行質量管理、系統能耗管理和設備數據管理等;系統設置模塊完成權限管理、用戶信息管理及系統中的各類參數進行管理配置.

圖1 系統結構圖
數據應用層的控制模塊主要分為自動控制和人工控制.自動控制模式受照明設備所在區域,光照度,人流量等環境參數影響,自動化程度較高.人工控制主要在一些特殊情況下進行臨時控制操作,如設備測試、檢修、重大活動等情況下使用.由于人工控制模式需要管理人員通過軟件單獨控制照明設備,而無論是設備測試、檢修還是重大活動都需要有較高的效率來完成整個控制流程,但此環節由于人為因素的存在,依賴于經驗值,降低了系統自動化的程度.因此,在此環節中利用關聯規則尋找控制動作之間的相關性,在人工操作過程中給予一定的關聯提示,減少手動控制設備對于經驗值的依賴程度,提高手動控制的效率,從而提升照明控制的智慧化程度.

圖2 功能結構圖
關聯規則為數據挖掘技術中的一個重要分支,是搜索數據項之間隱含關系、對數據之間的密切程度進行描述的一種方法[7,8].
設有事務類型的數據庫D={T1,T2,···,Tj,···,Tn},Tj(j=1,2,···,n)為事務T,ik(k=1,2,3,···,p)稱為項,為T中所包含的元素,I=(i1,i2,···,in)為D中所有項的集合,T?I.關聯規則如“A?B”的蘊含式,其中A?I,B?I,A≠?,B≠?,A∩B=?,A稱為規則前件,B稱為規則的后件.關聯規則用支持度和置信度進行度量,描述A與B同時出現的可能性[9].
1)支持度
如關聯規則“A?B”在數據集T中成立,則具有支持度(Support),用T中包含A和B的數據記錄條數與T的數據記錄總條數之比表示,如式(1)所示.

2)置信度
關聯規則“A?B”在數據集T中具有置信度(Confidence),用T中包含A和B的數據記錄條數與包含A的數據記錄條數之比表示,如式(2)所示.

支持度和置信度越高,說明規則的關聯強度越強.關聯規則要求項集必須滿足的最小支持閾值,稱為項集的最小支持度.滿足最小支持度的項集稱為頻繁項集,同時滿足最小置信度和最小支持度的關聯規則被稱為強關聯規則[10-12].
Apriori算法是搜索關聯規則的頻繁項集的重要算法,其挖掘關聯規則可分為兩個步驟:1)利用迭代方式獲取頻繁項集,通過計算得到1-頻繁項集L1,利用L1生成候選集C1,判斷是否滿足最小支持度,獲取2-頻繁項集L2,依次類推,直至獲取最大頻繁項集;2)利用最小置信度,挖掘頻繁項集,構造關聯規則[13-15].
Apriori算法核心步驟如圖3所示.

圖3 算法流程圖
將關聯規則應用于智慧照明控制模型中,通過對數據庫中各類控制命令進行關聯分析,可以挖掘到控制命令之間存在的隱含關聯性.關聯規則挖掘概念模型如圖4所示.

圖4 關聯規則挖掘概念模型
Apriori算法計算復雜度主要受如下因素影響:
1)支持度閾值:低支持度閾值產生更多的頻繁項集,算法的掃描次數將隨之增多;高支持度閾值降低頻繁項集數,但候選集數量降低一定程度上降低了Apriori算法的穩定性.
2)項數(維度):項數的增加將提高算法的空間復雜度.
3)事務數:隨著事務數的增加,Apriori算法掃描次數增加,時間復雜度也隨之增加.
4)事務的平均寬度:事務的平均寬度的增加將導致頻繁項集的最大長度的增加,因此也增加了遍歷次數.
由于智慧控制系統中控制項數比較大,傳統Apriori算法需要多次掃描每條數據記錄,產生候選集的執行效率低,對頻繁項集Lk-1進行連接得到候選集Ck的時間復雜度為 O((k-1)×n2).因此,對Apriori算法進行改進,對控制模式數據集中的數據進行分類,分別對子集以加權圖的形式進行描述,加權圖以鄰接表的形式存儲,節點中存儲頂點間的權值即為控制方式的支持度,此方法減少掃描的次數,通過廣度優先算法遍歷加權圖創建頻繁項集.對頻繁項集Lk-1進行連接得到候選集Ck的時間復雜度為 O(n+e),其中e為圖中邊的個數,算法執行效率得到提高.主要算法步驟如下:
步驟1.實際控制過程中會存在一些重復控制命名,為排除此類數據對搜索的影響,根據操作時間的關聯性,對控制模式數據集進行篩選,排除干擾項,產生數據項集T.
步驟2.根據照明設備控制方式將控制模式數據分為四類:單燈級別控制T1,回路級別控制T2,主控箱級別控制T3,綜合級別控制T4.初始化控制模式數據集Ti(i=1,2,3,4),搜索數據項,以無向加權圖的形式保存各個命令節點的聯系及支持度,無向圖記為:Gj(j=1,2,3,4),以鄰接表存儲,分別建立類似如圖5所示的加權圖,每個命令保存為1個節點,節點之間的權值Weight即為兩數據的支持數,支持度如式(3)所示.

圖5 無向加權圖

步驟3.遍歷圖Gj,刪除支持度小于支持度閾值的邊及度為0的節點,生成滿足最小支持度的2-頻繁集L2,設i=2.
步驟4.遍歷Gj,生成i+1-候選集Ci+1,,對于不滿足支持度閾值項進行剪枝操作,生成滿足最小支持度的i+1-頻繁項集,記為Li+1.重復步驟4,直至搜索到最大頻繁項集.
步驟5.重復步驟3,4分別完成T2、T3及T4的頻繁項集搜索.
步驟6.計算頻繁項集中的置信度,如式(4)所示,若該項集的置信度大于最小置信閾值則為符合條件的關聯規則.

算法流程如圖6所示.
本系統經過大量的數據測試后已成功運用在實際應用中,系統首頁界面如圖7所示,系統可以實現對于每個照明設備的監控,故障及狀態信息在界面中以實時顯示.表1所示為系統數據庫中的控制命令集合,由表中數據可發現相關聯的動作發生的間隔時間比較短,因此在數據處理時將時間間隔在1分鐘內的控制數據作為一條記錄.對部分數據列表進行篩選處理后,形成T=(Ii,I2,···,I10)如表2所示數據集,Ij(j=1,2,···,10)記錄了控制組合方式,其中數字表示設備編號,B代表開燈,C代表關燈.

圖6 改進算法流程圖

圖7 系統主控界面
為減少傳統的Apriori算法遍歷數據集的次數,遍歷控制數據集生成命令節點的無向加權圖,如圖8(a)所示,圖中共計10個頂點代表數據集中10項控制命令,頂點之間的權值代表支持數,設最小支持度為2/10=0.2,即最小支持數為2,初始化加權圖即為2-候選集.遍歷C2刪除所有小于支持度閾值的邊,刪除由此產生的度為0的頂點,形成如圖8(b)所示的2-頻繁項,刪除無回路節點形成如圖8(c)所示3-候選集,最終形成如圖8(d)所示的頻繁項.

表1 控制命令集

表2 控制數據集
圖9為傳統Apriori算法的執行過程,與傳統算法相比改進算法利用無向加權圖的形式保存了節點之間的支持度,無需多次掃描原始數據集,只需遍歷當前加權圖,利用權值篩選出滿足最小支持度閾值的頻繁項集,效率明顯優于傳統Apriori算法.

圖8 控制聯系無向加權圖

圖9 傳統Apriori算法執行步驟圖
表3記錄了關聯規則及其置信度.
在系統應用環境中,經多次測試,將最小置信度為0.6時,關聯規則用戶體驗效果最好.根據設置的最小置信度,篩選出強關聯規則如表4所示.
由此可推出3號,4號及5號燈在開燈的時候具關聯性,系統提示開燈關聯提醒,提醒界面如圖10所示,用戶可利用此界面直接設置控制命令,或微調后設置,減少用戶手動選擇操作的步驟及經驗依賴值,提高工作效率.

表3 關聯規則及置信度

表4 強關聯規則表

圖10 智能提示界面圖
在實際應用中,對歷史控制數據中的進行分類處理,得出關聯規則后的照明控制模型,工作效率明顯優于傳統的手工操作,控制執行效率比較圖如圖11所示.
智慧照明監控系統可實現對于照明設備的實時監測及控制管理,基于關聯規則的控制模塊可減少系統對管理人員經驗的依賴程度,利用關聯規則挖掘出控制命令之間的隱藏聯系,在人工操作過程中對于強關聯規則給予一定的智能提示,提高工作人員操作的效率,進一步提高了整個智慧照明監控系統的智能化程度.鑒于Apriori算法多次搜索數據集效率低下,利用加權圖給出改進算法,將控制命令設置為圖中節點,權值設置為節點間的支持數,通過遍歷圖的方式對數據集進行掃描,最終找出控制命令之間的強關聯規則,該算法減少數據集搜索次數,提高挖掘效率,應用在智慧照明監控系統中具有一定的社會推廣價值.

圖11 控制執行效率比較圖