謝振東,何建兵,何仕曄,吳金成,徐 鋒,張景奎,冷夢甜
(1. 廣東嶺南通股份有限公司,廣東 廣州 510000;2. 廣東工業(yè)大學(xué) 自動化學(xué)院,廣東 廣州 510006)
隨著社會經(jīng)濟(jì)水平的不斷提高,國民收入不斷增加,越來越多的人開始擁有自己的車輛. 如今巨大數(shù)量的私家車給城市交通造成了擁堵,群眾出行十分不便. 為解決城市交通擁堵的現(xiàn)狀,發(fā)展公共交通是一條重要的途徑[1].
發(fā)展公交出行的同時,需考慮居民出行的成本[2-4].文獻(xiàn)[5-7]提出為構(gòu)建旅客出行成本測度模型,從顯性和隱性兩個角度研究旅客出行成本的成本構(gòu)成并進(jìn)行成本測度,將出行成本分為直接購票費用、其他相關(guān)費用、時間成本、生理成本和心理成本5個方面.而針對交通客流信息的獲取,文獻(xiàn)[8-9]指出公交客流調(diào)查是一項繁瑣和大量耗費人力、財力的工作,實際操作非常困難,采用基于公交IC 卡信息處理來獲取公交客流信息是十分便捷有效的手段. 文獻(xiàn)[1, 10-12]也使用公交IC卡大數(shù)據(jù)對公交客流等進(jìn)行分析,達(dá)到了客流分析的目的.
在交通出行方面,許多研究更傾向于利用交通大數(shù)據(jù)進(jìn)行客流預(yù)測或給予出行建議,而本文利用核密度估計算法對廣州公交IC卡數(shù)據(jù)進(jìn)行建模,并對模型的泛化能力進(jìn)行測試,進(jìn)而分析居民公交出行的時間成本和支出成本,以此為政府對公共交通相關(guān)政策的制定提供建議.
就居民出行成本的分析,在此使用的是核密度估計算法. 核密度估計(Kernel Density Estimation )是在概率論中用來估計未知的密度函數(shù),屬于非參數(shù)檢驗方法之一,由Rosenblatt (1955)和Emanuel Parzen(1962)提出,又名Parzen窗(Parzen window).
一般對于參數(shù)模型的這種基本假定與實際的物理模型之間常常存在較大的差距,這些方法并非總能取得令人滿意的結(jié)果. 而核密度估計完全利用數(shù)據(jù)本身信息,避免人為主觀帶入的先驗知識,從而能夠?qū)颖緮?shù)據(jù)進(jìn)行最大程度近似(相對于參數(shù)估計法).
由于核密度估計方法不利用有關(guān)數(shù)據(jù)分布的先驗知識,對數(shù)據(jù)分布不附加任何假定,是一種從數(shù)據(jù)樣本本身出發(fā)研究數(shù)據(jù)分布特征的方法,因此在統(tǒng)計學(xué)理論和應(yīng)用領(lǐng)域均受到高度的重視.
核密度估計是一種用于估計概率密度函數(shù)的非參數(shù)方法, x1、x2、x3···xn為獨立同分布的n個樣本點,設(shè)其概率密度函數(shù)為f,核密度估計為以下[13-14]:
其中K為核函數(shù),與支持向量機(SVM)、meansift等算法中的核函數(shù)類似,核密度估計中常用的核函數(shù)有Uniform函數(shù),Triangular函數(shù),Biweight函數(shù),Triweight函數(shù),Epanechnikovnormal函數(shù)等. h為平滑參數(shù),稱為帶寬,不同的帶寬會導(dǎo)致最后的擬合結(jié)果差異很大,h選擇得太小,領(lǐng)域中參與擬合的點就會過少,而h選擇得太大,就可能發(fā)生波形融合. h 的選擇視具體情況而定,如果認(rèn)為擬合出來的概率分布曲線過于平坦,可以適當(dāng)降低h參數(shù),如果認(rèn)為擬合出的概率分布曲線過于陡峭,則可以適當(dāng)增大帶寬h.
成本是指為了完成某個特定的任務(wù)或者達(dá)到某個目的所需要付出的代價. 出行成本是指為了完成人或者物品在空間位置上轉(zhuǎn)移所需付出的經(jīng)濟(jì)成本和時間成本的總和.
本文建模時使用了廣州公交地鐵部分IC卡交易數(shù)據(jù),共計543萬條交易記錄,其中公交出行交易記錄246萬條,地鐵出行交易記錄297萬條,涵蓋了工作日和非工作日,具有一定的代表性.
模型測試時,隨機抽取了3 d的數(shù)據(jù)作驗證,共計295萬條,其中公交出行交易記錄共128萬條,地鐵出行交易數(shù)據(jù)共167萬條.
眾所周知,交通出行刷卡數(shù)據(jù)量比較龐大,經(jīng)試驗,一般的數(shù)據(jù)分析工具由于效率不高,無法達(dá)到分析要求. 因此,本文針對海量數(shù)據(jù)分析特征采用了Apache Spark + Hadoop Hive框架.
Hive是建立在Hadoop上的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架.它提供了一系列的工具,可以用來進(jìn)行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲、查詢和分析存儲在Hadoop中的大規(guī)模數(shù)據(jù)的機制. Hive定義了簡單的類SQL查詢語言,稱為HQL,它允許熟悉SQL的用戶查詢數(shù)據(jù). 同時,這個語言也允許熟悉MapReduce開發(fā)者的開發(fā)自定義的Mapper和Reducer來處理內(nèi)建的Mapper和Reducer無法完成的復(fù)雜的分析工作.
Apache Spark是專為大規(guī)模數(shù)據(jù)處理而設(shè)計的快速通用的計算引擎. Spark是UC Berkeley AMP lab(加州大學(xué)伯克利分校的AMP實驗室)所設(shè)計的開源的類Hadoop MapReduce的通用并行框架,是一個通用引擎,可用它來完成各種各樣的運算,包括SQL查詢、文本處理、機器學(xué)習(xí)等.
使用Apache Spark + Hadoop Hive框架,能夠利用Spark以代碼的形式對Hive數(shù)據(jù)庫進(jìn)行Hive SQL查詢,并將查詢結(jié)果返回為方便處理的DataFrame類型,而無需進(jìn)行Hadoop的Mapper和Reducer這一套復(fù)雜的操作. Apache Spark + Hadoop Hive框架能夠有效地節(jié)約代碼編寫時間,并且能夠充分發(fā)揮兩者的優(yōu)點,擁有良好的數(shù)據(jù)處理速度.
在分析出行成本之前,需要對數(shù)據(jù)進(jìn)行處理. 海量的原始數(shù)據(jù)中可能會存在不完整(有缺失值)、不一致或有異常的數(shù)據(jù),會嚴(yán)重影響到核密度估計建模的執(zhí)行效率,甚至可能導(dǎo)致挖掘結(jié)果的偏差,所以進(jìn)行數(shù)據(jù)清洗顯得尤為重要,數(shù)據(jù)清洗完成后就是進(jìn)行或者同時進(jìn)行數(shù)據(jù)集成、轉(zhuǎn)換、規(guī)約等一系列的處理,該處理過程就是數(shù)據(jù)預(yù)處理. 數(shù)據(jù)預(yù)處理一方面是要提高數(shù)據(jù)的質(zhì)量,另一方面是要讓數(shù)據(jù)更好地適應(yīng)特定的挖掘技術(shù)或工具.
從各個地市得來的交易記錄數(shù)據(jù)并不能直接用來進(jìn)行數(shù)據(jù)分析,需要進(jìn)行數(shù)據(jù)的預(yù)處理,具體操作如下[15]:
(1) 對于存在缺失、不完整、不合理(例如離群數(shù)據(jù))的數(shù)據(jù)進(jìn)行處理. 由于數(shù)據(jù)集樣本充足,而存在以上情況的數(shù)據(jù)數(shù)目一般相對較小,可以進(jìn)行舍棄.
(2) 公交卡存在不同的卡類型,大約80種,需要對其進(jìn)行自定義劃分,最終劃分為三類:老年卡,學(xué)生卡和普通卡.
(3) 需要對來自不同地市的交易記錄加入地區(qū)編碼,用以區(qū)分.
(4) 對各地市的交易記錄的數(shù)值進(jìn)行數(shù)據(jù)規(guī)約,例如交易日期與時間需要處理成符合處理條件的格式、票價需要轉(zhuǎn)換成Apache Spark相關(guān)操作需要的數(shù)據(jù)類.
本文對IC卡數(shù)據(jù)的預(yù)處理使用python的pySpark模塊,pySpark模塊是Spark的pyhton語言實現(xiàn),將IC卡數(shù)據(jù)讀成DataFrame的形式,以對其進(jìn)行方便的處理.
居民出行的成本一般體現(xiàn)在出行支出成本和出行時間成本兩個方面,因此,本文正是基于以上兩方面進(jìn)行建模,建模使用核密度估計算法,能夠客觀地對樣本數(shù)據(jù)進(jìn)行最大程度的近似(相對于參數(shù)估計).在數(shù)據(jù)建模之前,首先需要為待訓(xùn)練的數(shù)據(jù)擬定特征和標(biāo)簽.
經(jīng)分析,影響出行支出成本的因素主要包括出行方式(公交或地鐵等,本次研究使用的數(shù)據(jù)僅包含公交和地鐵交易數(shù)據(jù))、所在地市區(qū)域(不同地區(qū)的票價花費、優(yōu)惠政策等可能存在不同)、公交卡類型(不同類型公交卡存在不同的優(yōu)惠方式),因此核密度估計算法在出行支出成本分析中選取的特征應(yīng)主要包括:出行方式、所在地市區(qū)域、公交卡類型、交易日期時間和交易金額,前4項作為出行支出成本分析的區(qū)分條件,交易金額作為核密度估計算法的輸入.
影響出行時間成本的因素主要有出行方式(若出行時間不在居民出行高峰期,地鐵相對于公交來說一般更快)、出行時間(居民出行存在高峰期,如上下班、節(jié)假日等,不同的時間段對出行的時間成本存在影響)、所在地市區(qū)域(不同城市的人口數(shù)量、人群類型數(shù)量、經(jīng)濟(jì)發(fā)展程度等都對出行時間造成影響),因此核密度估計算法在出行時間成本分析中選取的特征應(yīng)主要包括:出行方式、所在地市區(qū)域、公交卡類型、交易日期時間和出行時間,前4項作為出行時間成本分析的區(qū)分條件,出行時間作為核密度估計算法的輸入.
在出行支出、時間成本分析中,核密度估計算法的輸出能夠分別體現(xiàn)不同時間、地區(qū)等條件下居民出行的消費密度與時間密度.
3.1.1 模型建立
國家給予苗族銀飾傳承人一定的資金幫助促進(jìn)其發(fā)展傳承,同時組織相關(guān)人員將苗族銀飾的制作流程整理成冊并且出版發(fā)行。此外,國家完善了相關(guān)法律制度,形成了一套各級政府相輔相成的管理發(fā)展體制。
對于核密度估計算法,首先需要確認(rèn)帶寬參數(shù),以廣州公交地鐵票價為例,出行方式的最小出行支出成本級差為0.6元(一般出行票價均以1元為單位遞增,15次以后6折),而帶寬代表計算概率密度時所覆蓋的范圍,若過大則會讓概率密度曲線更平緩,較難看出各個出行支出成本的概率密度差異,若過小,則會讓差異顯得太過突出,影響判斷. 故在0.6附近取支出成本帶寬h,核函數(shù)為Epanechnikov曲線,樣本數(shù)量n為5 435 883,出行支出成本的模型為:
當(dāng)h分別取0.4,0.5,0.6,0.7,0.8時,對其輸出的概率密度積分,都能得到相應(yīng)的概率,表1是8種出行支出范圍的概率,圖1是其各自的核密度曲線.
表1 模型估計概率表Tab.1 Model estimation probability
3.1.2 模型評估
為驗證核密度估計算法模型的準(zhǔn)確性與合理性,使用訓(xùn)練數(shù)據(jù)集的數(shù)據(jù)進(jìn)行測試評估.
驗證方法為:計算訓(xùn)練數(shù)據(jù)集分別在各個支出范圍內(nèi)的概率,與模型估計的相應(yīng)支出范圍的概率進(jìn)行對比,計算得到平均偏差,訓(xùn)練數(shù)據(jù)集統(tǒng)計得到的頻率(由于樣本集足夠的龐大,足以將頻率近似為概率)如表2所示,相應(yīng)的偏差值如表3所示.
圖1 各帶寬h下的支出成本核密度曲線圖Fig.1 The kernel density curve of expenditure cost under each bandwidth h
表2 模型估計概率表Tab.2 Model estimation probability
表3 偏差值表Tab.3 The deviation value
可以看出,帶寬h取值越小偏差越小,精度越高,但是其相應(yīng)的核密度曲線圖越不平滑;當(dāng)h取0.6時,曲線相對平滑、偏差也相對較小,這種偏差是允許的,如果算法模型的偏差太過于小,便說明模型呈過擬合,泛化效果便相對較差. 因此h取0.6作為帶寬是相對合適的.
3.1.3 模型泛化能力測試
計算可得模型估計概率與測試集概率的平均偏差為3.658%,說明模型泛化能力良好,能夠客觀、準(zhǔn)確地反映廣州居民出行支出成本的現(xiàn)實常態(tài).
表4 模型估計的概率與實際概率對比表Tab.4 Model estimation probability and actual probability
3.1.4 模型分析
根據(jù)廣州市統(tǒng)計局最新報告,2016年廣州市城鎮(zhèn)居民可支配收入為4 245元/月,而從2018年7月1號開始,廣州市的月最低工資標(biāo)準(zhǔn)也升為2 100元/月.而當(dāng)出現(xiàn)支出成本占收入的3%~5%時,公共交通出行幸福指數(shù)是最好的;超過5%指標(biāo)時,則表明公眾承受的票價壓力較大,建議政府加大票價補貼,惠及大部分人群出行.
就廣州市城鎮(zhèn)居民可支配收入水平而言,每月合理的出行支出成本范圍是127.35~212.25元,而根據(jù)出行支出成本核密度曲線以及上節(jié)的表格可以得出,居民公共交通出行票價基本保持在0~8元之間,對相應(yīng)支出范圍上下限的均值以概率加權(quán)并累加(例如0~1元范圍的概率是15.382%,則其加權(quán)值為(1+0)×0.154/2),便能得到平均出行支出為2.285元,以1月30天,每天2次計,則月均出行支出約為137元,符合合理出行支出成本范圍,證明大部分廣州市居民的公共交通出行支出成本幸福指數(shù)已經(jīng)達(dá)標(biāo).
就廣州市月最低工資標(biāo)準(zhǔn)而言,每月合理的出行經(jīng)濟(jì)成本范圍是63~105元,而居民的月均出行支出為137元,并不能完全滿足合理范圍. 需要政府加大對最低工資人群的補助,以提升其公共交通出行經(jīng)濟(jì)成本幸福指數(shù).
3.2.1 模型建立
對于核密度估計算法,需要確認(rèn)的參數(shù)為帶寬,一般來說,各種出行方式的出行時間均以分鐘計,故在1.0左右為時間成本帶寬h取值,核函數(shù)為高斯曲線,樣本數(shù)量n為2 971 884個,出行時間成本的模型為:
當(dāng)h分別取0.5,1.0,2.0,3.0,4.0 時,對其輸出的概率密度積分,能夠都到相應(yīng)的概率,表5是8種出行時間范圍的概率,圖2是其相應(yīng)的核密度曲線.
表5 模型估計概率表Tab.5 Model estimation probability
圖2 各帶寬h下的時間成本核密度曲線圖Fig.2 The kernel density curve of time cost under each bandwidth h
3.2.2 模型評估
為驗證核密度估計算法模型的準(zhǔn)確性與合理性,使用訓(xùn)練數(shù)據(jù)集的數(shù)據(jù),統(tǒng)計各個時間范圍的頻率(樣本足夠大,故可看做概率),相應(yīng)時間范圍的頻率如表6所示.
驗證方法為:使用訓(xùn)練數(shù)據(jù)集分別計算各個時間范圍的時間成本概率,并對模型估計的概率密度進(jìn)行積分,算出相應(yīng)時間范圍的概率并得到偏差,如表7所示.
在以上各個帶寬下,總偏差均比較小,而且當(dāng)帶寬大于1時,偏差隨帶寬增大而逐漸增大,而從核密度曲線可以觀察到h為3時,曲線更平滑而有弧度,故取帶寬h為3相對合適.
3.2.3 模型泛化能力測試
測試數(shù)據(jù)集為樣本數(shù)據(jù)集隨后3 d的數(shù)據(jù),共167萬條,模型估計的概率和實際概率如表8所示.
表6 模型估計概率表Tab.6 Model estimation probability
表7 偏差值表Tab.7 The deviation value
表8 模型估計的概率與實際概率對比表Tab.8 Model estimation probability and actual probability
計算可得模型估計概率與測試集概率的總偏差為2.638%,平均偏差為0.353%,說明模型泛化能力良好,能夠客觀、準(zhǔn)確地反映廣州居民出行時間成本的現(xiàn)實常態(tài).3.2.4 模型分析
通過對出行時間范圍進(jìn)行加權(quán)平均(權(quán)數(shù)為概率),可得到居民出行平均時間成本約為26.227 min,對于廣州大部分居民來說,在工作日的工作時間一般為8 min,睡眠時間大概為8 h,飲食等生理活動時間大概為1.5 h,那么一天剩余的大概時間為6.5 h;非工作日(周末)的睡眠時間大概為8 h,飲食等生理活動時間大概為1.5 h,則每日大概剩余時間為14.5 h.
以每月30天,工作日22天進(jìn)行計算,可以計算得到居民每天加權(quán)剩余時間均值TM為:
居民平均出行時間成本占剩余時間的比例為(以每
天出行2次計):
這是一個可以接受的比例,且公共交通出行時間成本在2 h以內(nèi)是最合理的,當(dāng)出行時間超過2 h,說明交通出行環(huán)境較差,需要政府加大公共交通治理力度,提升公共交通接駁,解決擁堵問題,提升出行體驗. 根據(jù)模型輸出的核密度曲線可以看出:居民公共交通出行時間成本大部分在80 min以內(nèi),且計算得到居民出行平均時間成本約為26.227 min,符合合理的公共交通出行時間成本范圍,說明廣州市居民出行時間成本合理.
解決城市交通擁堵,公共交通是重要的可行方式. 在解決城市交通擁堵的同時也應(yīng)考慮降低居民出行的支出成本與時間成本,以此提高居民出行的幸福指數(shù).
本文從時間成本和支出成本兩個方面,對廣州IC卡數(shù)據(jù)進(jìn)行核密度估計,通過對不同帶寬的選取與評估,得到相對合理的帶寬,最終對模型的泛化能力進(jìn)行評估,算得支出成本分析的平均偏差為3.658%、時間成本分析的平均偏差為0.353%,這是一個合理的偏差范圍,證明模型的泛化能力良好,適用于居民出行成本的評估分析.
本文經(jīng)過建模分析,最終得到廣州市居民出行成本大體是合理的,大部分廣州市居民出行幸福,但是對于收入為最低工資標(biāo)準(zhǔn)的人群來說,廣州市的公交收費仍然不夠友好,需要加大對該人群的補助.