傳感器數(shù)據(jù)信息發(fā)掘
數(shù)據(jù)挖掘是信息發(fā)掘過程的關(guān)鍵部分(圖 1 ),它采用一套自動(dòng)和半自動(dòng)的方法進(jìn)行關(guān)系建模,找到隱藏在大型數(shù)據(jù)庫中的模式 [2, 3] 。
|
該技術(shù)思想來源于多種學(xué)科,包括統(tǒng)計(jì)、機(jī)械學(xué)習(xí)、模式識(shí)別、數(shù)據(jù)基礎(chǔ)系統(tǒng)、信息理論和人工智能等。
數(shù)據(jù)挖掘曾成功的應(yīng)用在傳感器數(shù)據(jù)分析上,例如人類活動(dòng)監(jiān)控 [4] 、車輛監(jiān)控 [5] 、振動(dòng)分析等 [6] 。本文對(duì)該技術(shù)進(jìn)行簡(jiǎn)要介紹,闡述挖掘傳感器數(shù)據(jù)時(shí)必須要克服的某些技術(shù)難題。
預(yù)處理步驟
在應(yīng)用數(shù)據(jù)挖掘技術(shù)之前,必須先對(duì)原始數(shù)據(jù)進(jìn)行一系列預(yù)處理,將其轉(zhuǎn)換為適用于后續(xù)處理的格式。典型的預(yù)處理步驟包括:
- 特征提取 ——使用事件探測(cè)、特征選擇、特征轉(zhuǎn)換等技術(shù)(包括歸一化和傅立葉或者小波變換應(yīng)用等)來確定數(shù)據(jù)挖掘任務(wù)的相關(guān)屬性。
- 數(shù)據(jù)清潔 ——解決數(shù)據(jù)質(zhì)量問題,例如,噪聲、溢出、遺漏以及失準(zhǔn)誤差等。
- 數(shù)據(jù)縮減 ——為了縮短處理時(shí)間,降低數(shù)據(jù)易變性,采用了統(tǒng)計(jì)抽樣和數(shù)據(jù)集中等技術(shù)。
- 維數(shù)縮減 ——為減小數(shù)據(jù)挖掘算法中的特征數(shù),常用的線性和非線性維數(shù)縮減技術(shù)包括主分量分析( PCA )、 ISOMAP 和局部線性埋入( LLE )等。
數(shù)據(jù)挖掘大致可以分成四個(gè)不同的任務(wù),在下面的四節(jié)中分別進(jìn)行討論。
預(yù)測(cè)建模
預(yù)測(cè)建模的目的是根據(jù)目標(biāo)屬性過去采樣樣本值,建立能夠預(yù)測(cè)目標(biāo)屬性未來數(shù)值的模型。預(yù)測(cè)建模的方法較多,包括樹、規(guī)則、最近鄰域、邏輯回歸、人工神經(jīng)網(wǎng)絡(luò)、圖形方法和支撐矢量機(jī)等 [2] 。這些方法用于解決兩類預(yù)測(cè)建模任務(wù):分類和回歸。分類處理離散值目標(biāo)屬性;而回歸處理連續(xù)值目標(biāo)屬性。例如,可以認(rèn)為檢測(cè)生產(chǎn)線上的產(chǎn)品合格與否屬于分類任務(wù),而預(yù)測(cè)夏天的降雨總量則是回歸任務(wù)。
圖 2 所示為分類的 2D 數(shù)據(jù)曲線實(shí)例。
A |
每一數(shù)據(jù)點(diǎn)代表車輛發(fā)動(dòng)機(jī)上溫度和振動(dòng)傳感器測(cè)量的數(shù)值。顯示為十字叉的數(shù)據(jù)是在發(fā)動(dòng)機(jī)正常工作時(shí)測(cè)得的,而正方形數(shù)據(jù)則是發(fā)動(dòng)機(jī)將要出現(xiàn)故障時(shí)測(cè)得的。可以訓(xùn)練一個(gè)分類機(jī)來預(yù)測(cè)發(fā)動(dòng)機(jī)是否會(huì)正常工作,是否需要維修。訓(xùn)練分類機(jī)意味著掌握屬于不同類別、各個(gè)測(cè)量數(shù)據(jù)的判決邊界。因此,落在圖 2 中邊界之內(nèi)的任何測(cè)量數(shù)據(jù)都分類為正常工作,邊界之外的則表明為故障狀態(tài)。
注意,每一種分類方法都有自己的表征方式,以及掌握判決邊界位置的方式。某些技術(shù)(例如,人工神經(jīng)網(wǎng)絡(luò)和最近領(lǐng)域分類等)能夠產(chǎn)生非常靈活的邊界,可以對(duì)任何類型的分類問題進(jìn)行建模。有些技術(shù)會(huì)產(chǎn)生非常嚴(yán)格的邊界,例如判決樹分類法產(chǎn)生的超矩形等。有的技術(shù)試圖擬合以前所有觀察到的樣本(包括噪聲),結(jié)果導(dǎo)致出現(xiàn)稱為 過度適配 的問題。因此,需要認(rèn)真選擇分類技術(shù),確保產(chǎn)生的邊界不會(huì)出現(xiàn)訓(xùn)練數(shù)據(jù)的過度適配。
聚類分析
聚類分析將數(shù)據(jù)集分成幾個(gè)組,與不同組的數(shù)據(jù)點(diǎn)相比,屬于同一組的數(shù)據(jù)點(diǎn)更具有相似性。聚類分析常用的方法包括 k 平均、自組織映射、高斯混合模型、分層聚類、子空間聚類、圖形算法(例如, Chameleon 和頻域聚類),以及密度算法等(例如, Denclue 和 DBScan ) [2] 。
這些方法的差別在于怎樣計(jì)算數(shù)據(jù)點(diǎn)之間的距離,以及怎樣確定數(shù)據(jù)點(diǎn)的分組。 K 平均使用歐幾里德距離作為基本測(cè)量,將距離中心位置最近的數(shù)據(jù)點(diǎn)放入分組中。圖 3 所示為地球科學(xué)領(lǐng)域中,對(duì)測(cè)量數(shù)據(jù)采用 k 平均分類后的結(jié)果。
|
> 圖 3. 地球科學(xué)數(shù)據(jù)的 k 平均分類 |
地圖上的每一位置由天氣和地理特征進(jìn)行表征,例如,溫度、降雨、土壤濕度和植被等。科學(xué)家使用聚類分析可以確定在天氣和地理樣本上相似的地區(qū)。
聯(lián)合分析
聯(lián)合分析意在發(fā)掘從數(shù)據(jù)中提取的事件之間較強(qiáng)的共生關(guān)系。對(duì)發(fā)掘到的關(guān)系以邏輯標(biāo)準(zhǔn)進(jìn)行編碼。例如,從穿戴式人體監(jiān)控設(shè)備收集到的傳感器數(shù)據(jù)中產(chǎn)生以下標(biāo)準(zhǔn),顯示了人睡覺時(shí)傳感器的典型讀數(shù):
(熱通量 ∈ [4.48, 12.63] AND 加速計(jì) ∈ [0.86, 1.04]) _ 活動(dòng) = 睡眠(精度 = 99.94% )
圖 4 顯示了人睡覺(紅色)或者進(jìn)行其他活動(dòng)(藍(lán)色)時(shí)的熱通量和加速計(jì)測(cè)量數(shù)據(jù)的分布情況。
|
> 圖 4. 人體被試的熱通量和加速計(jì)讀數(shù)分布;紅色點(diǎn)表示被試睡眠時(shí)的測(cè)量結(jié)果,藍(lán)色點(diǎn)表示被試進(jìn)行其他活動(dòng)時(shí)的測(cè)量結(jié)果。 |
注意,前面標(biāo)準(zhǔn)得出的紅色點(diǎn)密集區(qū)是該領(lǐng)域?qū)<液苋菀桌斫獾倪壿嬅枋觥1M管這一標(biāo)準(zhǔn)并沒有涵蓋所有的睡眠情況,但是其準(zhǔn)確度非常高( >99% )。聯(lián)合分析算法還會(huì)產(chǎn)生許多其他標(biāo)準(zhǔn),涉及到特征空間的其他區(qū)域,為方便闡述,這里只介紹了其中之一。
聯(lián)合分析還可以發(fā)掘更復(fù)雜的結(jié)構(gòu),包括順序和子圖模式等。例如,最近開發(fā)了一種順序模式發(fā)掘算法,用于挖掘通用汽車公司車間組裝線上產(chǎn)生的事件記錄 [7] 。采用這種方法,可以獲得組裝線上與不同狀態(tài)碼相關(guān)的模式。這些信息能夠幫助提高生產(chǎn)線的吞吐量。
異常檢測(cè)
異常檢測(cè)也稱為溢出或者偏移檢測(cè),用于找到數(shù)據(jù)中不正常的情況。常用方法是建立數(shù)據(jù)正常情況的特征參數(shù)(圖 5 ),利用它來計(jì)算其他觀察點(diǎn)的不正常數(shù)值。
![]() |
> 圖 5. 從時(shí)間片斷上檢測(cè)不正常情況;左上角的時(shí)間片斷是正常情況,而其他曲線均含有某些不正常情況。 |
異常檢測(cè)最常用的方法是 Grubbs 測(cè)試、 boxplots 、距離、密度和分組等統(tǒng)計(jì)方法。在基于距離的方法中,正常情況是每一觀察點(diǎn)與其相應(yīng) k 階最近鄰域保持平均距離。如果某一觀察點(diǎn)與其 k 階最近鄰域的距離明顯大于總平均值,那么可以認(rèn)為該觀察點(diǎn)情況不正常。
異常檢測(cè)算法的關(guān)鍵問題是要維持較高的檢出率,同時(shí)又要保持較低的誤報(bào)率。這就需要對(duì)正常情況建立精確而又典型的特征描述,這在大規(guī)模傳感器網(wǎng)絡(luò)應(yīng)用中較難實(shí)現(xiàn)。
需要考慮的問題
在傳感器數(shù)據(jù)處理上應(yīng)用數(shù)據(jù)挖掘技術(shù)時(shí)必須考慮幾個(gè)問題。首先,我們要確定合適的計(jì)算模型。有兩種常用的計(jì)算模型:中心式和分布式(點(diǎn)對(duì)點(diǎn)) [8] 。在中心式模型中,每一個(gè)傳感器將其采集到的數(shù)據(jù)傳送給一個(gè)中心服務(wù)器,服務(wù)器匯總傳感器讀數(shù),對(duì)匯總數(shù)據(jù)進(jìn)行詳細(xì)分析。這種方法的一個(gè)顯著缺點(diǎn)是能量消耗大,帶寬占用也較大。而且,它無法靈活處理大量傳感器的情況。另一方面,分布式模型要求每一個(gè)傳感器在本地完成一些計(jì)算,然后將部分結(jié)果傳送給其他節(jié)點(diǎn),得到全局結(jié)果。這種方法更合適一些,但是要求每一個(gè)傳感器都有處理器,支持一定的存儲(chǔ)和計(jì)算功能。
傳感器數(shù)據(jù)表征是數(shù)據(jù)挖掘算法面臨的另一難題。這些數(shù)據(jù)噪聲較大,具有較大的不確定性?;诟怕实乃惴ū容^適合處理這類問題。另一問題是由傳感器故障導(dǎo)致的數(shù)據(jù)丟失。有多種途徑可以解決這一問題,例如,在預(yù)處理或者挖掘階段,丟掉觀察數(shù)據(jù)或者根據(jù)其他數(shù)據(jù)的分布來估算真實(shí)數(shù)值等。某些應(yīng)用中產(chǎn)生大量傳感器數(shù)據(jù),很難采用需要將全部數(shù)據(jù)存儲(chǔ)到主存儲(chǔ)器中的算法。在處理大量數(shù)據(jù)問題上,在線算法可以很好的替代普通的批處理算法。最后,數(shù)據(jù)挖掘算法必須考慮概念偏離的影響,被監(jiān)控過程的特征隨時(shí)間而變,致使已有模型過時(shí)??梢圆捎媚軌驇椭P汀巴洝币郧靶畔⒌臋C(jī)制來解決這一問題。
總之,數(shù)據(jù)挖掘?yàn)榭茖W(xué)家和工程師提供了一系列自動(dòng)工具,幫助他們發(fā)現(xiàn)隱藏在大量傳感器數(shù)據(jù)中的有用信息。該技術(shù)也為數(shù)據(jù)挖掘研究人員提供了機(jī)會(huì),使他們能夠開發(fā)更高級(jí)的方法來處理傳感器數(shù)據(jù)涉及到的某些特定問題。關(guān)于商用和已公開數(shù)據(jù)挖掘軟件包的情況,請(qǐng)?jiān)L問 www.kdnuggets.com/software/index.html 。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。