張 徐 聶文惠
(江蘇大學計算機科學與通信工程學院 鎮江 212013)
隨著城市化進程的快速推進,交通擁擠問題愈發嚴重[10]。共享單車作為城市公共交通的創新形式,有力緩解了人們出行困難的現象。然而各城市在逐步推進共享單車建設的同時,也伴隨著一系列的問題,“租車難,還車難”成了共性問題[1]。因此預測城市共享單車需求量對于整個共享單車系統來說,具有重要的現實意義。
共享單車是一種極容易受環境影響的交通方式,在時間和空間分布上存在高動態性和高關聯性[7~9]。準確高效地對共享單車需求量預測可以優化單車系統的布局,提高系統車輛調度能力。在高需求量的租賃區域,運營商可以投放較多的車輛,而一些偏遠或使用較少的區域則可以減少運營維護。這樣不僅可以節約運營成本,還可以提高服務質量和用戶體驗。
對于城市共享單車需求量預測,Kaltenbrunner A等[2]通過對巴塞羅那社區的共享單車數目和當地人口流動數據的分析,提出了ARIMA模型,對站點單車需求量和狀態進行了預測。Singhvi D等[3]利用線性回歸模型來預測來預測紐約市站點共享單車的需求量;Zhang Y等[4]利用中山市共享單車系統的用戶歷史數據,采用多元線性回歸模型,研究了中山市各個景點對出行需求的影響及站點需求與供給的比例。
以往共享單車需求量預測的算法,絕大部分是通過歷史借還數據建模來進行預測[6]。實際上,由于目前智能信息較為發達[12],共享單車系統能夠提供更詳細準確的單車租還數據,包括借還時間、借還地點、用戶信息等。另外結合天氣,溫度,風速等數據,利用數據分析技術,挖掘影響出行的時空環境因素,可以準確地預測區域實時需求量。
鑒于城市共享單車租賃狀況分布不平衡,在既有研究的基礎上,本文針對RF(Random Forest)算法在處理存在大量冗余數據的數據集方面的缺陷[13],分析RF中各棵樹的強度和相關度之間的關系,提出了FWRF(Feature Weighting Random Forest)算法。改進原有算法的特征選擇,通過增加特征權重,劃分特征區間,組成新的特征子集,從而避免重復選擇冗余數據進行建樹。實驗結果表明,該改進算法能夠提高泛化精度,增強模型的精確度。
定義1邊緣函數(Margin Function)

其中:P(Tk(X)=Y)為正確分類的概率;為錯誤的分類的概率的最大值;Y為正確的分類向量;j為不正確的分類向量。
顯然,邊緣函數越大,分類器的置信度就越高。
每一顆決策樹在森林構建的過程中,存在一個初始數據集和一個未抽取的數據集[18],將未抽取的數據集定義為Ok(x)。Qk(x,yj)為隨機向量x在Ok(x)中分類類別為yi的比例,則其中:

分子為在未抽取數據集Ok(x)中決策樹對應正確分類個數之和;分母為所有未抽取數據集的個數之和;將Q(x,yj)作為RF正確分類的概率估計。
定義2分類強度是評價森林中分類器總體分類能力的量。其值是隨機森林邊緣函數的期望,即:

將式(2)代入到式(3),則分類器的強度估計為
對森林中的每棵樹而言,分類強度越大,則RF分類性能越好。
定義3RF中樹之間的平均相關度為邊緣函數的方差與森林的標準差的平方。即:

其中:


性質1RF的收斂性
所有森林中的決策樹的泛化誤差都收斂于:

其中,k為森林中樹的數目。
泛化誤差:

隨著樹的增加,泛化誤差PE*將趨向一個上界[11],這表明RF算法對未知的實例有很好的擴展,不會隨著決策樹的增加而產生過度擬合的問題[5],但可能會產生一定限度內的泛化誤差。
性質2泛化誤差上界
泛化誤差的影響因素:一是決策樹之間的相關度ρ,二是強度s。
泛化誤差的一個上界:

研究發現泛化誤差界與分類強度s成負相關,相關度ρ成正相關[14],即分類強度s越大,相關度ρ越小,則泛化誤差界越小,隨機森林分類準確度越高。
為了降低RF的誤差上界[15],本文從提高決策樹的分類強度s,降低決策樹之間的相關度ρ等方面進行理論分析和實驗驗證。
共享單車的需求量預測大都采用的是RF模型[8]。RF在建樹過程中用到兩次隨機選擇[12],第一次使用Bagging方法選擇樣本,第二次是隨機選擇特征進行建樹。
RF算法建立決策樹過程中,其中一個重要過程就是隨機特征的選取。在進行節點特征選擇時,并不是全體特征都參與選擇[16],而是從全體特征中隨機選擇F個特征。隨機特征選擇保證了RF算法分類精度,這個過程增加了決策樹構建時的隨機性[11]。
但是如果數據中存在較多冗余特征時,可能會在一定程度上影響RF的泛化能力[17]。在隨機選擇一定數目的特征時,可能同時選中一些冗余特征,這樣建立的“森林”強度將嚴重影響預測結果。
根據冗余特征這一問題,本文認為首先使用一種評估特征重要性的方法來衡量特征與總量的相關程度。本文中選用CCS(Correlation Coefficient Scores)作為對特征進行評估的方法。CCS統計指標是卡爾·皮爾遜設計來衡量兩變量之間關聯程度。其值是通過積差方法計算,以變量與各自平均值的離差為基礎,通過兩個離差相乘來反映兩變量之間相關程度。CCS計算公式如下。

其中,r為屬性與分類屬性之間的關聯度。
相較于離散數據可以直接通過CCS值大小發現兩個屬性之間的相關程度高低,連續數據則需要先對屬性進行離散化,通過建立屬性相關表,然后計算CCS值分析兩屬性間的相關度。
需要說明的是,當樣本數量n較小時,CCS值波動較大,存在部分樣本CCS值接近于1。當樣本數量n較大時,CCS值容易偏小。因此在數據樣本容量n較小時,僅憑CCS值判定屬性之間的密切關系是不嚴謹的。
共享單車實時租賃產生的數據容量較大[10],故本文采用CCS對特征值進行評估,驗證每一個特征對總量的影響程度,然后通過優化特征選擇,提高RF模型的分類學習能力。
綜上分析,增加分類強度,需要提升森林中隨機樹的平均精度。在RF算法建立決策樹的過程中,隨機性特征選擇一定程度上降低樹之間的相關性,提高樹之間的差異性,理論上讓所有特征都有可能參與到森林的構造中[13]。但是共享單車系統由于數據集大,產生的冗余數據也會多,隨機特征選擇時更容易出現重復選中冗余特征的狀況。
為了增加“森林”的強度,本文在利用CCS評估算法對特征重要性進行評估的基礎上,首先分析特征與總量之間的關聯度,計算出一個度量關聯度的值。然后將關聯值作為每個特征的權值,這些權值表示特征和總量的關聯度強弱。最后對權值進行排序,讓特征選擇局限在排序后的特定的范圍。這樣建立的“森林”可以提高單分類樹的精度。
從增加分類強度和減少樹相關度兩方面出發,根據權值排序,將特征空間劃分為兩部分,高相關區間和低相關區間。在選擇特征時,分別從高相關區間選擇ρ比例的特征和低相關區間選擇(1-ρ)比例的特征,組成新的特征子集進行建樹,最終完成森林的構建,如圖1所示。

圖1 特征空間選擇示意圖
Algroithm:FW Random Forest
Output:FW Random Forest
1)Calculate the correlation coefficient value of each feature and assign a weightWto each feature;
2)Use Baging's selection method to select a certain proportion of samplesD=;
3)Sort according to the weightW;
4)Dividing the feature interval into a high correlation interval[1,P]and a low correlation interval[P,N];
For(i=1 toT)
1)use a Bagging selection method to select a certain proportion of samples;
2)Select S features from[1,P],and select N-S features from[P,N],and combine them as new feature subsetsF'=;
3)Output the ensemble of trees
FWRF算法數學定義:

其中,N為特征個數;S為高相關區間選取特征的個數;L為低相關區間選取特征的個數;T為分類樹的個數;F′為特征子集。
則FWRF算法輸出為

RF算法的一個重要優點是可以很快完成對訓練集的分類[11],采用CCS算法對特征加權,只需要在建立決策樹之前計算一次,在時間復雜度上,影響非常小,且不會降低森林的速度。
本文選取的數據集來源于NewYork CityBike官網公開數據,實驗的樣本是2014.8.1~2014.8.15的租賃數據以及當地氣象數據。
在對租賃區域的實時共享單車數據進行預處理時發現,工作日平日里的整個單車流量都是類似的,包括早上高峰時段,白天時段,晚上高峰時段和晚上時段,而周末時段也是相似,包括夜間小時,行程時間和晚上時段。如圖2所示,工作日的整個使用量比休息日的使用量要大得多,而在高峰時間的使用量要比其他時間段的要大得多。所以我們確定兩個時間特征:一天中的一小時和一周中的兩天(工作日一天和休息日一天)。

圖2 時間對租借數的影響
從圖3中可以看出,溫度與用戶租借數之間有著正相關的關系。在騎行最適宜溫度范圍內,租借數會隨著溫度的上升而有所增加。當溫度過低或過高時,用戶租借數會有明顯下降。

圖3 溫度風速對租借數的影響
風速在一定程度上影響共享單車的使用量。圖3說明在不同風速下用戶租借數的分布。可以看出,最適宜的騎行風速為4MPH~9MPH。隨著風速超過10MPH,共享單車的租借數呈下降趨勢。所以我們發現,風速與用戶租借數之間有著負相關的關系。
天氣在很大程度上影響著人們選擇共享單車出行,甚至有著決定性作用。這里研究了晴天,陰天、小雨、雷雨四種情況下的用戶租借數的變化規律。如圖4所示,一般情況下,人們更喜歡晴天選擇共享單車出行,但在陰天和小雨天也會有部分人選擇共享單車出行。在雷雨等極端惡劣的天氣下,幾乎無人選擇共享單車出行,由此可見,天氣對共享單車租借數有著重大的影響。

圖4 天氣對租借數的影響
綜上分析,一共選取了氣象因素(溫度、風速、天氣情況)和時間因素(工作日、非工作日、小時)六個特征,結果分析如下。
分別計算出六個特征的CCS值,然后對它們進行特征排序。

表1 特征的CCS值
根據計算結果,新特征空間為Hour,Temperature,Weather,Windspeed,Workingday,Weekday。本文設置P的值為4,則高相關區間為Hour,Temperature,Weather,Windspeed,低相關區間為Workingday,Weekday。
為了驗證FWRF算法的有效性和通用性,本文隨機選取了一個區域的某一工作日和某一休息日進行了預測,并且與其真實值進行了比較。預測結果如圖5、6所示。

圖5 共享單車需求量工作日預測結果

圖6 共享單車需求量休息日預測結果
實線表示真實值曲線,虛線表示預測值曲線。如圖可知,預測值曲線與真實值曲線具有較高的擬合度,能夠較好地跟蹤各個區域每天每個時段內的共享單車需求量。
為了進一步說明改進后的FWRF模型的優越性,本文將其與默認隨機森林模型在相同條件下進行了實驗。實驗結果如表2。

表2 模型對比
可以看出,改進后的FWRF模型誤差率明顯好于RF模型,并且R2得分也高于RF模型。
為解決城市共享單車租賃區域借還車不平衡現狀,本文對租賃區域進行使用需求量預測。通過分析影響共享單車需求量的因素,挖掘租賃總數在氣象因素和時間因素雙重影響下的變化。利用RF算法在處理分類預測問題的優越性,提出一種改進的RF算法FWRF算法。首先通過分析RF算法中各決策樹的分類強度和相關性之間的關系,提出一種降低分類誤差的特征選擇算法。該算法在建立決策樹前,通過CCS值對特征加權,依據權值的大小進行特征區間劃分,將特征選擇局限于新的特征子集中,調整選擇方式,從而提高泛化能力。實例分析表明,該模型和算法在模型誤差率方面有較大改進,提高了預測使用需求量的精度。