程登,張亮,趙小羽,黎飛,王興月,黃祖朋
(上汽通用五菱汽車股份有限公司技術中心,廣西 柳州 545007)
用戶畫像也叫用戶角色,是用戶大數據分析的主要內容[1]。用戶畫像屬于用戶信息標簽集合,在現實生活中真實存在,除了用戶姓名、年齡等靜態(tài)信息外,還包括用戶的使用特性等。通過用戶訪談的形式收集用戶畫像會導致信息缺失以及統計不及時等不足。大數據時代,數據成倍地增加,通過對用戶大數據的挖掘,獲取用戶駕駛行為的數據,可以幫助整車企業(yè)深入分析用戶畫像,為用戶提供更好的服務用戶。
本文基于DBSCAN聚類[2]和K-means聚類[3]算法,通過某型新能源汽車T-BOX實時采集的海量數據,應用數據挖掘技術對數據進行預清洗、聚類分析、通過建立預測模型去預測用戶的居住地,從而豐富某型新能源汽車的用戶畫像。
新能源汽車終端基于 GB/T 32960-2016《電動汽車遠程服務與管理系統技術規(guī)范》,定時采集CAN網絡上的數據,并上傳到企業(yè)的新能源大數據平臺。本次實驗所使用的是某整車企業(yè)100臺新能源汽車,最近3個月的用戶車輛行駛數據,主要包含有:車輛停車經緯度、啟動時間、行駛里程、充電時刻、充電經緯度等數據。
海量的原始數據中存在著大量不完整的數據,這將影響數學建模的效率,導致挖掘結果存在偏差,因此數據清洗尤為重要。數據清洗主要是刪除原始數據中的無關數據、重復數據、噪聲數據等。本次數據清洗主要是將經緯度越界數據、異常數據和軌跡漂移點等剔除。
DBSCAN算法是一類基于密度的聚類算法。其主要思想為:在樣本集合X={x1,x2,x3,…,xN}中任意選取一個數據點出發(fā),按照密度可達的條件往外擴張,最終得到一個最大化的區(qū)域。若初始點是核心點,則這個最大化的區(qū)域就是一個類或一簇;若初始點為邊界點,則會跳至下一個點;若初始點為噪聲點,則直接將該點標記為噪聲點。
在DBSCAN聚類算法中,主要涉及以下定義:
定義1 Eps鄰域。對于聚類樣本集合X中的任意一點p,以p為圓心,Eps為半徑,所包含的區(qū)域就是p的Eps鄰域,記為 NEps(p)。
定義2 核心對象。對于聚類樣本集合X中的任意一點p,統計該點Eps鄰域范圍內的所有數據點個數v,則核心對象是指v不小于MinPts的數據點。
定義3 直接密度可達。如果q∈NEps(p),同時點p為核心對象,則認為對象q從p直接密度可達。
定義4 密度可達。在聚類樣本集合X中,如果存在序列p1,p2,…pn,且滿足p1=q,pn=p。若是pi+1從pi直接密度可達,則對象p從q密度可達。
圖1 DBSCAN聚類算法解析圖
空間聚類算法作為一種空間數據劃分的重要方法,主要將對象的空間距離按照相似性準則劃分到若干個子集中,使得相同子集中各元素間差別最小,不同子集中各元素間差別最大??臻g聚類算法是建立在各種樣本的空間距離基礎上,最常用的是歐幾里得距離:
式中,i=(xi1,xi2,…,xim)和j=(yj1,yj2,…,yjm)是兩個m維的數據樣本。
根據空間聚類算法的類別劃分是使得同一類的內部相似度最大、差異度最小,而不同類別的相似度最小、差異度最大。公式(1)的歐幾里得距離作為劃分準則,即任一空間對象與該對象所屬類的幾何中心之間的距離比該對象到任何其他類的幾何中心距離都小。
圖2 K-means聚類算法解析圖
如圖2所示,詳細描述了K-means聚類算法的聚類設計過程。首先,由用戶確定所要聚類的準確數目k,并隨機選擇k個對象,代表一個類的均值或中心,對剩余的每個對象,根據其(各類中心的距離將它賦給最近的簇。然后重新計算每個簇內對象的平均值形成新的聚類中心,這個過程重復進行,直到下列(2)式準則函數收斂為止。
這里,E是所有研究對象的平方誤差總和,p為空間的點,即數據對象。ai是簇Ai的平均值,按照這個準則生成的結果簇趨向于獨立和緊湊。
K-means聚類算法對異常點敏感,無法解決噪聲點的問題,若地理位置的分布過于分散,按照固定k值聚合,得到的中心點位置可能和實際相差甚遠,導致結果有差異。DBSCAN聚類算法是按照活動半徑的密度可達來聚合,其結果是將數據集合分類,并不求出中心點。
因此本文設計了一種基于DBSCAN聚類和K-means聚類的混合算法:利用 DBSCAN算法的密度可達特性將用戶的地理位置數據按活動半徑聚合成若干個簇,并且將每一簇的數據集作為新的輸入,再利用K-means算法的迭代聚合求出中心點的位置。
基于DBSCAN聚類的實現過程,設定關鍵參數Eps和MinPts。從聚類數據樣本集X中任意選取一點p,若該點的條件符合核心對象的判定,那么從該點密度可達的所有數據點成為一個聚類,而不屬于任何簇的數據點則被標記為噪聲點。關鍵參數Eps和MinPts的選擇對聚類效果影響很大,表1中展示出不同Eps和MinPts組合時,算法模型的準確率,根據多次實驗,最終確定最優(yōu)解。
表1 DBSCAN算法參數選擇
圖3分別給出了不同Eps和MinPts組合時,其聚合效果。通過對比,可以看到Eps=1000米淺黃色的類聚的精度較差,Eps=500米聚類未完全剔除噪聲點,Eps=200米聚類結果精度較高。因此,本文在DBSCAN算法中選取的關鍵參數為:Eps=200米,MinPts=5。
圖3 不同參數聚類對比圖
通過 K-means聚類算法可以得到用戶居住地的 GPS數據,再對數據糾偏,將聚類出來的GPS數值轉化為適配電子地圖的值。再通過電子地圖開放平臺中的逆地理編碼API服務地址得到精確的地址,最后得出該地址周邊的居住小區(qū)。以高德地圖為例,將聚類后的GPS數據糾偏后,通過高德地圖開放平臺的數據接口,實現逆地理編碼,得到用戶的居住地。
表2是采集分預測結果,可以看出,基于DBSCAN聚類和K-means聚類混合算法的用戶居住地預測,可以精準算出用戶居住地。對于整個數據采集樣本,整體的準確度高達85%以上。
表2 用戶居住地預測結果
本文基于DBSCAN聚類和K-means聚類混合算法設計了一種新能源汽車用戶居住地的預測模型,結合大數據能夠準確預測用戶居住地,有效地解決無法獲取新能源汽車用戶居住地的難題,豐富了用戶畫像的標簽種類,有助于營銷推廣活動制定。