陳方遒,景 云,2,郭思冶
(1.北京交通大學 交通運輸學院, 北京 100044;2.北京交通大學 智慧高鐵系統(tǒng)前沿科學中心, 北京 100044)
高速鐵路(以下簡稱“高鐵”)是國家現(xiàn)代化高質(zhì)量綜合立體交通網(wǎng)的重要一環(huán),能夠有效減少城市間的出行時間,帶動城市經(jīng)濟發(fā)展。高鐵票價是影響出行需求的主要因素,采用浮動定價策略,可以有效協(xié)調(diào)席位資源配置,合理引導旅客需求,提高鐵路企業(yè)客票收益。京滬高鐵于2020年12月23日起實行浮動票價試點,將票價分為9個等級,預售期開始時公布價格,預售期內(nèi)保持價格不變。
目前京滬高鐵浮動定價主要考慮列車的旅行時間、發(fā)車日期是否為周五或者周日兩個因素,未考慮出發(fā)和到達時刻等。本文通過分析旅客出行選擇特征,改進現(xiàn)有的分級浮動定價策略,依據(jù)客座率設計浮動定價方案,從而均衡客流時空分布,提高企業(yè)客票收益。
分析旅客出行選擇行為可以為動態(tài)定價提供依據(jù)。Talluri等[1]構(gòu)建Logit模型研究影響鐵路旅客出行選擇行為的因素,提出鐵路客票動態(tài)定價策略。單杏花[2]通過分析鐵路旅客選擇行為,提出靜態(tài)定價策略和動態(tài)定價策略相結(jié)合的鐵路客票收益管理體系。秦進等[3]在分析旅客出行價格需求彈性的基礎上,構(gòu)建基于Logit模型的客流彈性函數(shù),建立以期望客票總收入最大化為目標的多列車多時段的動態(tài)定價與票額分配協(xié)同優(yōu)化模型,有效提高鐵路運輸企業(yè)的客票總收益水平。
精確預知客流規(guī)律可以為鐵路部門實施動態(tài)定價策略提供關鍵參考。建立客流預測模型是短期客流預測領域最主要的應用方法,Tsai 等[4-5]設計了兩種動態(tài)神經(jīng)網(wǎng)絡模型,在短期客流預測結(jié)果均取得了低于20%的平均絕對百分誤差。王芳杰等[6]通過LightGBM模型預測公交的行程時間,結(jié)果表明該模型關鍵指標均大幅度優(yōu)于參照組。楊文淇[7]建立基于LSTM神經(jīng)網(wǎng)絡的城軌新線開行下常規(guī)公交客流預測模,預測城軌新線開通后的客流量變化情況。單一客流預測模型性能有限,為進一步提升預測能力,融合客流預測模型得到發(fā)展。Davis等[8]利用K-NN和Linear Time-series結(jié)合的融合模型對高速公路交通量進行短時預測;Jing等[9]建立LGB-LSTM-DRS的局部最優(yōu)融合預測模型對城市軌道交通對外客運樞紐進行客流短時預測。
差別定價是一種重要的動態(tài)定價策略,可有效發(fā)揮價格杠桿作用。目前國內(nèi)針對高鐵差別定價問題的研究主要面向同一OD多趟列車展開。張秀敏等[10]通過對同一席位的不同旅客進行市場細分,研究不同情況下的旅客列車席位最優(yōu)定價問題。卜偉等[11]針對同一線路同一距離的高鐵列車應依據(jù)出行時刻、出行人群等維度在票價形成過程中發(fā)揮的作用效果,提出普遍實施差別定價,嘗試多維度折扣。李博[12]在列車運行圖固定的條件下,構(gòu)建離散時間的動態(tài)規(guī)劃聯(lián)合定價模型和同一OD非平行車次間的差別定價模型,研究高鐵動態(tài)定價問題。
綜上所述,目前鐵路客票定價策略研究在旅客出行選擇行為方面,主要通過構(gòu)造敏感函數(shù),研究用動態(tài)定價策略后旅客的選擇行為。在客流預測方面,對道路及城市軌道交通的研究較多,對較強隨機性、非線性及突變性下的高速鐵路客流研究不夠精細;在差別定價方面,主要依靠傳統(tǒng)經(jīng)驗公式、列車單一屬性等因素對列車進行分級,較少研究多影響因素的差別定價策略。
本文提出可處理非時序特征的改進的LSTM模型,對不同價格水平下即將開售車次的余票進行精準預測;利用GBDT算法對乘客的特征變量進行提取,解決了車次余票相同時定價分級問題,針對現(xiàn)行的定價策略提出改進方案。
高鐵客票定價分級就是通過提取高鐵服務特征,預測市場需求,確定實際發(fā)車日不同高鐵車次的票價等級。本模型通過預測發(fā)車日各次列車的上座率,確定票價等級,使得余票緊張的車次價格等級較高。
(1)基礎票價等級為553元。
(2)為方便比較,設定列車運行圖、票價等級與各等級數(shù)量與現(xiàn)行方案一致。
(3)僅考慮二等座的定價策略。
鐵路企業(yè)客票總收入S為
(1)
式中:ek為第k列車的二等座上座人數(shù),可通過發(fā)車日需求預測模型對余票數(shù)進行推算;pk為第k列車的二等座的票價,元。
浮動定價模型為
(2)
s.t.
P=(P1,P2,P3,…,Pj)T
(3)
Ojk=(o1k,o2k,…,ojk)
(4)
o1k+…+ojk=1
(5)
(6)
(7)
式中:P為二等座票價劃分成j個定價等級的票價列向量;Ojk為定價等級j的第k列車編碼向量;ojk為定價等級j的第k列車獨熱碼“one-hot”編碼值,取值0或1;mj為定價等級j的車次數(shù)量;jbase為基礎票價對應的定價等級。
求解該模型,可得到預計票務收入最大化時各列車的定價等級分配模式。
Xk=(x1,x2,…,xt,…,xn)為車次k在票價制定日前n天隨時間變化的時序性特征。利用LSTM層對Xk進行處理,該層中任意t時刻單個LSTM單元的輸出值ht,取決于該時刻輸入門取值ct與輸出門取值ot。ht為
ht=ot×tanh(ct)
(7)
ct取決于遺忘門的取值ft。ft、ct和ot分別為
ft=σ(Wf[ht-1,xt]+bf)
(8)
(9)
ot=σ(Wo[ht-1,xt]+bo)
(10)
it=σ(Wi[ht-1,xt]+bi)
(11)
(12)
(13)
式中:Lk為LSTM層輸出;Wd1為第一個Dense層的權(quán)重矩陣;Wd2為第二個Dense層的權(quán)重矩陣;bd1為第一個Dense層的偏置項;bd2為第二個Dense層的偏置項。
為衡量模型預測準確性,基于均方誤差RMSE,改進的LSTM模型預測誤差E為
(14)
式中:yk為發(fā)車日實際余票數(shù);K為總發(fā)車次數(shù)。
綜上,改進的LSTM模型通過順序連接兩個Dense層,在第一個Dense層中輸入非時序特征,彌補了傳統(tǒng)LSTM模型只能處理序列數(shù)據(jù)的不足。
發(fā)車日需求預測模型涉及全連接單元與LSTM單元兩種單元?;诜聪騻鞑ニ惴?,利用每個單元的權(quán)重矩陣與偏差計算該單元輸出值的梯度,通過鏈式求導,求得所有單元對最終模型輸出值的梯度。沿梯度方向迭代權(quán)重矩陣與偏差,使模型收斂。隨機梯度下降法步驟如下:
Step1設定最大迭代次數(shù)nepochs與學習率α。
Step2隨機抽取某一車次k的特征數(shù)據(jù)[Xk,Jk]。
Step3計算式(1)~式(7)中所有權(quán)重矩陣與偏置項的梯度方向。
Step4沿梯度方向?qū)κ?1)~式(7)中所有權(quán)重矩陣與偏置項進行迭代更新,即Wnew=Wold+α×dW;bnew=bold+α×db。
Step5若達到最大迭代次數(shù),算法終止;否則,返回Step2。
對式(13)直接求導可得其權(quán)重矩陣與偏差對應的梯度值,但由于LSTM單元前向傳播具有兩個方向,且需考慮其門結(jié)構(gòu)特征,因此需使用以下方法對其權(quán)重矩陣與偏差求取對應梯度值。
(15)
(16)
(17)
(18)
式中:
(19)
Ft=dct×ct-1+ot×[1-tanh2(ct)]×ct-1×dht
(20)
Ct=dct×it+ot×[1-tanh2(ct)]×ot×dht
(21)
對于各權(quán)重矩陣,則有
(22)
(23)
(24)
(25)
對于各偏置項,有
(26)
(27)
(28)
(29)
綜上,迭代方向為所有LSTM單元內(nèi)權(quán)重矩陣與偏置項的梯度方向。
由于目前鐵路部門實施“一日一圖”開行模式,存在列車時序性特征Xk不完整或非時序特征Ik不統(tǒng)一的情況,僅使用發(fā)車日需求預測模型會出現(xiàn)無法完整預測所有列車需求的情況。此外,當歷史余票全部為0或因其他因素導致模型輸出余票相同時,仍需要按余票以外的特征進行進一步的等級劃分,確定定價優(yōu)先級。
GBDT為一種集成模型,其集成對象為二分決策模型CART。運用Gini指數(shù)衡量樣本不純度,令D為父節(jié)點樣本集合,則該節(jié)點的Gini指數(shù)G(D)為
(30)
Pc=|c|/|D|
式中:Pc為從父節(jié)點D進入其子節(jié)點c的概率;|·|為計數(shù)函數(shù),保證分裂不具偏向性。D1和D2為父節(jié)點D分裂后的兩個子節(jié)點對應集合,其Gini指數(shù)遞進關系為
(31)
CART算法步驟如下:
Step1遍歷所有特征,尋找Gini指數(shù)最小的節(jié)點D*和對應特征A*。
Step3驗證是否滿足停止分裂條件,滿足則算法終止;否則,轉(zhuǎn)到Step1。
設GBDT內(nèi)由m個CART集成,令CART的輸出分別為T1(Ik),T2(Ik),…,Tm(Ik),則GBDT的輸出gm為
(32)
去掉最后一個CART,GBDT的輸出gm-1(Ik)為
(33)
考慮GBDT可加性,其誤差可泰勒展開,忽略二次以上項式,誤差遞歸形式為
(34)
為保證誤差在添加Tm后下降,即需滿足
E[yk,gm(Ik)]-E[y,gm-1(Ik)]<0
(35)
(36)
將式(34)、式(35)代入式(36),則對于Tm(Ik)有
(37)
式中:Tm(Ik)為負梯度方向。
GBDT算法步驟如下:
Step1初始化CART模型T1(Ik)。
Step3使用CART模型Tm(Ik)擬合 Step2中的負梯度方向。
Step5驗證是否滿足終止迭代條件,滿足,到轉(zhuǎn)Step6;否則,轉(zhuǎn)到Step2。
Step6提取T1(Ik),T2(Ik),…,Tm(Ik)在Step1中尋找到的A*劃分Ik的特征空間。
綜上,本文利用GBDT模型的中間節(jié)點,發(fā)揮其高可釋性特點,劃分高鐵列車非時序特征空間。依據(jù)余票數(shù)據(jù)缺失或相同的車次的非時序特征,對余票數(shù)據(jù)缺失車次利用相似車次進行數(shù)值估計,對余票數(shù)據(jù)相同車次確定優(yōu)先級。
針對歷史數(shù)據(jù)缺失導致無法直接計算出ei和過多車次余票相同導致票價最優(yōu)解不唯一的情況,本文設計基于逐次逼近法的票價等級分配流程,步驟如下:
Step1利用發(fā)車日需求預測模型,預測各數(shù)據(jù)完整車次的余票估計值。
Step2依據(jù)Step1得到的估計值,利用發(fā)車日非時序特征提取模型,構(gòu)建決策樹。
Step3若當日存在數(shù)據(jù)不完整車次,利用Step2中決策樹找到最終節(jié)點,利用該節(jié)點其他車次余票的平均值估計余票。
Step4基于余票數(shù)量從少到多排序,按照價格等級從高到低依次分配,該等級數(shù)量分配完畢后進入下一等級,分配至基礎票價等級時停止分配。
Step5基于余票數(shù)量從多到少排序,按照價格等級從低到高依次分配,該等級數(shù)量分配完畢后進入下一等級,分配至基礎票價等級時停止分配。
Step6余下所有車次分配基礎票價等級。
以上步驟中,若當日存在余票數(shù)相同過多,高定價等級容量不足的情況,需計算各車次優(yōu)先級∑K(A)×10Ad。K(A)為Step2中提取的非時序特征A的判定函數(shù),若存在特征A則取其值為1,反之為-1;Ad為特征A在決策樹中的層數(shù),優(yōu)先級高的車次分配到更高的票價等級。
基于目前京滬高鐵運營情況,參照現(xiàn)行票價分級方式,明確票價等級劃分標準,將票價分為9個等級,見表1;參照京滬高鐵購票流程,選取1個時序特征與4個非時序特征作為模型輸入,見表2。
表1 京滬高鐵現(xiàn)行定價等級劃分標準
表2 模型特征選擇標準
基于表2中特征對現(xiàn)行票價進行相關性分析,結(jié)果見圖1。圖1中,橫縱坐標為特征變量,第i行第j列的方塊顏色深淺表示橫坐標上第i個特征與縱坐標上第j個特征的相關程度,顏色對應的值如右側(cè)色條所示,為相關系數(shù),記為
圖1 特征-票價相關性熱力圖
(32)
式中:X與Y為需要計算的兩個特征變量;cov(X,Y)為X與Y的協(xié)方差;var(X)與var(Y)分別為X與Y的方差。
由圖1可知,票價與旅行時間和停站數(shù)量相關,現(xiàn)行的票價制定策略僅考慮了列車速度相關的因素,缺少對余票、出發(fā)時間和到達時間的考慮。
基于2019年11月京滬高鐵余票數(shù)據(jù),提取表2中的特征進行標準化后,按時間先后順序排序,將前70%數(shù)據(jù)作為訓練集,后30%數(shù)據(jù)作為測試集,預測發(fā)車日需求。
為保證模型復雜度一致,設定所使用的模型均僅由輸入層、循環(huán)層和輸出層組成,循環(huán)層單元數(shù)均設置為32,學習率α均為0.001,模型對比結(jié)果見圖2。
圖2 模型對比結(jié)果
從訓練集效果來看,高鐵旅客需求預測對非時序特征變量較為敏感,考慮非時序特征的改進的LSTM模型比3種常用的深度學習模型誤差更小、魯棒性更強。
從測試集效果來看,RNN模型的均方誤差隨迭代次數(shù)始終上下波動,穩(wěn)健性較差;普通的LSTM與GRU穩(wěn)健性相似,強于RNN但弱于改進的LSTM;改進的LSTM的均方誤差在迭代中穩(wěn)定下降,其穩(wěn)健性顯著高于其他模型。80輪迭代后4種模型的最終誤差見表3。
表3 4種模型最終誤差
由表3可知,改進的LSTM在訓練集中相較于其他三類模型提升幅度約為30%,在測試集中提升幅度約為10%,表明改進的LSTM具有更強的適應能力,且無過擬合現(xiàn)象。
利用GBDT模型提取到的列車特征見圖3,將第4節(jié)中計算所得的車次優(yōu)先級標定在弧上。對由于數(shù)據(jù)缺失無法預測余票情況的車次,按同節(jié)點中余票情況的平均值四舍五入取整估計。
圖3 模型提取特征二分樹
以11月25日的定價體系為例,基于浮動定價模型,求得結(jié)果見表4。由發(fā)車日需求預測結(jié)果可得,當日預計有8次列車余票均為0。因G123為數(shù)據(jù)缺失車次,無法對余票直接進行預測,通過節(jié)點平均,估計當日余票也為0。因此預計當日共9次列車余票為0,超過了最高定價等級的數(shù)量設定,需確定優(yōu)先級?;趫D3所提取的特征進行排序,得到的預計余票及其定價等級排序情況見表4。
表4 11月25日定價等級分配結(jié)果
基于表2特征對表4所得新票價體系進行相關性分析,其中余票使用真實數(shù)據(jù)而非預計余票,去除與旅行時間高度重合的停站數(shù)量特征,按圖1方式進行相關性分析,結(jié)果見圖4。
圖4 特征-新票價相關性熱力圖
可見,新票價體系可有效反應余票緊張程度,并充分考慮了列車出發(fā)與到達時間。從收益管理角度來看,與原票價體系相比,新票價體系下鐵路部門收入提升了24 390元,能夠更好滿足運輸市場需求。
本文針對列車余票與非時序特征相關性大的特點,基于改進的LSTM模型,對發(fā)車日當天余票情況實現(xiàn)精準預測;針對鐵路熱門車次多但該等級車次數(shù)量有限的特點,基于GBDT模型提取列車特征,分配車次優(yōu)先級,同時解決部分車次數(shù)據(jù)缺失問題;構(gòu)建以鐵路企業(yè)收益最大為目標的定價模型,并采用逐次逼近算法求解,提出基于現(xiàn)行浮動定價策略提出改進方案。
算例結(jié)果表明,改進LSTM模型與三種常用深度學習時間序列預測模型相比,需求預測的標準化均方誤差更低;定價模型有效為各列車分配了合理的定價等級,且與現(xiàn)行浮動定價策略相比,所提出改進的浮動定價策略可提高鐵路部門單日收益24 390元。為便于比較,本文在票價分級方式上采用現(xiàn)行票價分級方案。在后續(xù)研究中,將進一步完善考慮多特征融合下的高鐵票價分級方法,構(gòu)建能夠動態(tài)適應客運市場變化、協(xié)調(diào)席位資源配置關系、引導客流需求的浮動定價理論體系。