劉志,劉輝平,趙大鵬,王曉玲
(華東師范大學(xué)計(jì)算機(jī)科學(xué)與軟件工程學(xué)院數(shù)據(jù)科學(xué)與工程研究院,上海200062)
基于移動(dòng)軌跡數(shù)據(jù)的商圈消費(fèi)者規(guī)模分析
劉志,劉輝平,趙大鵬,王曉玲
(華東師范大學(xué)計(jì)算機(jī)科學(xué)與軟件工程學(xué)院數(shù)據(jù)科學(xué)與工程研究院,上海200062)
隨著城市化的推進(jìn)以及大數(shù)據(jù)技術(shù)的不斷發(fā)展,智慧商圈成為智慧城市建設(shè)的重要組成部分.智慧商圈的熱門程度、消費(fèi)者的規(guī)模、消費(fèi)層次等因素成為智慧商圈建設(shè)的關(guān)注熱點(diǎn).然而,傳統(tǒng)的消費(fèi)者規(guī)模的統(tǒng)計(jì),還是基于傳統(tǒng)的問(wèn)卷調(diào)查或者抽樣等,這些方法不僅成本昂貴而且效率低下.但隨著數(shù)據(jù)挖掘技術(shù)的發(fā)展,使得通過(guò)分析用戶行為軌跡來(lái)確定商圈消費(fèi)者規(guī)模成為可能.本文提出了一種基于軌跡數(shù)據(jù)分析的商圈消費(fèi)者規(guī)模分析方法.本文的主要工作包括:①在軌跡數(shù)據(jù)中,如何確定商圈的邊界這是一個(gè)首要的問(wèn)題,基于此,才能確定一位消費(fèi)者是在商圈內(nèi)活動(dòng),還是在商圈外面.本文提出了根據(jù)商圈內(nèi)基站點(diǎn)的位置分布,運(yùn)用k-Nearest Neighbor(k NN)分類算法,對(duì)該商圈的范圍進(jìn)行圈定的方法.②由于軌跡數(shù)據(jù)的不確定性特點(diǎn),確定一個(gè)用戶與商圈的關(guān)系也是一個(gè)難題.本文利用計(jì)算不規(guī)則多邊形面積的方法計(jì)算基站點(diǎn)的權(quán)重值,結(jié)合時(shí)間閾值分析該區(qū)域內(nèi)每天的消費(fèi)者規(guī)模.③最后,鑒于軌跡數(shù)據(jù)的海量性,本文提出了一個(gè)大數(shù)據(jù)計(jì)算框架BPDA(Business-Circle Parallel Distributed Algorithm),基于Hadoop大數(shù)據(jù)處理平臺(tái)和Kafka分布式消息系統(tǒng),實(shí)現(xiàn)了基于移動(dòng)軌跡數(shù)據(jù)的商圈消費(fèi)者規(guī)模分析系統(tǒng),并使用中山公園商圈基站數(shù)據(jù),展示了本文所提方法的可行性.
移動(dòng)軌跡數(shù)據(jù);消費(fèi)者規(guī)模分析;k NN分類算法;商圈輪廓
商圈作為城市的消費(fèi)集中地,是一個(gè)城市經(jīng)濟(jì)水平高低的重要標(biāo)志.一個(gè)商圈經(jīng)營(yíng)的好壞,往往可以通過(guò)商圈的消費(fèi)者規(guī)模大小來(lái)直觀的反應(yīng),商圈的消費(fèi)者規(guī)模分析對(duì)于商圈的經(jīng)濟(jì)發(fā)展走勢(shì)預(yù)測(cè)、商圈的熱門店鋪推薦等工作都具有重要的意義.除此之外,對(duì)于商圈自身來(lái)講,統(tǒng)計(jì)消費(fèi)人群的規(guī)模,可以準(zhǔn)確的發(fā)現(xiàn)商圈的消費(fèi)者人數(shù)變化規(guī)律,從而對(duì)商圈的規(guī)劃提供更加合理有效的指導(dǎo),促進(jìn)商圈更加快速、穩(wěn)步地發(fā)展.
商圈的消費(fèi)者規(guī)模統(tǒng)計(jì)方法中,傳統(tǒng)方法是采樣技術(shù)或者問(wèn)卷調(diào)查等人工方法,這對(duì)于商圈的消費(fèi)者規(guī)模進(jìn)行大數(shù)據(jù)意義上的統(tǒng)計(jì),是一個(gè)難題.此外,還有很多人可能僅僅是路過(guò)商圈,并不是來(lái)商圈消費(fèi),另外還有很多的人是在商圈上班或者居住在附近,這些因素都會(huì)對(duì)傳統(tǒng)方法的準(zhǔn)確度產(chǎn)生一定的影響.因此,傳統(tǒng)方法不僅調(diào)查范圍為有限,需要耗費(fèi)大量的資源,而且測(cè)定的商圈范圍存在較大的誤差.
近些年,基于時(shí)空軌跡數(shù)據(jù)的挖掘技術(shù)不斷產(chǎn)生,通過(guò)分析用戶空間移動(dòng)軌跡來(lái)對(duì)商圈消費(fèi)者流量進(jìn)行統(tǒng)計(jì)成為了研究商圈消費(fèi)者規(guī)模分析的一種新的方法.同時(shí),這種研究方法也存在諸多挑戰(zhàn).
(1)商圈范圍不確定性.商圈是一個(gè)集消費(fèi)、娛樂(lè)、購(gòu)物等為一體的多功能區(qū)域,多分布于商業(yè)活動(dòng)頻繁度高、人口密度大、面向客流量多、交通便利的街道,沒(méi)有明確的邊界范圍劃分.
(2)軌跡數(shù)據(jù)模糊性.用戶在確定的時(shí)間點(diǎn)連接某商圈基站,只能說(shuō)明用戶在該時(shí)間處于該基站的覆蓋范圍內(nèi),并不能獲知用戶準(zhǔn)確位置,因而不能準(zhǔn)確的判斷用戶與商圈的位置關(guān)系.特殊的,存在信號(hào)“跳變”現(xiàn)象,即用戶在短時(shí)間段內(nèi)與多個(gè)基站連接信號(hào)頻繁切換,這就更加導(dǎo)致了用戶移動(dòng)準(zhǔn)確位置難以確定.
(3)軌跡數(shù)據(jù)海量性.隨著硬件技術(shù)的提高和完善,越來(lái)越多的移動(dòng)智能設(shè)備得到普及使用.如此大量的移動(dòng)智能設(shè)備每天會(huì)產(chǎn)生大量的時(shí)空移動(dòng)軌跡數(shù)據(jù).據(jù)2008年的N ature??痛髷?shù)據(jù)提出問(wèn)題,“人類已經(jīng)進(jìn)入了海量存儲(chǔ)PB時(shí)代,并預(yù)測(cè)下一個(gè)IT巨頭的主營(yíng)業(yè)務(wù)將會(huì)是大數(shù)據(jù)管理”.
本文針對(duì)于上述商圈消費(fèi)者規(guī)模分析的挑戰(zhàn),提出了新的解決方案.該方案包括兩個(gè)部分:商圈邊界劃分模塊和商圈消費(fèi)者規(guī)模統(tǒng)計(jì)分析模塊.提出了新的商圈范圍圈定算法以及基于規(guī)則的大數(shù)據(jù)計(jì)算框架BPDA來(lái)對(duì)商圈消費(fèi)者規(guī)模進(jìn)行統(tǒng)計(jì)分析.
本文主要貢獻(xiàn)在以下幾個(gè)方面.
(1)基于商圈基站的位置分布,采用k NN分類算法并結(jié)合輪廓優(yōu)化算法對(duì)商圈的范圍進(jìn)行圈定,確保生成的商圈輪廓更加清晰.
(2)針對(duì)軌跡數(shù)據(jù)模糊性問(wèn)題,提出通過(guò)計(jì)算不規(guī)則多邊形面積的方法來(lái)依次計(jì)算基站點(diǎn)的權(quán)重值,并且結(jié)合不同的時(shí)間閾值以及軌跡判定規(guī)則來(lái)對(duì)用戶的行為軌跡進(jìn)行建模分析,從而對(duì)商圈消費(fèi)者規(guī)模進(jìn)行統(tǒng)計(jì).
(3)基于大數(shù)據(jù)統(tǒng)計(jì)分析平臺(tái)Hadoop以及消息流收集系統(tǒng)Apache Kafka(簡(jiǎn)稱Kafka),提出了一種高效的分布式大數(shù)據(jù)計(jì)算框架BPDA來(lái)對(duì)商圈消費(fèi)者規(guī)模進(jìn)行統(tǒng)計(jì)分析,克服了傳統(tǒng)方法的成本昂貴、效率低下以及誤差大的缺點(diǎn),并且以中山公園商圈為例,對(duì)算法的有效性以及可行性進(jìn)行了準(zhǔn)確分析.
本文剩余部分的組織結(jié)構(gòu)如下:第1節(jié)描述相關(guān)工作;第2節(jié)介紹本文的商圈、基站、移動(dòng)軌跡等概念以及研究的問(wèn)題定義;第3節(jié)簡(jiǎn)要介紹商圈邊界劃分模塊和商圈消費(fèi)者規(guī)模統(tǒng)計(jì)分析模塊;第4節(jié)詳細(xì)介紹商圈邊界劃分模塊;第5節(jié)詳細(xì)介紹商圈消費(fèi)者規(guī)模統(tǒng)計(jì)分析模塊;第6節(jié)報(bào)告實(shí)驗(yàn)結(jié)果;第7節(jié)總結(jié)全文.
目前,與商圈消費(fèi)者規(guī)模統(tǒng)計(jì)分析研究相關(guān)的是城市功能化模塊劃分以及動(dòng)態(tài)時(shí)空數(shù)據(jù)聚/分類兩大領(lǐng)域.
關(guān)于功能化模塊劃分這一領(lǐng)域,已經(jīng)有了很好的研究.文獻(xiàn)[1]中提到基于人們的移動(dòng)軌跡數(shù)據(jù)及POI數(shù)據(jù),利用TF-IDF向量對(duì)城市的功能區(qū)進(jìn)行了不同的劃分,分為居住區(qū),商業(yè)區(qū),教育區(qū)等.文獻(xiàn)[2]利用CPF向量以及新的topic模型對(duì)功能區(qū)進(jìn)行了更準(zhǔn)確的劃分.文獻(xiàn)[3]基于出租車上下車記錄以及行駛軌跡數(shù)據(jù),采用簡(jiǎn)單的分類算法,來(lái)對(duì)城市主功能區(qū)和非主功能區(qū)進(jìn)行分類.文獻(xiàn)[4]通過(guò)對(duì)倫敦市出租車的行駛軌跡數(shù)據(jù)分析,挖掘出租車的運(yùn)動(dòng)模式,來(lái)劃分倫敦市的主要購(gòu)物街道.文獻(xiàn)[5]對(duì)比不同的機(jī)器學(xué)習(xí)方法,例如簡(jiǎn)單邏輯回歸、決策樹模型、貝葉斯分類器等,對(duì)城區(qū)地表覆蓋物的圖片進(jìn)行了分類,根據(jù)分類結(jié)果分類不同的城市功能區(qū).文獻(xiàn)[6]中詳細(xì)的介紹了城市功能區(qū)域的概念,并且給出了城市功能區(qū)劃分的依據(jù).文獻(xiàn)[7]從cluster角度上介紹了城市功能區(qū)的特點(diǎn)、聚類方法、以及聚類的策略.
關(guān)于動(dòng)態(tài)時(shí)空數(shù)據(jù)聚/分類方面目前也有比較成熟的研究.在時(shí)空數(shù)據(jù)聚類方面,文獻(xiàn)[8]提出了基于密度的聚類算法ST-DBSCAN用于空間移動(dòng)軌跡數(shù)據(jù)聚類分析,可以屏蔽噪音點(diǎn),自動(dòng)將中心點(diǎn)和邊緣點(diǎn)聚成一個(gè)完整的簇.文獻(xiàn)[9]提出了four-step時(shí)空數(shù)據(jù)聚類算法,自動(dòng)去除數(shù)據(jù)中的噪音以及補(bǔ)齊缺失數(shù)據(jù).文獻(xiàn)[10]基于聚類方法DBSCAN提出了新的方法STDBSCAN對(duì)空間時(shí)空軌跡進(jìn)行聚類,用于發(fā)掘潛在的POI.文獻(xiàn)[11]提出了single-link的時(shí)空數(shù)據(jù)聚類算法,該方法是譜系聚類圖的一種,可以方便的轉(zhuǎn)換為樹圖來(lái)分析參數(shù)相似性問(wèn)題.在時(shí)空數(shù)據(jù)分類方面,文獻(xiàn)[12]提出了一種懶惰學(xué)習(xí)模型ML-k NN來(lái)解決文本分類問(wèn)題.文獻(xiàn)[13]將SVM和k NN模型結(jié)合到一起提出了混合模型SVM-k NN來(lái)降低可視化分類識(shí)別領(lǐng)域的計(jì)算復(fù)雜性,并提高了分類結(jié)果的準(zhǔn)確性.文獻(xiàn)[14]提出了GA-k NN分類算法,并優(yōu)化算法的參數(shù)來(lái)成功解決基因分類問(wèn)題.
然而,以上基于用戶移動(dòng)軌跡數(shù)據(jù)的城市功能區(qū)劃分以及時(shí)空數(shù)據(jù)聚類方面的研究都是基于用戶準(zhǔn)確的GPS(Global Position System)坐標(biāo)位置或者準(zhǔn)確的上下車刷卡記錄,針對(duì)存在位置模糊性的時(shí)空軌跡數(shù)據(jù)而言,以上方法都不適用.本文中研究的是用戶與基站連接的空間移動(dòng)軌跡數(shù)據(jù),不能準(zhǔn)確的定位用戶的實(shí)時(shí)位置,借鑒了以上工作研究方法,文中提出了有效的大數(shù)據(jù)計(jì)算框架BPDA,對(duì)商圈輪廓范圍進(jìn)行了圈定,并且對(duì)商圈的消費(fèi)者規(guī)模進(jìn)行了統(tǒng)計(jì)和分析.
問(wèn)題描述:給定商圈基站點(diǎn)的集合以及用戶的移動(dòng)軌跡數(shù)據(jù),對(duì)商圈范圍進(jìn)行圈定以及對(duì)商圈的消費(fèi)者規(guī)模進(jìn)行統(tǒng)計(jì)和分析.
定義1基站:一個(gè)基站sta(id,loc)是移動(dòng)用戶通信的節(jié)點(diǎn),其中id表示該基站的標(biāo)識(shí), loc表示該基站的實(shí)際地理位置,通常用經(jīng)緯度表示.如(C1270,(121.247 82,31.392 36))表示基站C1270位于東經(jīng)121.247 82°,北緯31.392 36°位置.如圖1(a),存在3個(gè)基站點(diǎn).
基站有宏站和微站之分,宏站的信號(hào)覆蓋范圍比較大,大約為2.5 km,而微站的信號(hào)覆蓋范圍比較小,大約為500 m.
多個(gè)分散的基站交錯(cuò)構(gòu)成了基站覆蓋區(qū)域,將覆蓋區(qū)域的邊緣位置基站相互連接形成的一個(gè)多邊形區(qū)域稱為商圈.
定義2移動(dòng)軌跡:一個(gè)移動(dòng)軌跡Tr是指一系列的有時(shí)間標(biāo)記的基站數(shù)據(jù),Tr: p1→p2→p3→···→pn,其中pi表示有時(shí)間標(biāo)記的移動(dòng)軌跡點(diǎn),pi=(sta,t).如((C1270, (121.247 82,31.392 36)),20130519134542)表示在時(shí)間點(diǎn)20130519134542該用戶連接基站C1270.如圖1(b),13#13:16:47~18#17:33:36存在往返軌跡1和軌跡2.
此外,存在不規(guī)則的用戶軌跡—–“跳變”,即一個(gè)用戶在短時(shí)間內(nèi)與多個(gè)基站連接信號(hào)頻繁切換的現(xiàn)象,這種情況下,不能明確地看出用戶的移動(dòng)軌跡,而是構(gòu)成一個(gè)局部的環(huán)路.如圖1(c),用戶在2#16:58:50~18#19:21:18時(shí)間內(nèi)不停地在基站a和基站b之間進(jìn)行信號(hào)切換.
定義3商圈覆蓋點(diǎn)集合:用于覆蓋商圈范圍的標(biāo)示點(diǎn)組成的最小矩形,該矩形覆蓋點(diǎn)用于確定商圈的范圍.如圖1(d).
定義4商圈消費(fèi)者規(guī)模:特意來(lái)商圈消費(fèi)的消費(fèi)者規(guī)模數(shù)量的統(tǒng)計(jì),不包括工作或者居住在商圈附近以及路過(guò)商圈的人群.
圖1 示例圖Fig.1 Sample
為了解決上述問(wèn)題,本文首先基于基站數(shù)據(jù)集對(duì)商圈的范圍進(jìn)行劃分,然后利用計(jì)算多邊形面積的方法計(jì)算各基站的權(quán)重值,最后基于基站點(diǎn)的權(quán)重值以及用戶移動(dòng)軌跡判定規(guī)則來(lái)統(tǒng)計(jì)用戶在商圈內(nèi)的停留時(shí)間,根據(jù)停留時(shí)間統(tǒng)計(jì)出不同時(shí)間段的商圈內(nèi)的消費(fèi)者規(guī)模大小.
本文涉及商圈邊界劃分和商圈消費(fèi)者規(guī)模統(tǒng)計(jì)分析兩大模塊.商圈邊界劃分模塊又包括商圈網(wǎng)格化覆蓋和商圈輪廓?jiǎng)澐?商圈消費(fèi)者規(guī)模統(tǒng)計(jì)分析模塊包括權(quán)重計(jì)算和消費(fèi)者規(guī)模統(tǒng)計(jì).具體功能模塊流程圖如圖2.
圖2 功能模塊流程圖Fig.2 Function module process
商圈網(wǎng)格化覆蓋:用于校驗(yàn)人工標(biāo)注的商圈基站點(diǎn)的完整性以及生成覆蓋商圈范圍的矩形區(qū)域覆蓋點(diǎn).
商圈輪廓?jiǎng)澐?用于生成商圈的輪廓以及對(duì)輪廓的優(yōu)化.
權(quán)重計(jì)算:通過(guò)計(jì)算多邊形面積來(lái)計(jì)算商圈基站點(diǎn)的權(quán)重值.
消費(fèi)者規(guī)模統(tǒng)計(jì):利用大數(shù)據(jù)計(jì)算框架BPDA結(jié)合不同軌跡模式判定規(guī)則來(lái)對(duì)商圈消費(fèi)者規(guī)模進(jìn)行統(tǒng)計(jì)分析.
本節(jié)簡(jiǎn)要介紹文章中要做的工作是商圈輪廓的劃分(即商圈識(shí)別)以及商圈中有效消費(fèi)者規(guī)模的統(tǒng)計(jì),在接下來(lái)的章節(jié)中將會(huì)詳細(xì)介紹如何通過(guò)算法和大數(shù)據(jù)統(tǒng)計(jì)分析工具來(lái)對(duì)這兩部分進(jìn)行實(shí)現(xiàn).
本節(jié)先描述商圈基站點(diǎn)的預(yù)處理以及商圈最小矩形覆蓋點(diǎn)的生成,再介紹如何利用KNN分類算法對(duì)商圈覆蓋點(diǎn)進(jìn)行分類以確定商圈的輪廓范圍.
4.1 商圈最小矩形覆蓋
對(duì)存在Kafka上的基站數(shù)據(jù),通過(guò)消息拉取的方式將消息從Kafka中取出并保存在HDFS中,利用數(shù)據(jù)倉(cāng)庫(kù)處理工具Hive篩選出所有上海市的基站點(diǎn),保留每個(gè)基站點(diǎn)ID,經(jīng)、緯度坐標(biāo)以及基站的類別(宏、微站)字段.由于人工標(biāo)注過(guò)的商圈基站點(diǎn)集合可能沒(méi)有完全包括所有的商圈基站點(diǎn)或者存在非商圈基站點(diǎn),為了能夠更加清晰地劃分出商圈輪廓,需要利用百度地圖API對(duì)人工標(biāo)注的商圈基站點(diǎn)進(jìn)行打點(diǎn)校驗(yàn),并對(duì)未能標(biāo)注出的基站點(diǎn)進(jìn)行補(bǔ)充.如圖3所示,紅色點(diǎn)為某通信運(yùn)營(yíng)商標(biāo)注的商圈基站點(diǎn),藍(lán)色點(diǎn)為所有的基站點(diǎn)(商圈基站點(diǎn)和非商圈基站點(diǎn)).
圖3 人工標(biāo)注的商圈基站點(diǎn)圖Fig.3 Business circle base station
對(duì)于已修正過(guò)的商圈基站點(diǎn)集合,分別計(jì)算出基站點(diǎn)的最大經(jīng)度lngmax、最小經(jīng)度lngmin、最大緯度latmax、最小緯度latmin,然后根據(jù)經(jīng)緯度的范圍確定一個(gè)可以覆蓋所有基站的最小矩形,經(jīng)度坐標(biāo)范圍為(lngmax,lngmin),緯度坐標(biāo)范圍為(latmax,latmin).需要設(shè)置矩形內(nèi)部的分辨率m×n,即對(duì)該矩形經(jīng)度坐標(biāo)進(jìn)行m次等分,緯度進(jìn)行n次等分,分別生成m×n個(gè)坐標(biāo)點(diǎn),即m×n個(gè)商圈覆蓋點(diǎn).
關(guān)于矩形分辨率中m和n的取值,m和n越大,商圈識(shí)別算法要處理的點(diǎn)數(shù)越多,耗時(shí)越長(zhǎng),但是得到的商圈輪廓更加清晰自然.因此考慮到算法耗時(shí)問(wèn)題,實(shí)驗(yàn)中m和n值的選擇只要大小合適、商圈輪廓清晰自然便可.
4.2 商圈識(shí)別
本節(jié)中,首先使用k NN[15]即k最近鄰分類對(duì)商圈最小矩陣覆蓋點(diǎn)進(jìn)行分類,從而確定粗略的商圈邊界.具體做法是基于商圈基站點(diǎn)和非商圈基站點(diǎn)這兩種類別對(duì)第4.1節(jié)中整個(gè)商圈覆蓋點(diǎn)集合進(jìn)行二分類,得到商圈輪廓的覆蓋點(diǎn)集合和非商圈輪廓的覆蓋點(diǎn)集合.因?yàn)樗?jì)算得到的是輪廓邊界,不是完整區(qū)域,因此k NN分類器k值設(shè)置為3,即與一覆蓋點(diǎn)最相鄰的3個(gè)基站點(diǎn)(Top3)中,滿足count商圈>count非商圈,且Top2中count商圈=1, count非商圈=1,該覆蓋點(diǎn)保留.
商圈識(shí)別算法如算法1所示,其中,序號(hào)1至序號(hào)4確定商圈經(jīng)緯度范圍;序號(hào)5至序號(hào)9生成最小矩陣覆蓋點(diǎn);序號(hào)10至序號(hào)11依次計(jì)算m×n個(gè)覆蓋點(diǎn)與所有基站點(diǎn)(包括商圈基站以及非商圈基站)之間的歐式距離di;序號(hào)12對(duì)距離值di進(jìn)行升序排序;序號(hào)13至序號(hào)16取集合Di前3個(gè)即d1,d2,d3對(duì)應(yīng)的3個(gè)基站點(diǎn)進(jìn)行判斷,如果這3個(gè)基站點(diǎn)當(dāng)中count商圈>count非商圈,且d1,d2對(duì)應(yīng)的基站點(diǎn)滿足count商圈=1,count非商圈=1,保留該覆蓋點(diǎn),否則,刪除.
算法1 商圈識(shí)別算法
對(duì)于算法1,由于需要對(duì)所有的商圈覆蓋點(diǎn)與每個(gè)基站點(diǎn)進(jìn)行歐式距離計(jì)算,然后根據(jù)距離進(jìn)行快速排序,并且只排序至最小的k個(gè)元素(Top k)就停止排序.由于快速排序的最優(yōu)時(shí)間復(fù)雜度為O(n log2n),最壞時(shí)間復(fù)雜度為O(n2),所以時(shí)間復(fù)雜度為O(m×n+(m×n)2),其中m為商圈覆蓋點(diǎn)數(shù),n為商圈基站數(shù).
從算法1中可以看到商圈識(shí)別算法利用了k NN分類器對(duì)商圈覆蓋點(diǎn)進(jìn)行分類,保留位于商圈基站和非商圈基站之間的覆蓋點(diǎn),并且最終通過(guò)閾值τ的判斷只保留位于接近兩類基站點(diǎn)連線的中間位置的商圈覆蓋點(diǎn),這樣做的好處是使得生成的商圈輪廓貫穿兩類基站點(diǎn)的中間位置.
然而對(duì)于算法1得到的商圈輪廓點(diǎn)通過(guò)調(diào)用百度API打點(diǎn)之后會(huì)發(fā)現(xiàn)存在覆蓋點(diǎn)堆積的問(wèn)題,即在小范圍內(nèi)存在多個(gè)點(diǎn)的經(jīng)度或者緯度相同的情況,多個(gè)覆蓋點(diǎn)聚集在一起,使得商圈的輪廓變得不均勻.因此,需要?jiǎng)h除冗余的覆蓋點(diǎn),對(duì)商圈輪廓進(jìn)行進(jìn)一步優(yōu)化,使其更加規(guī)整自然,優(yōu)化過(guò)程如算法2所示,其中序號(hào)1選取k NN分類算法所得到的覆蓋點(diǎn)集中任意一個(gè)覆蓋點(diǎn)為初始點(diǎn)a;序號(hào)2至序號(hào)9找到與該初始點(diǎn)a之間距離小于閾值τ2的另一覆蓋點(diǎn)b,如果存在多點(diǎn)情況下,可任選其中一個(gè)覆蓋點(diǎn);序號(hào)10至序號(hào)14重新以覆蓋點(diǎn)b為初始點(diǎn),繼續(xù)循環(huán)以上操作,直到找到的下一覆蓋點(diǎn)為最開(kāi)始的初始點(diǎn)a為止.
算法2 商圈輪廓優(yōu)化算法
算法2需要對(duì)算法1的結(jié)果集進(jìn)行遍歷,對(duì)于每個(gè)覆蓋點(diǎn)ai,分別計(jì)算該覆蓋點(diǎn)與結(jié)果集中的其他覆蓋點(diǎn)的歐式距離di,直到找到任何一個(gè)歐式距離di小于閾值τ2的覆蓋點(diǎn)dj為止.結(jié)果集中刪除di,然后以覆蓋點(diǎn)dj為新的起點(diǎn),進(jìn)行下一輪迭代查詢.如果每輪迭代結(jié)果集第一個(gè)元素就滿足與起點(diǎn)ai的歐氏距離小于τ2,那么最優(yōu)時(shí)間復(fù)雜度為O(n);如果是結(jié)果集的最后一個(gè)元素,最壞時(shí)間復(fù)雜度為O(n2).因此,算法2的時(shí)間復(fù)雜度為O(n2).
本節(jié)首先計(jì)算出每個(gè)基站點(diǎn)的權(quán)重值,然后結(jié)合基站點(diǎn)的權(quán)重以及用戶移動(dòng)軌跡判定規(guī)則來(lái)確定商圈消費(fèi)者規(guī)模.
不同基站有不同權(quán)重值可以很好地解決軌跡數(shù)據(jù)位置模糊性問(wèn)題.根據(jù)用戶與商圈基站連接時(shí)間與基站點(diǎn)的權(quán)重值的乘積來(lái)計(jì)算用戶軌跡在商圈的停留總時(shí)間,結(jié)合用戶軌跡模式判定規(guī)則來(lái)進(jìn)行商圈內(nèi)有效消費(fèi)者規(guī)模統(tǒng)計(jì).
5.1 基站權(quán)重值計(jì)算
由于商圈的基站有一定的覆蓋范圍,因此僅僅通過(guò)用戶軌跡數(shù)據(jù)無(wú)法有效地定位用戶的地理位置.另外,由于基站的覆蓋范圍存在一定的交叉重疊,導(dǎo)致存在信號(hào)“跳變”的情況,所以僅僅通過(guò)用戶與商圈基站的連接時(shí)長(zhǎng)這一個(gè)維度來(lái)進(jìn)行商圈消費(fèi)者規(guī)模統(tǒng)計(jì)是不足的,需要加入另一個(gè)維度—–商圈基站的權(quán)重值.
對(duì)于任意基站點(diǎn)stai,其權(quán)重值等于該基站點(diǎn)覆蓋范圍和商圈的重疊面積與基站點(diǎn)覆蓋面積的比值,計(jì)算公式為
其中,A重疊代表基站點(diǎn)覆蓋范圍和商圈的重疊面積,S代表基站點(diǎn)覆蓋面積.
由于商圈輪廓是不規(guī)則的多邊形,計(jì)算基站stai覆蓋范圍與商圈的重疊面積比較復(fù)雜,所以采用隨機(jī)拋灑樣本點(diǎn)的方式,在基站覆蓋范圍圓內(nèi)拋灑若干樣本點(diǎn),統(tǒng)計(jì)在商圈范圍內(nèi)的樣本點(diǎn)數(shù)目占所有樣本點(diǎn)的比例并作為基站stai的權(quán)重值大小.計(jì)算基站權(quán)重值步驟如算法3所示,其中,序號(hào)1至序號(hào)9遍歷所有商圈基站,如果為宏站,則以該基站點(diǎn)為圓點(diǎn),以宏站最大信號(hào)覆蓋范圍r1=2 500 m為半徑建立覆蓋圓,在圓內(nèi)隨機(jī)生成m個(gè)隨機(jī)點(diǎn),計(jì)算落入商圈輪廓范圍內(nèi)的隨機(jī)點(diǎn)數(shù)目與m的比值;序號(hào)10至序號(hào)17基站點(diǎn)為微站,則以微站最大信號(hào)覆蓋范圍r2=500 m為半徑建立覆蓋圓,其他步驟同上.
算法3 計(jì)算基站權(quán)重值算法
對(duì)于算法3,需要對(duì)商圈基站點(diǎn)集合S5進(jìn)行遍歷,以Si為圓心,r為半徑建立覆蓋范圍圓,在圓中隨機(jī)生成m個(gè)點(diǎn),統(tǒng)計(jì)位于商圈范圍內(nèi)的基站點(diǎn)數(shù).因此,該算法的時(shí)間復(fù)雜度為O(m×n),n為商圈基站點(diǎn)數(shù),m為每次隨機(jī)生成的樣本點(diǎn)數(shù).
5.2商圈消費(fèi)者規(guī)模統(tǒng)計(jì)
該模塊利用Kafka、Hadoop[16]大數(shù)據(jù)平臺(tái),提出基于MapReduce的計(jì)算框架BPDA.整體算法思想:首先通過(guò)文獻(xiàn)[17]所提出的工作地和居住地挖掘方法,在統(tǒng)計(jì)過(guò)程中去除工作或居住在商圈附近這部分用戶;然后基于用戶軌跡來(lái)統(tǒng)計(jì)用戶與各個(gè)商圈基站點(diǎn)的連接時(shí)間ti,乘以相應(yīng)基站點(diǎn)的權(quán)重值wi,求和,得到用戶在商圈內(nèi)停留總時(shí)間∑若停留時(shí)間超過(guò)閾值§,則認(rèn)為用戶在該時(shí)間段來(lái)商圈消費(fèi).數(shù)據(jù)處理流程圖如圖4.
圖4 用戶軌跡數(shù)據(jù)處理流程圖Fig.4 Trajectory data processing
由于用戶移動(dòng)軌跡中存在“跳變”現(xiàn)象,即用戶信號(hào)在不同的基站之間形成了局部的“環(huán)”.根據(jù)“環(huán)”中基站點(diǎn)與商圈的不同位置關(guān)系,做不同的處理規(guī)則,具體如下.
(1)用戶與多個(gè)商圈基站點(diǎn)連接.分別統(tǒng)計(jì)用戶與各個(gè)基站點(diǎn)連接時(shí)間乘以權(quán)重值,然后求和.
(2)用戶短時(shí)間內(nèi)頻繁在商圈基站和非商圈基站進(jìn)行信號(hào)切換.分別統(tǒng)計(jì)用戶與商圈基站和非商圈基站的連接時(shí)間,如果用戶與商圈基站連接時(shí)間明顯大于非商圈基站連接時(shí)間,則將與非商圈基站連接時(shí)間歸為商圈基站的時(shí)間來(lái)統(tǒng)計(jì);反之,則認(rèn)為該用戶未在商圈停留,只是簡(jiǎn)單的基站信號(hào)跳變.
(3)用戶與商圈基站和非商圈基站切換連接,且每次切換連接時(shí)間較長(zhǎng).如果與商圈基站和非商圈基站的連接時(shí)間差超過(guò)1 h,則認(rèn)為用戶在與商圈基站的最后一個(gè)連接時(shí)間點(diǎn)離開(kāi)了商圈,與非商圈基站的連接時(shí)間不計(jì)入統(tǒng)計(jì);否則,則認(rèn)為是信號(hào)跳變,計(jì)入統(tǒng)計(jì).
軌跡判定規(guī)則流程圖如圖5所示.
基于以上的規(guī)則,利用大數(shù)據(jù)計(jì)算框架BPDA對(duì)商圈消費(fèi)者規(guī)模進(jìn)行統(tǒng)計(jì).BPDA算法需要運(yùn)行3輪MapReduce計(jì)算模型:第一輪是對(duì)所有用戶的移動(dòng)軌跡數(shù)據(jù)按照每個(gè)用戶手機(jī)號(hào)碼進(jìn)行分組處理,得到每個(gè)用戶按照時(shí)間排序的有序移動(dòng)軌跡數(shù)據(jù)集;第二輪是對(duì)第一輪的結(jié)果數(shù)據(jù)集進(jìn)行處理,結(jié)合軌跡判定規(guī)則和商圈基站的權(quán)重值來(lái)計(jì)算每個(gè)用戶在商圈的停留時(shí)間,將該停留時(shí)間按照1 h為步長(zhǎng)劃分成多個(gè)時(shí)間段,從而得到各個(gè)日期不同時(shí)間段商圈的消費(fèi)者規(guī)模數(shù)據(jù)集;第三輪是對(duì)第二輪的不同時(shí)刻商圈消費(fèi)者規(guī)模數(shù)據(jù)集按照日期進(jìn)行分組處理,對(duì)每個(gè)分組內(nèi)的24個(gè)時(shí)間段進(jìn)行排序,結(jié)合MapReduce模型本身的內(nèi)部排序特點(diǎn)對(duì)日期進(jìn)行排序,得到日期和時(shí)間段均有序的商圈消費(fèi)者規(guī)模數(shù)據(jù)集.整個(gè)BPDA計(jì)算框架處理步驟如圖6.
BPDA計(jì)算框架第二輪詳細(xì)處理過(guò)程如算法4所示,其中,序號(hào)1至序號(hào)9用于判斷一條軌跡記錄的基站stai是否是商圈基站,如果是,保存該基站點(diǎn),并且對(duì)該基站點(diǎn)的連接時(shí)長(zhǎng)乘以基站權(quán)重值進(jìn)行累加;序號(hào)10至序號(hào)19判斷基站stai不是商圈基站,需要判定前一條記錄的基站staraserved是否為商圈基站,如果不是,不作處理,如果是,則需要對(duì)基站staraserved的連接時(shí)長(zhǎng)與時(shí)間閾值§1進(jìn)行判定,小于時(shí)間閾值§1,則累加連接時(shí)長(zhǎng).否則,不作處理;序號(hào)20至序號(hào)26對(duì)用戶與商圈基站的連接時(shí)長(zhǎng)(tbegin,tend,?ttotal)與閾值§2進(jìn)行判定,對(duì)時(shí)間長(zhǎng)度tbegin到tend基于1 h為單位進(jìn)行拆分,分成〈ti,1〉作為Map部分的輸出;序號(hào)31至序號(hào)32對(duì)輸入〈ti,[1,1,1,···]〉按照時(shí)間點(diǎn)ti進(jìn)行聚合成〈ti,numi〉.
圖5 用戶軌跡判定規(guī)則流程圖Fig.5 Trajectory decision rules
圖6 BPDA整體處理流程圖Fig.6 BPDA processing flow
算法4 商圈消費(fèi)者規(guī)模統(tǒng)計(jì)算法
這一節(jié)給出具體實(shí)驗(yàn).實(shí)驗(yàn)是以中山公園商圈為例,對(duì)該商圈的輪廓進(jìn)行圈定,計(jì)算商圈基站的權(quán)重值以及對(duì)該商圈消費(fèi)者規(guī)模進(jìn)行統(tǒng)計(jì)與分析.
6.1 實(shí)驗(yàn)數(shù)據(jù)
實(shí)驗(yàn)數(shù)據(jù):本文使用上海某通訊運(yùn)營(yíng)商提供的用戶連接基站OIDD數(shù)據(jù)以及商圈基站點(diǎn)數(shù)據(jù).這些數(shù)據(jù)包括3 200 000名用戶從2014年8月15日至2015年3月1日(共208 d)期間用戶連接基站OIDD數(shù)據(jù),數(shù)據(jù)源大小約為1.6 TB,以及238個(gè)用戶標(biāo)注的商圈基站點(diǎn).具體數(shù)據(jù)格式如下.
此外,本文還隨機(jī)選取了96名志愿者的移動(dòng)軌跡數(shù)據(jù)對(duì)BPDA計(jì)算框架的準(zhǔn)確性和精確度進(jìn)行驗(yàn)證.志愿者每月平均商圈消費(fèi)次數(shù)分布情況和志愿者每月平均經(jīng)過(guò)商圈次數(shù)分布情況如表1和表2所示.
表1 志愿者商圈消費(fèi)次數(shù)分布Tab.1 Business consumption time distribution
表2 志愿者經(jīng)過(guò)商圈次數(shù)分布Tab.2 Business passing time distribution
6.2 實(shí)驗(yàn)環(huán)境及相關(guān)設(shè)置
本實(shí)驗(yàn)采用的是40個(gè)節(jié)點(diǎn)的Hadoop集群,每個(gè)節(jié)點(diǎn)運(yùn)行的操作系統(tǒng)為RedHat Linux version 6.7,處理器為Intel(R)Xeon(R)CPU E5620,主頻為2.40 GHZ,軟件版本為Hadoop2.6.
對(duì)于商圈輪廓識(shí)別模塊,設(shè)置商圈識(shí)別算法的閾值τ為30,商圈輪廓優(yōu)化算法的閾值τ2為15.對(duì)于消費(fèi)者規(guī)模統(tǒng)計(jì)模塊,通過(guò)多次實(shí)驗(yàn)分別計(jì)算用戶離開(kāi)商圈的閾值§1以及商圈的停留時(shí)間閾值§2所對(duì)應(yīng)的F1-score,最終設(shè)置§1為30 min,§2為60 min.
6.3 閾值確定
在判定用戶來(lái)商圈消費(fèi)的規(guī)則當(dāng)中,對(duì)商圈停留時(shí)間閾值的選取做了如下計(jì)算.采樣1 000個(gè)用戶在30 d里的不同用戶移動(dòng)軌跡數(shù)據(jù),通過(guò)人工標(biāo)注的方式得到有581 d存在用戶來(lái)商圈消費(fèi)行為,以10 min為步長(zhǎng),遞增時(shí)間閾值,進(jìn)行多組實(shí)驗(yàn),然后分別計(jì)算每組實(shí)驗(yàn)的Recall和Precision值;再通過(guò)公式來(lái)計(jì)算F1-score,公式為
其中,i代表停留時(shí)長(zhǎng),Pi代表i停留時(shí)長(zhǎng)的準(zhǔn)確率,Ri代表i停留時(shí)長(zhǎng)的召回率,Tp代表計(jì)算出來(lái)的真實(shí)商圈消費(fèi)行為,Fp代表錯(cuò)誤商圈消費(fèi)行為,Fn代表未計(jì)算出來(lái)的真實(shí)商圈消費(fèi)行為.
通過(guò)實(shí)驗(yàn)分析可以得出,當(dāng)時(shí)間閾值§2選擇為接近60 min的時(shí)候,如圖7中的紅色三角形位置,F1-score為最高值0.859.
(1)圖8是商圈識(shí)別算法的性能示意圖,該算法的時(shí)間復(fù)雜度為O(m×n+n2),m為基站數(shù),n為商圈覆蓋點(diǎn)數(shù),k為k NN分類器參數(shù).圖中對(duì)比了k NN算法k分別值為3,5,7的時(shí)候,不同分辨率(即不同數(shù)目的商圈覆蓋點(diǎn))對(duì)應(yīng)的時(shí)間性能.從圖中可以看出,隨著k值的增大,由于算法要判斷的排序之后的Top k的個(gè)數(shù)增加,算法耗時(shí)也相應(yīng)增大.例如,當(dāng)分辨率為100×100的時(shí)候,k=3的耗時(shí)為1.974 s,k=7的耗時(shí)為2.441 s.同時(shí),也可以看出,對(duì)于同一個(gè)k值而言,隨著分辨率成倍增長(zhǎng),算法的耗時(shí)以二次方增長(zhǎng).例如,對(duì)于k=3,當(dāng)分辨率為100×100時(shí),時(shí)耗為1.974 s,當(dāng)分辨率為1 000×1 000時(shí),耗時(shí)為191.15 s,分辨率增長(zhǎng)10倍,耗時(shí)也增長(zhǎng)接近100倍.
圖7 F1-score隨時(shí)間閾值變化圖Fig.7 F1-score threshold value
6.4 算法性能分析
圖8 商圈識(shí)別算法時(shí)間代價(jià)Fig.8 Business recognition time complexity
(2)圖9是商圈輪廓優(yōu)化算法的性能示意圖,該算法時(shí)間復(fù)雜度為O(n2),n為商圈識(shí)別算法所保留的商圈覆蓋點(diǎn).從圖中可以看出,隨著分辨率的增加,算法耗時(shí)也接近線性增長(zhǎng).圖中舉例k=3的時(shí)候,當(dāng)分辨率為1 000×1 000,算法處理時(shí)間為40 s,算法性能比較好.
圖9 商圈輪廓優(yōu)化算法時(shí)間代價(jià)Fig.9 Business optimizing time complexity
(3)表3是時(shí)間閾值§1和§2分別為不同值時(shí)BPDA計(jì)算框架的準(zhǔn)確度、召回率以及F1-score的變化情況.隨著閾值§1的增大,更多用戶在商圈外部邊緣的停留時(shí)間被計(jì)入統(tǒng)計(jì),從而可能導(dǎo)致更多經(jīng)過(guò)商圈的移動(dòng)軌跡無(wú)效記錄被計(jì)入統(tǒng)計(jì),進(jìn)而導(dǎo)致統(tǒng)計(jì)的準(zhǔn)確率降低,同時(shí)也會(huì)使得小于停留時(shí)間閾值§2的有效移動(dòng)軌跡記錄納入統(tǒng)計(jì),從而召回率增大;隨著閾值§2的增大,更多經(jīng)過(guò)商圈小于時(shí)間閾值的無(wú)效記錄被刪除,保留更多在商圈停留時(shí)間大于時(shí)間閾值的有效記錄,因此統(tǒng)計(jì)的準(zhǔn)確率會(huì)增大,同時(shí)會(huì)有小于停留時(shí)間閾值§2的有效移動(dòng)軌跡記錄沒(méi)有計(jì)入統(tǒng)計(jì),從而導(dǎo)致召回率下降.由圖8中紅色記錄可以看出當(dāng)§1為1 800 s、§2為3 600 s時(shí), F1-score為最高值0.859.
表3 BPDA算法性能統(tǒng)計(jì)Tab.3 BPDA performance
(4)表4所示是BPDA計(jì)算框架與其他文獻(xiàn)中的消費(fèi)者規(guī)模統(tǒng)計(jì)算法的性能對(duì)比.文獻(xiàn)[18]和文獻(xiàn)[19]是利用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程來(lái)計(jì)算分析用戶移動(dòng)軌跡數(shù)據(jù)進(jìn)而統(tǒng)計(jì)指定區(qū)域的消費(fèi)者規(guī)模,沒(méi)有特意考慮排除對(duì)商圈工作人員、居住和工作在商圈附近以及路過(guò)商圈的人的統(tǒng)計(jì).此外,沒(méi)有充分考慮用戶移動(dòng)軌跡信號(hào)“跳變”的問(wèn)題,因而沒(méi)有結(jié)合不同的軌跡判定規(guī)則以及時(shí)間閾值對(duì)商圈消費(fèi)者規(guī)模進(jìn)行分類分析統(tǒng)計(jì),準(zhǔn)確率以及召回率比較低;文獻(xiàn)[20]是通過(guò)統(tǒng)計(jì)監(jiān)控視頻中行人的數(shù)量來(lái)對(duì)商圈消費(fèi)者規(guī)模進(jìn)行統(tǒng)計(jì),能夠準(zhǔn)確判定用戶的存在,因而準(zhǔn)確率和召回率都比較高,但是該種方法在適用范圍上具有局限性,且投入成比較大.
(5)圖10是BPDA計(jì)框架基于不同商圈停留時(shí)間閾值以及不同集群計(jì)算節(jié)點(diǎn)的運(yùn)算時(shí)間圖.可以看出,隨著計(jì)算節(jié)點(diǎn)數(shù)的成倍增加,框架整體運(yùn)算時(shí)間大幅度減少,計(jì)算節(jié)點(diǎn)數(shù)由10變?yōu)?0時(shí)候,運(yùn)算時(shí)間接近成倍減少,計(jì)算節(jié)點(diǎn)繼續(xù)增加,框架運(yùn)算時(shí)間減少幅度變小;從對(duì)比時(shí)間閾值為600 s的黑線和3600 s的藍(lán)線可以看出,相同數(shù)目的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的計(jì)算時(shí)間相差較大,可以得出真實(shí)用戶移動(dòng)軌跡中存在大量的短時(shí)間商圈停留,即用戶經(jīng)過(guò)商圈的記錄.
表4 BPDA算法性能對(duì)比Tab.4 BPDA performance contrast
圖10 BPDA算法運(yùn)行效率示意圖Fig.10 BPDA time cost
6.5 實(shí)驗(yàn)結(jié)果分析
(1)圖11是中山公園商圈輪廓.圖11(a)是商圈矩形覆蓋點(diǎn)示意圖;圖11(b)是k NN分類器分類之后的商圈輪廓,可以看出該輪廓中黑線標(biāo)注的部分存在明顯的覆蓋點(diǎn)堆積的現(xiàn)象;圖11(c)是利用輪廓優(yōu)化算法優(yōu)化過(guò)的商圈輪廓,可以看出圖中的商圈輪廓更加清晰自然.
圖11 商圈輪廓精細(xì)化示意圖Fig.11 Business outline sample
(2)圖12是BPDA計(jì)算框架統(tǒng)計(jì)中山公園商圈的正常工作日與周末消費(fèi)者規(guī)模對(duì)比圖.橫軸為一天不同的時(shí)間段,縱軸為商圈有效消費(fèi)者規(guī)模大小.圖中有4條曲線,黑色曲線代表周六的時(shí)候消費(fèi)者規(guī)模變化情況,紅色曲線代表周日的消費(fèi)者規(guī)模變化情況,藍(lán)色和紫色曲線分別代表正常工作日周三和周五的消費(fèi)者規(guī)模變化情況.
由圖12中可以看出,總體來(lái)講,中山公園商圈周末比工作日的消費(fèi)者規(guī)模大很多.周末的消費(fèi)者規(guī)模高峰期出現(xiàn)在14:00左右,只有一個(gè)波峰,而且高峰期兩端分布比較均勻,呈高斯分布.周六消費(fèi)者規(guī)模比周日消費(fèi)者規(guī)模稍大,這與很多消費(fèi)者周六選擇逛街消費(fèi),周日選擇休息的生活習(xí)慣吻合.周三和周五消費(fèi)者規(guī)模分別有兩個(gè)波峰,第一個(gè)高峰期出現(xiàn)在13:00左右,第二個(gè)高峰期出現(xiàn)在晚上18:00左右,這與上班族下班之后去商圈消費(fèi)比較符合,而且周五高峰期的消費(fèi)者規(guī)模比周三相對(duì)較大,這也符合大多數(shù)人會(huì)選擇在周五晚上商圈聚餐、娛樂(lè)、消費(fèi)的習(xí)慣.
圖12 商圈的不同時(shí)段消費(fèi)者規(guī)模分布圖Fig.12 Human traffi c distribution
本文基于Kafka、Hadoop大數(shù)據(jù)平臺(tái),提出了對(duì)商圈消費(fèi)者規(guī)模進(jìn)行統(tǒng)計(jì)分析的大數(shù)據(jù)處理方法.首先,對(duì)于商圈范圍不確定性,利用分類模型k NN對(duì)商圈的輪廓范圍進(jìn)行了有效圈定;其次,由于用戶移動(dòng)軌跡模糊性,根據(jù)商圈基站的不同位置,計(jì)算不同基站點(diǎn)的權(quán)重值;最后,利用大數(shù)據(jù)計(jì)算框架BPDA結(jié)合用戶軌跡判定規(guī)則以及時(shí)間閾值,對(duì)商圈有效消費(fèi)者規(guī)模按時(shí)段進(jìn)行統(tǒng)計(jì)分析.在未來(lái)的研究工作中,將會(huì)基于當(dāng)前的研究工作,采用更多的分類和聚類模型,對(duì)商圈內(nèi)消費(fèi)者的性別、年齡、收入情況等信息進(jìn)行挖掘,從而有助于提高商家廣告投放的精準(zhǔn)性,幫助商家創(chuàng)造更大的經(jīng)濟(jì)價(jià)值.
[1]YUAN J,ZHENG Y,XIE X.Discovering regions of diff erent functions in a city using human mobility and pois[C]//Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.2012:186-194.
[2]YUAN N J,ZHENG Y,XIE X,et al.Discovering urban functional zones using latent activity trajectories[J]. IEEE Transactions on Knowledge&Data Engineering,2015,27(3):712-725.
[3]QI G,LI X,LI S,et al.Measuring social functions of city regions from large-scale taxi behaviors[C]//IEEE International Conference on Pervasive Computing and Communications Workshops.IEEE,2011:384-388.
[4]GODDARD J B.Functional regions within the city centre:A study by factor analysis of taxi fl ows in central London[J].Transactions of the Institute of British Geographers,1970,49(49):161-182.
[5]VATSAVAI R R,BRIGHT E,VARUN C,et al.Machine learning approaches for high-resolution urban land cover classifi cation:A comparative study[C]//Proceedings of the 2nd International Conference on Computing for Geospatial Research&Applications.ACM,2011:Article No 11.
[6]ANTIKAINEN J.The concept of functional urban area(Findings on the ESPON project 1.1.1)[J].Informationen Zur Raumentwicklung,2005,7:447-456.
[7]KARLSSON C.Clusters,functional regions and cluster policies[R/OL].JIBS CESIS Electron,Working Paper Ser(84).[2016-06-01].https://www.researchgate.net/publication/5094404.
[8]BIRANT D,KUT A.ST-DBSCAN:An algorithm for clustering spatial–temporal data[J].Data&Knowledge Engineering,2007,60(1):208-221.
[9]CHEN X C,FAGHMOUS J H,KHANDELWAL A.Clustering dynamic spatio-temporal patterns in the presence of noise and missing data[C]//Proceedings of the 24th International Joint Conference on Artifi cial Intelligence (IJCAI 2015).2015:2575-2581.
[10]BIRANT D,KUT A.ST-DBSCAN:An algorithm for clustering spatial-temporal data[J].Data&Knowledge Engineering,2007,60(1):208-221.
[11]SLINK S R.An optimally effi cient algorithm for the single-link cluster method[J].The Computer Journal,1973, 16(1):30-34.
[12]ZHANG M L,ZHOU Z H.ML-k NN:A lazy learning approach to multi-label learning[J].Pattern recognition, 2007,40(7):2038-2048.
[13]ZHANG H,BERG A C,MAIRE M,et al.SVM-KNN:Discriminative nearest neighbor classifi cation for visual category recognition[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society,2006:2126-2136.
[14]LI L,WEINBERG C R,DARDEN T A.Gene selection for sample classifi cation based on gene expression data: study of sensitivity to choice of parameters of the GA/k NN method[J].Bioinformatics,2001,17(12):1131-1142.
[15]李秀娟.k NN分類算法研究[J].科技信息,2009,31:81+383.
[16]WBITE T.O’Reilly:Hadoop權(quán)威指南[M].周敏奇,王曉玲,金澈清,等,譯.第2版.北京:清華大學(xué)出版社,2011.
[17]章志剛,金澈清,王曉玲,等.面向海量低質(zhì)手機(jī)軌跡數(shù)據(jù)的重要位置發(fā)現(xiàn)[J].軟件學(xué)報(bào),2016,7:1700-1714.
[18]吳松,雒江濤,周云峰,等.基于移動(dòng)網(wǎng)絡(luò)信令數(shù)據(jù)的實(shí)時(shí)人流量統(tǒng)計(jì)方法[J].計(jì)算機(jī)應(yīng)用研究,2014(3):776-779.
[19]沈澤,吳松,楊勇,等.移動(dòng)通信網(wǎng)信令處理平臺(tái)的實(shí)時(shí)人流量統(tǒng)計(jì)方法[J].廣東通信技術(shù),2013,8:56-60.
[20]肖江,丁亮,束鑫,等.一種基于計(jì)算機(jī)視覺(jué)的行人流量統(tǒng)計(jì)方法[J].信息技術(shù),2015,8:22-25.
(責(zé)任編輯:李藝)
Business circle population mobility statistics based on mobile trajectory data
LIU Zhi,LIU Hui-ping,ZHAO Da-peng,WANG Xiao-ling
(Institute for Data Science and Engineering,School of Computer Science and Software Engineering,East China Normal University,Shanghai 200062,China)
With the advancement ofurbanization and continentaldevelopment ofbig data technology,smart business has become an important part of smart city construction.The popularity,consumer number scale and consumption level of smart business also become the hot spot in the construction of smart city.However,traditional consumer statistics method is based on traditional survey and sampling,etc.All of these traditional methods are high-cost and ineffi cient.Fortunately,the fast development of data mining technology makes statistics in business circle by analyzing user behavior trajectory data possible.In this paper,we propose a consumer scale analysis method on business circle using usertrajectory data.There are three mainly work parts:①How to determine the realboundary of business circle in trajectory data analysis domain is a primary problem,and we can judge a consumer activity within or outside the business circle based on it.Facing this issue,we raise a new method to delineate business circle using k-Nearest Neighbor(k NN) classifi cation algorithm based on the location of base station within business circle.②How to determine the relationship between user and business circle is also a new problem due to uncertainty of trajectory characteristics.We calculate irregular polygon area to evaluate the weight of each base station and also combine with time threshold in order to analyze consumer scale every day.③Finally,considering large amounts in trajectory data, we propose a big data computing framework BPDA(Business-Circle Parallel Distributed Algorithm),which is based on Hadoop big data platform and Kafka distributed message system,to implement business circle consumers scale analysis system.Moreover,we take Zhongshan Park business circle as an instance to verify the feasibility of our algorithm.
mobile trajectory data;consumer scale analysis;k NN classification algorithm;business circle outline
TP311
A
10.3969/j.issn.1000-5641.2017.04.009
1000-5641(2017)04-0097-17
2016-07-20
劉志,男,碩士研究生,研究方向?yàn)閿?shù)據(jù)挖掘.E-mail:lyz8538350@126.com.