張 靜
(六安職業(yè)技術(shù)學(xué)院 安徽六安 237158)
熱圖在數(shù)據(jù)可視化表達(dá)方面的應(yīng)用頻率較高,基于顏色數(shù)值大小在地圖上表征數(shù)據(jù)分布的空間規(guī)律,是數(shù)據(jù)分析領(lǐng)域常用的高性能數(shù)據(jù)可視化分析方法[1]。放射環(huán)利用空間填充原理對數(shù)據(jù)實(shí)施層次可視化處理,以圓環(huán)形式表達(dá)事物數(shù)據(jù)分布規(guī)律[2]。當(dāng)前大數(shù)據(jù)時(shí)代對海量數(shù)據(jù)關(guān)聯(lián)層次分析提出了嶄新要求,既要保證數(shù)據(jù)分析的可視化水平,又要加強(qiáng)數(shù)據(jù)分析的精準(zhǔn)度。為此,結(jié)合熱圖與放射環(huán)形成一種新的關(guān)聯(lián)層次數(shù)據(jù)可視化分析方案,在體現(xiàn)事物在地理空間分布規(guī)律的同時(shí)明確各區(qū)域間存在的相似關(guān)聯(lián)性,使用戶通過肉眼觀察得到更多的可視化信息[3]。文章基于Spark集群環(huán)境執(zhí)行熱圖計(jì)算,以并行化的方式提高了單次數(shù)據(jù)計(jì)算量,大幅提升熱圖生成的效率,滿足了大數(shù)據(jù)時(shí)代的高速數(shù)據(jù)處理需求。
大數(shù)據(jù)關(guān)聯(lián)層次數(shù)據(jù)分析是當(dāng)前數(shù)據(jù)分析的熱點(diǎn),海量信息增長速度亟需并行式數(shù)據(jù)熱圖算法解決海量數(shù)據(jù)可視化分析的不足。該研究基于地理信息繪制數(shù)據(jù)可視化分析熱圖,其優(yōu)點(diǎn)是可以利用熱圖表現(xiàn)事物規(guī)律分析時(shí)間與空間特征[4],為此進(jìn)行以下準(zhǔn)備:為避免并行化計(jì)算模式產(chǎn)生的邊緣現(xiàn)象,借助Spark大數(shù)據(jù)集群運(yùn)算熱圖數(shù)據(jù)、執(zhí)行熱力值算法。
該研究遵循以上并行式大數(shù)據(jù)熱圖生成原理,其中生成熱圖的基本步驟如下:
Step 1:以離散的數(shù)據(jù)為對象生成圓形緩沖區(qū),半徑定義為r;
Step 2:利用程度不同的灰色填充緩沖區(qū)顏色,規(guī)律是深→淺、外→內(nèi);
Step 3:通過隨機(jī)通道疊加填充交叉緩沖區(qū)顏色,疊加緩沖區(qū)數(shù)量越多、疊加值和熱值越大,顏色顯示則越亮;
Step 4:最后,基于色卡標(biāo)準(zhǔn)為灰色區(qū)域賦予彩色值,得到熱圖。
1.1.1網(wǎng)格層次數(shù)據(jù)聚類預(yù)處理 為得到更加精準(zhǔn)的熱力值計(jì)算結(jié)果,基于網(wǎng)格層次聚類算法對離散的數(shù)據(jù)實(shí)施聚類預(yù)處理,進(jìn)而生成層次清晰、數(shù)據(jù)精準(zhǔn)的可視化熱圖。網(wǎng)格層次聚類算法分為兩個(gè)階段,第一階段:將數(shù)據(jù)區(qū)域劃分成若干網(wǎng)格,每個(gè)網(wǎng)格分?jǐn)偟揭欢ǖ臄?shù)據(jù),在網(wǎng)格數(shù)據(jù)范圍內(nèi)實(shí)施微聚類[5]。在n維數(shù)據(jù)空間中,將每維空間網(wǎng)格分為l份,由此數(shù)據(jù)空間中將存在ln個(gè)長方形單元,且大小一致;微聚類過程中存在一個(gè)數(shù)據(jù)集J,定義O表示點(diǎn)的數(shù)量,將J劃分到合適的單元內(nèi),若單元內(nèi)對象在O之上則定義為原始簇,將簇代表點(diǎn)間距較小的二者合并,下一輪繼續(xù)運(yùn)算簇的代表點(diǎn),基于上述規(guī)律合并簇,合并終止的條件是簇的數(shù)量超過簇鄰近度最小值。第二階段:對網(wǎng)格聚類結(jié)果進(jìn)行層次聚類。定義聚類對象為H個(gè)數(shù)據(jù),H×H則為對象的相似矩陣。層次聚類的簇則為H個(gè)數(shù)據(jù)中的每個(gè)數(shù)據(jù),簇間相似度即數(shù)據(jù)對象間的相似度,首先合并相似度最高的的兩個(gè)簇,簇總量相應(yīng)減一;其次,求取新簇與舊簇的相似度值;最后,循環(huán)操作以上兩步驟,層次聚類運(yùn)算終止條件是只剩一個(gè)簇,該簇內(nèi)部含有若干對象。
1.1.2 熱圖熱力值計(jì)算 基于網(wǎng)格層次聚類算法預(yù)處理后的新簇中心點(diǎn)即為熱圖的熱點(diǎn),以體現(xiàn)事物分布規(guī)律與信息,可使用公式(1)所示的高斯函數(shù)求取熱點(diǎn)對其周圍作用范圍的大小。
(1)
式(1)中,λ為實(shí)數(shù)常數(shù),是高斯函數(shù)的尺度因子,λ越大作用范圍越大;影響比例因子采用ε表示,作用機(jī)理與λ一致;另外,采樣點(diǎn)和熱點(diǎn)間距采用x表示。公式顯示,熱點(diǎn)半徑與作用范圍為反比例關(guān)系,外部作用影響力最小[6];區(qū)域熱力計(jì)算結(jié)果為附近全部熱力值的總和。
利用矩形點(diǎn)陣表示一個(gè)原圖,各采樣點(diǎn)具有特定的經(jīng)緯度信息,為此基于高斯函數(shù)求取采樣點(diǎn)熱力值。期間定義矩形點(diǎn)陣區(qū)域范圍的緯度、經(jīng)度分別為:p1、q1;M×M表示點(diǎn)陣大小,公式(2)、(3)則為r行c列采樣點(diǎn)的經(jīng)緯度信息:
(2)
(3)
公式中,采樣點(diǎn)的經(jīng)緯度值為q、p,經(jīng)緯度范圍下限值分別采用qmin、pmin表示?;诠?1)求取熱點(diǎn)對采樣點(diǎn)的熱力影響,目標(biāo)熱力值計(jì)算即求取熱力影響值的總和,由此得到的熱力值即為地理坐標(biāo)中熱圖的熱值。
一般的放射環(huán)算法僅能表達(dá)數(shù)據(jù)集的屬性、共用戶查詢數(shù)據(jù)集層次關(guān)系,不具備描述數(shù)據(jù)關(guān)聯(lián)關(guān)系的功能,為此在傳統(tǒng)放射環(huán)算法基礎(chǔ)上引入層次聚類算法理順環(huán)節(jié)點(diǎn)順序,層次聚類可以良好表征數(shù)據(jù)點(diǎn)排列趨勢狀況,且不會由于聚類數(shù)量誤差影響可視化結(jié)果,因此基于層次聚類算法的放射環(huán)節(jié)點(diǎn)關(guān)聯(lián)操作,可以提升數(shù)據(jù)集表達(dá)的關(guān)聯(lián)可視化水平[7]。
算法生成放射環(huán)的過程如下:①構(gòu)造數(shù)據(jù)節(jié)點(diǎn)的狀態(tài)矩陣,在此基礎(chǔ)上生成杰卡德距離矩陣;②基于聚類矩陣完成層次聚類,基于該結(jié)果排序關(guān)聯(lián)數(shù)據(jù)節(jié)點(diǎn);③生成可視化節(jié)點(diǎn)放射環(huán)。
1.2.1 生成杰卡德距離矩陣 杰卡德距離矩陣屬于對稱矩陣,用S表示;在待整合數(shù)據(jù)集中定義存在n個(gè)對象集合F,維數(shù)為i,結(jié)合張鑫躍的相關(guān)研究集合F的杰卡德距離矩陣S如公式(4)所示[8]:
(4)
式(4)中,隨機(jī)對象Fi與Fj的杰卡德距離用aij表示,即(Fi,F(xiàn)j);如果i值與j值相等,則有aij為0,此時(shí)說明各對象集合同自身的關(guān)聯(lián)程度最高,因?yàn)榫嚯x值最小。
1.2.2層次聚類排序節(jié)點(diǎn) 此處層次聚類原理與熱圖數(shù)據(jù)預(yù)處理的層次聚類原理一致,均通過合并最小距離簇的方式完成數(shù)據(jù)聚類。利用1.2.1小節(jié)求取的數(shù)據(jù)對象杰卡德距離矩陣n×n為基礎(chǔ),對n個(gè)對象實(shí)施層次聚類處理。
Step 1:還原數(shù)據(jù)類獲得n個(gè)類別對象,個(gè)體對象內(nèi)存在唯一的類,利用距離矩陣求取得到類間距;
Step 2:合并距離最小的兩個(gè)類,此時(shí)總的類別數(shù)目減一,并重新求取新類與舊類的距離;
Step 3:循環(huán)操作Step 2,算法終止條件是全部簇歸為一個(gè)類別。
根據(jù)聚類結(jié)果對節(jié)點(diǎn)對象集合{F1,F(xiàn)2,…,F(xiàn)n}進(jìn)行排序,最終生成秩序良好的節(jié)點(diǎn)放射環(huán),以表達(dá)數(shù)據(jù)間的關(guān)聯(lián)特征。最后,熱圖雖然能夠快速呈現(xiàn)地理位置層面的事物分布規(guī)律,但是獲取的信息量有限,尚未達(dá)到關(guān)聯(lián)屬性獲取的目的,所以將熱圖生成的熱圖內(nèi)置在放射環(huán)內(nèi)部,并基于直線連接熱圖節(jié)點(diǎn)與放射環(huán)節(jié)點(diǎn),以示二者間的關(guān)聯(lián)。
為了驗(yàn)證文章提出的基于熱圖與放射環(huán)的關(guān)聯(lián)層次數(shù)據(jù)可視化方法的有效性及優(yōu)越性,在Win7系統(tǒng)上進(jìn)行熱圖與放射環(huán)繪制測試,計(jì)算機(jī)CPU為Intel E5系列,內(nèi)存大小為16G。數(shù)據(jù)聚類處理環(huán)境為python語言,基于C/S架構(gòu)開發(fā)關(guān)聯(lián)數(shù)據(jù)可視化分析系統(tǒng)。研究以數(shù)據(jù)可視化分析的經(jīng)典數(shù)據(jù)集“農(nóng)藥殘留數(shù)據(jù)”作為測試樣本,以分析文章方法的關(guān)聯(lián)數(shù)據(jù)可視化水平。
文章方法使用層次聚類算法排序節(jié)點(diǎn)得到具有關(guān)聯(lián)性的放射環(huán),如圖1所示。
(a)傳統(tǒng)放射環(huán)算法 (b)文章放射環(huán)算法
圖1(a)為僅使用傳統(tǒng)放射環(huán)算法生成的農(nóng)藥殘留檢測放射環(huán),該圖能夠展示熱點(diǎn)與各農(nóng)藥之間存在關(guān)聯(lián),但是不能表征存在何種關(guān)聯(lián),此為傳統(tǒng)放射環(huán)算法的局限;圖1(b)是基于文章方法得到的節(jié)點(diǎn)放射環(huán)繪制結(jié)果,利用不同顏色點(diǎn)短連接熱點(diǎn)與農(nóng)藥放射環(huán),顏色相同的連線表示它們之間存在農(nóng)藥相似之處,指出了熱點(diǎn)與農(nóng)藥間的具體關(guān)聯(lián)內(nèi)容,滿足了當(dāng)前關(guān)聯(lián)層次大數(shù)據(jù)分析的可視化需求,彌補(bǔ)了傳統(tǒng)放射環(huán)算法的不足。
基于文章方法繪制了區(qū)域性農(nóng)藥殘留超標(biāo)可視化圖像,如圖2所示。
圖2 基于熱圖與放射環(huán)的關(guān)聯(lián)層次數(shù)據(jù)可視化展示
圖2內(nèi)部為地理性分布的農(nóng)藥殘留熱圖,外部為農(nóng)藥超標(biāo)農(nóng)產(chǎn)品分布情況,直線表示二者之間存在的關(guān)聯(lián)性信息。熱圖展示了農(nóng)藥在各地區(qū)殘留超標(biāo)情況,顏色越深表示地區(qū)農(nóng)藥超標(biāo)的程度越高,顏色越淺表示農(nóng)藥超標(biāo)的程度越低。外部放射環(huán)中第一層Vi表示農(nóng)產(chǎn)品的名稱;第二層表示農(nóng)藥的類別;第三層表示農(nóng)藥的危害程度(毒性),安裝箭頭方向由左向右表示毒性由低至高。熱圖與放射環(huán)間顏色相同的直線表示它們之間存在相似性,即二者的關(guān)聯(lián)關(guān)系。由此可見,文章方法可以描繪出準(zhǔn)確的地理信息熱圖以及農(nóng)藥與地區(qū)間的關(guān)系,表征不同地區(qū)間農(nóng)藥殘留檢測的關(guān)聯(lián)性,為進(jìn)一步研究區(qū)域性農(nóng)藥殘留問題提供可視化數(shù)據(jù)依據(jù)。
文章結(jié)合前人成功案例將熱圖與放射環(huán)數(shù)據(jù)可視化技術(shù)融合,形成一種新的層次關(guān)聯(lián)數(shù)據(jù)可視化方案,在放射環(huán)內(nèi)部嵌套熱圖信息,使放射環(huán)展示更多的地理空間分布信息,加強(qiáng)了區(qū)域間信息關(guān)聯(lián)性。文章特點(diǎn)是在熱圖與放射環(huán)生成環(huán)節(jié)均使用了層次聚類算法,在前者中的作用是對離散實(shí)施預(yù)處理,減少無效數(shù)據(jù)參與熱力值計(jì)算;后者基于層次聚類算法合理排序放射環(huán)節(jié)點(diǎn),使節(jié)點(diǎn)以關(guān)聯(lián)關(guān)系存在。文章方案同樣可用于金融、等分析領(lǐng)域,對于管理者而言是一種多功能、較理想的數(shù)據(jù)可視化分析工具。