張娛嘉 張景璐
摘 要:本文利用已有的開放平臺研究現(xiàn)今的餐飲行業(yè)地區(qū)分布,并利用這種方法分析各地餐飲行業(yè)發(fā)展情況和預(yù)測可能的其他可以進(jìn)行商業(yè)活動的地點(diǎn)。以北京作為一個典型案例,本文中演示了分析結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)的方法,以增強(qiáng)應(yīng)用性。
關(guān)鍵詞:大數(shù)據(jù) 餐飲行業(yè) 信息系統(tǒng)
中圖分類號:F724.6 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2018)01(b)-0046-02
現(xiàn)如今大數(shù)據(jù)在人類社會中起到了關(guān)鍵作用,社交媒體網(wǎng)站、新聞門戶網(wǎng)站、數(shù)字地圖導(dǎo)航提供商等軟件上產(chǎn)生的大數(shù)據(jù)為決策者提供了更多的資訊。我們希望大數(shù)據(jù)能幫助我們做出更加合理的決策,然而,很少有關(guān)于大數(shù)據(jù)分析的研究表明對戰(zhàn)略決策的支持。此外,分析數(shù)字地圖導(dǎo)航提供商的大數(shù)據(jù)用于決策支持的方法方法多種多樣,特別是在餐飲行業(yè)。本研究采用科學(xué)研究方法,設(shè)計(jì)并評估“大數(shù)據(jù)分析”的方法,來輔助餐飲企業(yè)制定營業(yè)地點(diǎn)的決策。利用開放平臺上評估分析現(xiàn)今已有的餐飲行業(yè)地區(qū)分布,并利用這種方法分析各地餐飲行業(yè)發(fā)展情況和預(yù)測可能的其他可以進(jìn)行商業(yè)活動的地點(diǎn)。以北京作為一個典型案例,本文中演示了分析結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)的方法,以增強(qiáng)在實(shí)際問題中的應(yīng)用,該方法是通用的,它對其他大數(shù)據(jù)流也同樣有適用性。
1 定位數(shù)據(jù)在現(xiàn)代網(wǎng)路服務(wù)中的重要意義
如今的信息化社會中,來源于個人的自愿分享和各種在線服務(wù)軟件獲得的內(nèi)容,為大數(shù)據(jù)分析創(chuàng)造了很多機(jī)會。而移動互聯(lián)時代,定位無處不在,任何一個應(yīng)用只要想了解用戶的位置,不管是為用戶提供服務(wù)還是用于用戶分析,就一定會用到定位,但僅僅是原始數(shù)據(jù)的獲取,并不能幫助我們得到切實(shí)有用的信息,所以,我們需要使用科學(xué)系統(tǒng)的方法,對原始數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,包括但不限于聚集、抽樣、維歸約離散化、二元化、變量變換等。之后可以進(jìn)行形似化和相異性的度量,但是在對于數(shù)據(jù)的探索之中,數(shù)據(jù)的可視化可以格外清晰地展現(xiàn)數(shù)據(jù)的特征和屬性之間的關(guān)系。在導(dǎo)航服務(wù)網(wǎng)站(如高德、百度地圖等)中,多種類型的數(shù)據(jù)不斷增長,在任何真實(shí)分析項(xiàng)目中,我們都必須處理大量的數(shù)據(jù)。然而,傳統(tǒng)的數(shù)據(jù)管理方法既不能管理如此龐大的數(shù)據(jù)量,也不能處理其有效增長和維護(hù),因?yàn)橄嚓P(guān)數(shù)據(jù)的數(shù)量和速度會迅速增加。
如今的開放平臺能夠提供2D、3D、衛(wèi)星多種地圖形式供開發(fā)者選擇,開放平臺提供的API和SDK可以適應(yīng)各種平臺的地圖構(gòu)建工作,同時還提供強(qiáng)大的地圖再開發(fā)能力和地圖數(shù)據(jù)支持。
2 數(shù)據(jù)的預(yù)處理
數(shù)據(jù)的預(yù)處理是一個非常廣泛的概念,我們?yōu)榱朔治鎏幚肀本┎蛷d地理信息數(shù)據(jù),需要用到以各種方式關(guān)聯(lián)起來的策略和算法,大體上,這一技術(shù)分為兩類,就是選擇分析所需要的數(shù)據(jù)對象和屬性,以及創(chuàng)建改變屬性。借此,我們可以改善數(shù)據(jù)挖掘過程中的各種冗雜工作,減少工作時間,增加效率。
聚集可以將兩個或多個對象合并成單個對象,比如:收集到的餐飲地理數(shù)據(jù),可以將其一個餐館所有的事務(wù)合并成一個餐館事務(wù),那么數(shù)據(jù)的數(shù)量可以減少為餐館的數(shù)量。這里的問題就是在創(chuàng)建這個聚集的事務(wù)時,我們需要考慮到每個屬性的不同,使用不同的方法對數(shù)據(jù)進(jìn)行合并操作,如果是定量屬性,如訪問次數(shù)、餐廳各項(xiàng)價格等,可以通過求和求平均值進(jìn)行處理,而定性屬性可以視其重要程度進(jìn)行化簡和聚集,成為一個集合。這可以幫助我們使用更少的精力時間對龐大數(shù)據(jù)進(jìn)行預(yù)處理,以便于后文中的可視化操作。
3 大數(shù)據(jù)與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫
大數(shù)據(jù)與NoSQL數(shù)據(jù)庫近來被認(rèn)為是完美搭配,但傳統(tǒng)的關(guān)系型數(shù)據(jù)庫也并不能被輕易取代,依舊有著難易度帶的地位。如今的數(shù)據(jù)量時常能夠達(dá)到難以用傳統(tǒng)關(guān)系型數(shù)據(jù)庫處理程度,而且有著越來越多的數(shù)據(jù)不再簡單建立在傳統(tǒng)關(guān)系之上,有了更高的可擴(kuò)展性。正如MySQL凱源數(shù)據(jù)庫最初版本開發(fā)者M(jìn)onty Widenius所言,NoSQL需要著更多的優(yōu)化持續(xù)開發(fā)成本,而很多公司無法負(fù)擔(dān)也無需負(fù)擔(dān)這一成本。大多數(shù)人依舊需要傳統(tǒng)的關(guān)系型數(shù)據(jù)庫來對數(shù)據(jù)進(jìn)行管理,而在單機(jī)的環(huán)境之上SQL具有更強(qiáng)勁的性能表現(xiàn),如本文涉及到的更具體分析部分。只有在集群環(huán)境中,NoSQL在鍵值查找上會比SQL快。
所以,在進(jìn)行限定地區(qū)的具體數(shù)據(jù)和具體數(shù)據(jù)關(guān)系分析中,我們可以進(jìn)一步篩選并找出自己所需的數(shù)據(jù),展示傳統(tǒng)的關(guān)系型數(shù)據(jù)庫進(jìn)行的具體分析??梢詮凝嫶蟮臄?shù)據(jù)之中只選擇我們需要的數(shù)據(jù),通過分析在開放應(yīng)用API獲取的數(shù)據(jù),得到北京市的餐飲服務(wù)信息,分析各個區(qū)餐飲行業(yè)的情況,簡略代碼如下:
for url in urlList:
html = url_open(url)
target = json.loads(html)
gsNo = int(target['count'])
pageNo = divmod(gsNo,20)[0]+1 if divmod(gsNo,20)[1]>0 else divmod(gsNo,20)[0]
cityListNo.append([cityList[i][0],cityList[i][1],gsNo,pageNo])
totalNum = totalNum + gsNo
i = i + 1
# ['010', '北京', 528, 27]
return cityListNo
def get_GSByCity():
for city in cityListNo:
urlList = []
def get_gsList():
cityUrlList = get_GSByCity()
#cityurl為北京市的url
allList = []
for cityUrl in cityUrlList:
cityPoisList = []
for url in cityUrl:
html = url_open(url)
target = json.loads(html)
pagePoisList = target['pois']
cityPoisList.append(pagePoisList)
cityPoisList = sum(cityPoisList,[])
allList.append(cityPoisList)
運(yùn)行程序得到北京市的餐飲服務(wù)數(shù)據(jù),在建立數(shù)據(jù)庫并進(jìn)行可視化之前,先要修改MySQL系統(tǒng)文件保證數(shù)據(jù)和進(jìn)行處理的計(jì)算機(jī)編碼格式保持一致,不然可能會導(dǎo)致數(shù)據(jù)亂碼,并對數(shù)據(jù)可視化造成一定而影響。
建立合適的數(shù)據(jù)庫,將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫。因?yàn)榈玫降臄?shù)據(jù)包含編號、餐廳名稱,所在省市、城市、城區(qū)名稱、具體地址、餐廳風(fēng)格標(biāo)簽和具體經(jīng)緯度數(shù)據(jù),所以,基于得到的數(shù)據(jù)我們可以建立數(shù)據(jù)庫表格,并把數(shù)據(jù)導(dǎo)入到建立的數(shù)據(jù)庫中。
導(dǎo)入成功后,處理數(shù)據(jù),找到各區(qū)餐飲服務(wù)的總體數(shù)量制作成餅圖來直觀感受北京各區(qū)的餐飲分布情況。
顯示數(shù)據(jù)為:海淀區(qū)27%、朝陽區(qū)37%、東城區(qū)18%、西城區(qū)15%、大興區(qū)3%;從這些數(shù)據(jù)可以看出,朝陽區(qū)明顯高于其他地區(qū),說明朝陽區(qū)的餐飲服務(wù)在量的方面領(lǐng)先于其他,綜合朝陽區(qū)的人口情況尤其是遷入遷出情況、面積占比,這一區(qū)域的活躍度相對較高。
4 對于北京餐飲的數(shù)據(jù)可視化
在大多數(shù)的學(xué)科之中通常我們會強(qiáng)調(diào)算法和數(shù)學(xué)方法,而可視化數(shù)據(jù)挖掘在日常生活之中能夠起到直觀的效果。
數(shù)據(jù)可視化的第一步是將信息映射成可視模式,即是把數(shù)據(jù)中的對象、屬性和聯(lián)系應(yīng)射程科室的對象、屬性和聯(lián)系,之后通過選擇做出簡化,將數(shù)據(jù)導(dǎo)出到CSV文件,生成可視化圖像,通過圖像可以觀察需要的結(jié)論。
5 北京餐飲服務(wù)熱力圖
餐飲服務(wù)熱力圖可以觀察到在北京中心城區(qū)之外,還有幾個餐飲服務(wù)業(yè)集中的地區(qū),說明這幾個位置也是人流相對密集的地點(diǎn),在其周圍可能存在較大聚落,可以觀察到其中就有北京首都國際機(jī)場,雁棲湖景區(qū)等位置,說明在中心城區(qū)和大的聚落之外,交通樞紐和風(fēng)景區(qū)也是重要的商業(yè)活動和餐飲服務(wù)業(yè)發(fā)達(dá)的地點(diǎn)。商業(yè)活動由中心城區(qū)向外擴(kuò)散,而在郊區(qū)的交通樞紐和風(fēng)景區(qū)也有零星分布。這一結(jié)果與北京城市規(guī)劃也是相符的,其他采用網(wǎng)格布局(grid layout)的城市可能會顯現(xiàn)出截然不同的結(jié)果。
6 結(jié)語
以上作為一個說明性案例,證明足夠的餐廳地理信息數(shù)據(jù)可以幫助做出熱點(diǎn)預(yù)測決策制定等工作。如利用內(nèi)蒙古的數(shù)據(jù),可以進(jìn)行類似的實(shí)驗(yàn)展示城市餐飲服務(wù)在地理位置上的特征,也可側(cè)面探索居民行為特征。這些數(shù)據(jù)可為餐飲決策者提供參考信息分析競爭者情況,尋找潛在市場,證實(shí)大數(shù)據(jù)處理在分析決策上的效用。還能將其應(yīng)用到其他領(lǐng)域如旅游行程規(guī)劃,可以綜合地理位置、訪問頻率為旅客規(guī)劃行程使用地理定位數(shù)據(jù)顯示附近的餐廳。
參考文獻(xiàn)
[1] J.Bao,Y.Zheng,D.Wilkie,et al.Recommendations in location-based social networks:a survey[J].Geoinformatica,2015,19(3):525-565.
[2] J Miaha,H Q Vu,John Gammackc,et al.A Big Data Analytics Method for Tourist Behaviour Analysis[J].Information & Management,2016,54(6).