亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SPGAPSO-SVM:一種城市公交客流量預(yù)測(cè)算法

        2020-12-11 01:49:58李雷孝

        林 浩,李雷孝,王 慧

        1(內(nèi)蒙古工業(yè)大學(xué) 數(shù)據(jù)科學(xué)與應(yīng)用學(xué)院,呼和浩特 010080) 2(內(nèi)蒙古自治區(qū)基于大數(shù)據(jù)的軟件服務(wù)工程技術(shù)研究中心,呼和浩特 010080)

        1 引 言

        在現(xiàn)代交通系統(tǒng)中,城市公交交通發(fā)揮著重要職能.相對(duì)于其他出行方式,公共交通具有載客量大、排污量小、成本較低等優(yōu)勢(shì).為了保障城市公交高效有序的運(yùn)營(yíng),不僅需要良好的公交運(yùn)營(yíng)管理方案,有效的運(yùn)營(yíng)調(diào)度同樣必不可少.利用公交相關(guān)信息數(shù)據(jù)進(jìn)行準(zhǔn)確公交客流量預(yù)測(cè)可以為城市公交車的運(yùn)營(yíng)調(diào)度提供有效的決策支持.

        目前國(guó)內(nèi)外學(xué)者在公交客流量預(yù)測(cè)領(lǐng)域已經(jīng)取得了一定的研究成果,研究成果可分為兩類,一類是用數(shù)學(xué)方法建立數(shù)學(xué)規(guī)劃模型或線性預(yù)測(cè)模型來(lái)實(shí)現(xiàn)對(duì)城市公交客流量的預(yù)測(cè).文獻(xiàn)[1]利用多元線性回歸方法建立公交車各個(gè)時(shí)間段的客流量預(yù)測(cè)模型,并通過(guò)城市一卡通數(shù)據(jù)對(duì)模型進(jìn)行了驗(yàn)證[1].文獻(xiàn)[2]采用乘積差分整合移動(dòng)平均自回歸模型(Autoregressive Integrated Moving Average model,ARIMA)對(duì)城市軌道交通的客流量進(jìn)行預(yù)測(cè),實(shí)驗(yàn)結(jié)果表明該模型具有良好的適用性[2].另一類是通過(guò)機(jī)器學(xué)習(xí)的相關(guān)算法構(gòu)建預(yù)測(cè)模型,利用訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,從而預(yù)測(cè)出客流量.文獻(xiàn)[3]使用長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)實(shí)現(xiàn)對(duì)多個(gè)公交站點(diǎn)的客流量預(yù)測(cè),并分析出多個(gè)站點(diǎn)的客流量數(shù)據(jù)間存在相關(guān)性[3].文獻(xiàn)[4]采用基于黃金分割的粒子群算法對(duì)支持向量機(jī)(Support Vector Machine,SVM)的參數(shù)進(jìn)行尋優(yōu),構(gòu)建了混合核SVM客流量預(yù)測(cè)模型[4].文獻(xiàn)[5]根據(jù)徑向基(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)的特點(diǎn)構(gòu)建了多尺度RBF神經(jīng)網(wǎng)絡(luò)的客流量預(yù)測(cè)模型.實(shí)驗(yàn)結(jié)果顯示,RBF神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度快于BP神經(jīng)網(wǎng)絡(luò),更適用于客流量預(yù)測(cè)領(lǐng)域[5].

        由于公交客流量日間變化較大,其數(shù)據(jù)具有非線性、非平穩(wěn)性、潮汐性等特點(diǎn)[6].而SVM作為經(jīng)典的機(jī)器學(xué)習(xí)算法之一,通過(guò)尋求結(jié)構(gòu)風(fēng)險(xiǎn)最小化(Structural Risk Minimization,SRM)來(lái)最小化實(shí)際風(fēng)險(xiǎn),能夠較好地解決非線性數(shù)據(jù)、小樣本和維數(shù)災(zāi)難等問(wèn)題[7].故本文采用SVM進(jìn)行城市公交客流量預(yù)測(cè).SVM算法的性能受其核函數(shù)以及核函數(shù)參數(shù)值的影響.針對(duì)傳統(tǒng)SVM預(yù)測(cè)模型準(zhǔn)確率不高的問(wèn)題,本文在SVM的參數(shù)尋優(yōu)階段采用基于遺傳算法(Genetic Algorithm,GA)和粒子群算法(Particle Swarm Optimization,PSO)的混合啟發(fā)式算法輔助SVM確定核函數(shù)參數(shù).混合啟發(fā)式算法相比單一啟發(fā)式算法,計(jì)算量必定更大,耗時(shí)必定更長(zhǎng).針對(duì)混合啟發(fā)式算法速度較慢的問(wèn)題,分析了影響算法速度的原因,對(duì)混合啟發(fā)式算法基于Spark平臺(tái)進(jìn)行了并行化設(shè)計(jì),并以此提出了SPGAPSO-SVM算法.使用SPGAPSO-SVM算法訓(xùn)練公交客流量預(yù)測(cè)模型,進(jìn)而預(yù)測(cè)公交客流量可以在提高預(yù)測(cè)準(zhǔn)確率的同時(shí)減少算法運(yùn)行時(shí)間,進(jìn)一步提高公交客流量預(yù)測(cè)的效率.

        2 SVM算法優(yōu)化

        2.1 支持向量機(jī)

        支持向量機(jī)是Vapnik等提出的一種基于統(tǒng)計(jì)學(xué)習(xí)理論的機(jī)器學(xué)習(xí)方法,根據(jù)用途可分為支持向量回歸機(jī)(SVR)和支持向量分類機(jī)(SVC).基本思想是在空間中尋求最優(yōu)分類面,使得距離超平面最遠(yuǎn)的樣本點(diǎn)之間距離最大.設(shè)n個(gè)樣本集為{((xi,y1)|i=1,2,…,n)},xi∈Rn,其中xi為輸入樣本,yi為輸出樣本.此時(shí)的決策邊界超平面表示如公式(1)所示.

        ωTxi+b=0

        (1)

        通常樣本往往是非線性且不可分的,故需引入懲罰因子C與松弛因子ξ,從而得到非線性SVM,如公式(2)所示.

        (2)

        其中懲罰因子C的作用是調(diào)整誤差,其取值決定了模型因?yàn)殡x群點(diǎn)而帶來(lái)的損失.針對(duì)公式(2)所描述的非線性問(wèn)題,可以通過(guò)引入核方法(KernelTrick)解決.RBF核是實(shí)際中最常用的核函數(shù),其對(duì)應(yīng)的映射函數(shù)可以將樣本空間映射至高維空間,RBF的解析式如公式(3)所示.

        (3)

        g為核函數(shù)半徑,是RBF函數(shù)自帶的一個(gè)參數(shù).g隱含地決定了數(shù)據(jù)映射到新特征空間后的分布,g越大,支持向量越少,而支持向量的個(gè)數(shù)又影響著訓(xùn)練與預(yù)測(cè)的速度.g和公式(3)中σ的關(guān)系如公式(4)所示.

        (4)

        懲罰因子C與核函數(shù)半徑g是SVM模型兩個(gè)非常重要的參數(shù),C和g的取值很大程度上決定了SVM模型的復(fù)雜程度和性能.為了優(yōu)化SVM模型性能,提高回歸預(yù)測(cè)準(zhǔn)確率,本文采用GA和PSO混合優(yōu)化算法輔助SVM尋找最優(yōu)的C與g.

        2.2 遺傳算法優(yōu)化支持向量機(jī)

        遺傳算法是Holland等人受達(dá)爾文進(jìn)化論的啟發(fā),通過(guò)模擬自然界和生物進(jìn)化而被提出的一種元啟發(fā)式算法.GA過(guò)程簡(jiǎn)單,多用于函數(shù)優(yōu)化、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等領(lǐng)域.但GA的種群個(gè)體沒(méi)有記憶,遺傳操作盲目無(wú)方向,故所需要的收斂時(shí)間更長(zhǎng).

        對(duì)于SVM參數(shù)尋優(yōu)問(wèn)題,二進(jìn)制編碼是最常用的編碼方法.二進(jìn)制的編碼、解碼操作簡(jiǎn)單易行;交叉、變異操作便于實(shí)現(xiàn).遺傳算法通過(guò)適應(yīng)度函數(shù)評(píng)價(jià)每一組參數(shù)的適應(yīng)度,來(lái)引導(dǎo)迭代過(guò)程向好的方向進(jìn)行.計(jì)算適應(yīng)度后,根據(jù)個(gè)體的適應(yīng)度選擇個(gè)體,并借助于組合交叉和變異等操作,產(chǎn)生出新的解集種群.

        2.3 粒子群算法優(yōu)化支持向量機(jī)

        PSO是Eberhart博士和Kennedy博士于1995年提出的一種元啟發(fā)式算法.該算法的思路源于鳥群捕食行為,通過(guò)群體中個(gè)體之間的信息傳遞和信息共享來(lái)尋找最優(yōu)解.相較于其他優(yōu)化算法,PSO參數(shù)選取簡(jiǎn)單、收斂速度快,但是PSO也存在著精度較低、易發(fā)散等缺點(diǎn).

        PSO同樣使用適應(yīng)度評(píng)價(jià)粒子的優(yōu)劣程度,通過(guò)適應(yīng)度函數(shù)尋找個(gè)體極值和全局極值,隨后根據(jù)公式(5)、公式(6)更新各粒子的速度及位置.

        v=v1+c1r1(pbest-xi)+c2r2(Gbest-xi)

        (5)

        x=xi-vi

        (6)

        在公式(5)、公式(6)中,v是更新后粒子速度;x是更新后粒子位置;vi是粒子當(dāng)前速度;xi是粒子當(dāng)前位置;c1和c2分別為學(xué)習(xí)因子;r1和r2為(0,1)之間的隨機(jī)數(shù);pbest為個(gè)體極值;Gbest為全局極值.公式(5)中3項(xiàng)相加反映了粒子間的信息共享,通過(guò)個(gè)體的經(jīng)驗(yàn)和種群的經(jīng)驗(yàn)來(lái)決定下一步活動(dòng).

        2.4 GAPSO-SVM預(yù)測(cè)模型

        單一智能算法優(yōu)化SVM在解決復(fù)雜問(wèn)題時(shí)存在許多不足,利用算法之間互補(bǔ)性的混合算法成為近年來(lái)的研究熱點(diǎn).啟發(fā)式算法的混合大體上可分為3類:串行式混合,嵌入式混合,并行式混合.本文根據(jù)文獻(xiàn)[8],總結(jié)PSO算法和GA算法的混合方式、優(yōu)勢(shì)和應(yīng)用如表1所示[8].

        表1 PSO和GA的混合方式、優(yōu)勢(shì)和應(yīng)用Table 1 Hybrid mode,advantages and applicationscenario of PSO and GA

        由表1可知,并行式混合適用于參數(shù)優(yōu)化等問(wèn)題.GA和PSO同為元啟發(fā)式算法,二者均具有智能性和隨機(jī)性.并且GA和PSO都有種群、適應(yīng)度函數(shù)、更新操作、迭代操作等概念,可以共用一個(gè)種群,且均具有并行性.GA比PSO種群更多樣,搜索更全面;PSO比GA算法思想更簡(jiǎn)單,收斂更快速.將GA和PSO結(jié)合成GAPSO-SVM算法,兩者的異同點(diǎn)使得兩種算法在性能上可以克服局限性,實(shí)現(xiàn)互補(bǔ)[9,10].

        2.4.1 GAPSO-SVM算法設(shè)計(jì)

        SVM參數(shù)尋優(yōu)問(wèn)題的關(guān)鍵是尋找最優(yōu)的C與g[11],因此SVM參數(shù)尋優(yōu)問(wèn)題的數(shù)學(xué)模型可以表示為:

        P={gbest,Cbest}

        (7)

        GAPSO-SVM算法將種群分成兩部分,分別進(jìn)行GA操作和PSO操作,每次迭代比較出兩者中較優(yōu)值作為本次迭代的結(jié)果進(jìn)入下次迭代,如公式(8)、公式(9)所示.

        (8)

        (9)

        利用GA和PSO都是通過(guò)迭代尋優(yōu)的共性,將兩個(gè)算法混合并共用一個(gè)最優(yōu)個(gè)體,迭代中充分利用GA的搜索范圍大和PSO快速收斂的能力.將參數(shù)尋優(yōu)后得到C與g作為SVM的運(yùn)行參數(shù)輸入,訓(xùn)練新的SVM預(yù)測(cè)模型,進(jìn)而可求出SVM預(yù)測(cè)模型的準(zhǔn)確率Accuracy.將Accuracy定義為SVM參數(shù)尋優(yōu)問(wèn)題的目標(biāo)函數(shù),則可將GAPSO-SVM算法參數(shù)尋優(yōu)問(wèn)題描述為:

        (10)

        其中g(shù)min和gmax為RBF核參數(shù)g的變化范圍,Cmin和Cmin為懲罰參數(shù)的C變化范圍.最后判斷所得結(jié)果是否滿足終止條件.當(dāng)滿足終止條件時(shí),終止GAPSO-SVM算法的迭代.終止條件如公式(11)所示.

        min{fitnessgabest,fitnesspsobest}≤fitnessmin
        orT≤Tmax

        (11)

        其中finessmin為最小適應(yīng)度,即可接受的最小誤差,T為迭代次數(shù),Tmax為最大迭代次數(shù).

        GAPSO-SVM算法根據(jù)訓(xùn)練數(shù)據(jù)規(guī)模將實(shí)驗(yàn)數(shù)據(jù)切分為訓(xùn)練集和測(cè)試集.對(duì)初始種群分別進(jìn)行GA操作和PSO操作,如果當(dāng)次迭代GA適應(yīng)度優(yōu)于PSO適應(yīng)度,則將GA的最優(yōu)個(gè)體保存下來(lái)用到下一次迭代中.當(dāng)二者的最小值小于最小的適應(yīng)度或迭代次數(shù)超過(guò)了最大迭代次數(shù),則終止迭代,返回最優(yōu)C、最優(yōu)g作為SVM運(yùn)行參數(shù).

        2.4.2 GAPSO-SVM算法耗時(shí)分析

        GAPSO-SVM算法的GA操作和PSO操作均可分為初始化種群、種群更新、計(jì)算適應(yīng)度3部分.初始化種群部分包括參數(shù)初始化、隨機(jī)生成初始化種群、計(jì)算初始化種群適應(yīng)度.種群更新部分包括選擇操作、交叉操作、變異操作、速度更新、位置更新、種群更新.計(jì)算適應(yīng)度部分包括遍歷種群中的所有個(gè)體,并調(diào)用svm_train函數(shù)計(jì)算個(gè)體適應(yīng)度.分別運(yùn)行GA操作和PSO操作20次,其中最大迭代次數(shù)為50,種群規(guī)模為20,計(jì)算并記錄各部分消耗時(shí)間的平均值.運(yùn)行結(jié)果如圖1所示.

        圖1 GAPSO-SVM算法各部分耗時(shí)Fig.1 Time consumptionabout each part of GAPSO-SVM

        由圖1可知,針對(duì)GAPSO-SVM算法而言,種群內(nèi)所有個(gè)體適應(yīng)度的計(jì)算約占總體算法運(yùn)行時(shí)間的91.4%,計(jì)算邏輯較為復(fù)雜的種群更新耗時(shí)約占總體算法運(yùn)行時(shí)間的5.72%,初始化種群約占總體算法運(yùn)行時(shí)間的3.4%.計(jì)算適應(yīng)度耗時(shí)過(guò)長(zhǎng)是因?yàn)槊總€(gè)個(gè)體都需要進(jìn)行一次交叉驗(yàn)證來(lái)計(jì)算樣本均方誤差(Mean Square Error,MSE).如最大迭代次數(shù)為50,種群規(guī)模為20,交叉驗(yàn)證參數(shù)為5,則要進(jìn)行5000次交叉驗(yàn)證.

        針對(duì)計(jì)算適應(yīng)度消耗時(shí)間過(guò)長(zhǎng)的問(wèn)題,本文將采用Spark平臺(tái)對(duì)算法進(jìn)行并行化處理來(lái)減少計(jì)算適應(yīng)度運(yùn)行時(shí)間.

        3 SPGAPSO-SVM算法的提出

        與GA-SVM、PSO-SVM等單一算法優(yōu)化SVM相比,GAPSO-SVM算法邏輯更加復(fù)雜,計(jì)算量必然更大,算法運(yùn)行時(shí)間也必然更長(zhǎng),尤其是計(jì)算適應(yīng)度階段[12].所以本文將GAPSO-SVM算法基于Spark平臺(tái)進(jìn)行并行化處理,提出SPGAPSO-SVM算法,以提高算法的運(yùn)行速度.

        3.1 Spark平臺(tái)

        Spark是專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用的計(jì)算引擎.Spark擁有MapReduce所具有的優(yōu)點(diǎn),并且中間輸出結(jié)果可以保存在內(nèi)存中.因此Spark能更好地結(jié)合數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的MapReduce的算法.在內(nèi)存計(jì)算下,Spark比Hadoop快100倍;在硬盤計(jì)算下,Spark比Hadoop快10倍[13].

        3.2 SPGAPSO-SVM算法設(shè)計(jì)

        SPGAPSO-SVM算法設(shè)計(jì)主要是依賴Spark所特有的彈性分布式數(shù)據(jù)集(Resilient Distributed Datasets,RDD)來(lái)進(jìn)行種群的構(gòu)建、切分和并行化處理.針對(duì)計(jì)算適應(yīng)度耗時(shí)過(guò)長(zhǎng)的問(wèn)題,將種群切分為多個(gè)子種群,并行計(jì)算子種群內(nèi)個(gè)體的適應(yīng)度.本文采用SVM的MSE作為適應(yīng)度函數(shù),適應(yīng)度函數(shù)的計(jì)算公式如公式(12)所示.

        (12)

        3.2.1 SPGA操作

        在SPGA操作開始階段,首先設(shè)置SparkConf參數(shù),用于Spark集群應(yīng)用提交.使用二進(jìn)制編碼將變量編碼成染色體用于隨機(jī)初始化種群.將種群轉(zhuǎn)化為RDD,通過(guò)map(getFitness())并行計(jì)算種群內(nèi)個(gè)體的適應(yīng)度.通過(guò)collect()合并所有個(gè)體適應(yīng)度,隨后比較出最優(yōu)適應(yīng)度.使用輪盤賭方法對(duì)當(dāng)前種群進(jìn)行選擇操作、交叉操作和變異操作以產(chǎn)生新的種群,每個(gè)個(gè)體進(jìn)入下一代的概率如公式(13)所示[14].

        (13)

        反復(fù)以上操作直至滿足終止條件.算法偽代碼如下所示.

        算法1.SPGA

        輸入:conf:Spark初始化參數(shù)

        lenchrom:染色體長(zhǎng)度

        bound:染色體取值范圍

        sizepop:種群規(guī)模

        k:數(shù)據(jù)分區(qū)個(gè)數(shù)

        pcross:交叉概率

        pmutation:變異概率

        輸出:newChrom:迭代后種群

        bestFitness:最優(yōu)個(gè)體適應(yīng)度

        1.ProcedureSPGA(conf,lenchrom,bound,sizepop,k,pcross,pmutation)

        2.sc← sparkConf(conf)

        3.foriinsizepopdo

        4.chrom[i] ← Code(lenchrom,bound)

        5.endfor

        6.populationRdd←sc.parallelize(chrom,k)

        7.times← 0

        8.while(minFitness≥bestFitnessortimes≥maxTimes)do

        9.FitnessRdd←populationRdd.map(getFitness(),k)

        10.fitness←FitnessRdd.collect()

        11.bestFitness← min(fitness)

        12.newChrom← SelectCrossMutation(chrom,fitness,sizepop,pcross,pmutation)

        13.chrom.clear()

        14.times←times+ 1

        15.endwhile

        16.endprocedure

        3.2.2 SPPSO操作

        SPPSO操作的流程和SPGA操作的流程相似.首先設(shè)置SparkConf參數(shù),并隨機(jī)初始化個(gè)體位置和速度.將種群轉(zhuǎn)化為RDD,再通過(guò)map(getFitness())并行計(jì)算種群內(nèi)個(gè)體的適應(yīng)度.SPPSO中適應(yīng)度函數(shù)與SPGA中適應(yīng)度函數(shù)相同,這樣便于比較兩種算法產(chǎn)生的解集種群.通過(guò)collect()合并所有個(gè)體適應(yīng)度.以當(dāng)前種群為基礎(chǔ),據(jù)公式(5)、公式(6)更新個(gè)體位置和速度,隨后比較出個(gè)體最優(yōu)適應(yīng)度和全局最優(yōu)適應(yīng)度[15].反復(fù)以上操作直至滿足終止條件.算法具體偽代碼如下所示.

        圖2 SPGAPSO-SVM算法Fig.2 Flow chart of SPGAPSO-SVM

        算法2.SPPSO

        輸入:conf:Spark初始化參數(shù)

        popmax:粒子位置上界

        popmin:粒子位置下界

        sizepop:種群規(guī)模

        k:數(shù)據(jù)分區(qū)個(gè)數(shù)

        Vmax:粒子最大速度

        Vmin:粒子最小速度

        c:學(xué)習(xí)因子

        輸出:newPop:迭代后種群

        bestFitness:最優(yōu)個(gè)體適應(yīng)度

        1.ProcedureSPPSO(conf,popmax,popmin,sizepop,k,Vmax,Vmin,c)

        2.sc← sparkConf(conf)

        3.foriinsizepopdo

        4.pop[i] ←np.random.rand(2)* (popmax-popmin)+popmin

        5.V[i] ←np.random.rand(2)* (Vmax-Vmin)+Vmin

        6.endfor

        7.populationRdd←sc.parallelize(pop,k)

        8.times← 0

        9.while(minFitness≥bestFitnessortimes≥maxTimes)do

        10.FitnessRdd←populationRdd.map(getFitness(),k)

        11.fitness←FitnessRdd.collect()

        12.bestFitness,bestFitnessForPop← min(fitness)

        13.newPop,V← PopVelocityUpdate(pop,V,c)

        14.Pop.clear()

        15.times←times+ 1

        16.endwhile

        17.endprocedure

        4 相關(guān)實(shí)驗(yàn)與結(jié)果分析

        4.1 實(shí)驗(yàn)環(huán)境

        本文利用libSVM(libraryforsupportvectormachines,LIBSVM)實(shí)現(xiàn)SVM,編程語(yǔ)言為Python.libSVM是一個(gè)支持向量機(jī)的軟件庫(kù),是由臺(tái)灣大學(xué)林智仁教授研發(fā)的SVM分類與回歸的軟件包,其高效易用性得到了廣泛認(rèn)可[16].

        本文通過(guò)虛擬機(jī)搭建的8個(gè)節(jié)點(diǎn)的Spark集群來(lái)驗(yàn)證SPGAPSO-SVM算法性能,每個(gè)節(jié)點(diǎn)CPU數(shù)量為1,節(jié)點(diǎn)內(nèi)存為1G.集群詳細(xì)配置為:CentOS-6.10-x64,Spark-2.1.1-bin-hadoop2.7,hadoop-2.7.2.tar,pyspark-2.3.2,py4j-0.10.8.1,libSVM-3.2.3.SPGAPSO-SVM算法的參數(shù)設(shè)置如表2所示.

        4.2 數(shù)據(jù)預(yù)處理

        本文收集廣州市19路公交車2018年1月-6月6個(gè)月(20180101-20180631)的IC卡交易數(shù)據(jù)作為所用的實(shí)驗(yàn)數(shù)據(jù). 廣州市19路的運(yùn)行時(shí)間為06時(shí)-22時(shí)30分, 故本文只對(duì)該時(shí)間段預(yù)測(cè).原始數(shù)據(jù)共有10個(gè)字段,包括交易時(shí)間、線路名稱、卡片ID等信息.

        表2 SPGAPSO-SVM算法參數(shù)設(shè)置Table 2 Parameters setting of SPPSO

        為了提高數(shù)據(jù)挖掘的質(zhì)量,需要利用Spark對(duì)數(shù)據(jù)進(jìn)行預(yù)處理[17].首先通過(guò)rdd:[(str,str)] = rdd1.zip(rdd2)將數(shù)據(jù)整合為key-value的RDD,其中key為線路編號(hào),value為交易時(shí)間;然后通過(guò)rdd= filter(lambda keyValue:str(keyValue[0])== Line_name)將客流量信息根據(jù)線路編號(hào)分組.在節(jié)假日期間,城市公交客流量相較平日有明顯不同,以旅游、購(gòu)物為目的的出行將明顯增多.因此,需通過(guò)rdd= filter(lambda keyValue:lp<= keyValue[1] <= up)將節(jié)假日的數(shù)據(jù)去掉以提高預(yù)測(cè)的準(zhǔn)確率.由于SVM對(duì)零一之間的數(shù)據(jù)較為敏感,訓(xùn)練速度較快,故對(duì)數(shù)據(jù)進(jìn)行歸一化處理[18].常用的基于極值歸一化公式如公式(14)所示.

        (14)

        其中X為原始數(shù)據(jù),Xmax、Xmin分別為原始數(shù)據(jù)集的最大值和最小值.

        使用libSVM作為SVM的實(shí)現(xiàn)工具,還需要將進(jìn)行篩選過(guò)的數(shù)據(jù)整理為libSVM的輸入格式.libSVM的輸入格式如下.

        Label index 1:value index2:value index3:value

        對(duì)于客流量預(yù)測(cè),Label應(yīng)為目標(biāo)值,index是以1開始的整數(shù),value為訓(xùn)練數(shù)據(jù).

        4.3 實(shí)驗(yàn)結(jié)果分析

        4.3.1 算法準(zhǔn)確率和效率

        算法準(zhǔn)確率采用平均絕對(duì)百分誤差(MAPE)和均方誤差(MSE)評(píng)價(jià),算法效率是指算法執(zhí)行速度的快慢,使用算法程序運(yùn)行消耗的時(shí)間衡量.

        在上述實(shí)驗(yàn)環(huán)境下,采用Python語(yǔ)言對(duì)SVM、PSO-SVM、GA-SVM和SPGAPSO-SVM算法進(jìn)行了實(shí)現(xiàn),并將這4種算法運(yùn)行效果進(jìn)行對(duì)比,以此驗(yàn)證算法的準(zhǔn)確率和效率.采用4.2中經(jīng)過(guò)預(yù)處理的數(shù)據(jù),將每個(gè)算法分別運(yùn)行20次,計(jì)算并記錄其中MAPE的最優(yōu)值、最差值和平均值.運(yùn)行結(jié)果如表3和圖3所示.

        表3 算法的準(zhǔn)確率對(duì)比Table 3 Accuracy comparison of algorithms

        圖3 算法的運(yùn)行時(shí)間對(duì)比Fig.3 Running time comparison of algorithms

        由表3可以看出,針對(duì)客流量預(yù)測(cè)問(wèn)題,傳統(tǒng)SVM算法預(yù)測(cè)準(zhǔn)確率穩(wěn)定在79%;PSO-SVM的最差值與最優(yōu)值相差接近4%,這表明PSO-SVM陷入局部最優(yōu)的概率很高且非常不穩(wěn)定;GA-SVM的表現(xiàn)優(yōu)于PSO-SVM,平均準(zhǔn)確率為85.5%左右;SPGAPSO-SVM算法相比PSO-SVM和GA-SVM準(zhǔn)確率更好,并且平均最優(yōu)值與最差值相差更小證明了其尋優(yōu)穩(wěn)定性更佳,整體預(yù)測(cè)準(zhǔn)確率可以達(dá)到86.71%.實(shí)驗(yàn)結(jié)果表明本文提出的SPGAPSO-SVM算法在客流量預(yù)測(cè)的準(zhǔn)確性上優(yōu)于其他方法.

        對(duì)于GA和PSO來(lái)說(shuō),種群的大小決定了整體算法的計(jì)算量.由圖3可以看出,在計(jì)算量小的情況下,SPGAPSO-SVM算法運(yùn)行所用時(shí)間最長(zhǎng).這是因?yàn)樯暾?qǐng)資源、啟動(dòng)作業(yè)、劃分任務(wù)等基礎(chǔ)消耗時(shí)間大于每個(gè)節(jié)點(diǎn)任務(wù)的計(jì)算時(shí)間.隨著計(jì)算量的增加,3個(gè)算法的運(yùn)行時(shí)間呈近線性增加,并行計(jì)算的優(yōu)勢(shì)越來(lái)越明顯,SPGAPSO-SVM算法運(yùn)行所用時(shí)間將遠(yuǎn)遠(yuǎn)少于GA-SVM和PSO-SVM.實(shí)驗(yàn)結(jié)果驗(yàn)證了本文提出的SPGAPSO-SVM算法比GA-SVM和PSO-SVM運(yùn)行速度更快,算法運(yùn)行所用時(shí)間更短,計(jì)算效率更高.

        本文利用Python語(yǔ)言實(shí)現(xiàn)了RBF神經(jīng)網(wǎng)絡(luò)和LSTM作為典型機(jī)器學(xué)習(xí)算法與本文提出的算法進(jìn)行對(duì)比.其中LSTM的學(xué)習(xí)率為0.01、timestep為32、batchsize為5,RBF神經(jīng)網(wǎng)絡(luò)的參數(shù)通過(guò)網(wǎng)格搜索確定,計(jì)算結(jié)果如表4所示.

        表4 SPGAPSO-SVM與典型機(jī)器學(xué)習(xí)算法對(duì)比Table 4 Comparison between SPGAPSO-SVM and othertypical machine learning algorithms

        由表4可知,本文提出的SPGAPSO-SVM算法的預(yù)測(cè)效果優(yōu)于RBF神經(jīng)網(wǎng)絡(luò)和LSTM.

        4.3.2 收斂曲線對(duì)比實(shí)驗(yàn)

        收斂曲線對(duì)比實(shí)驗(yàn)使用均方誤差(MSE)作為評(píng)價(jià)指標(biāo),用于觀察SPGAPSO-SVM算法在每次迭代中SPGA操作和SPPSO操作的誤差變化和參數(shù)尋優(yōu)的整體收斂速度,從而驗(yàn)證混合算法的是否跳出了局部最優(yōu).在8個(gè)節(jié)點(diǎn)的集群中運(yùn)行SPGAPSO-SVM算法,其中種群大小為100,最大迭代次數(shù)為50,記錄每次迭代的MSE.運(yùn)行結(jié)果如圖4所示.

        圖4 SPGA操作和SPPSO操作的收斂曲線Fig.4 Convergence curve of SPGA and SPPSO

        從圖4可以看出,算法在20代以前收斂速度較快,算法在20代以后收斂速度逐漸變慢.在迭代開始階段,SPGA操作幫助整體算法跳出了局部最優(yōu).在第5次迭代時(shí),SPGA操作陷入了局部最優(yōu),而SPPSO操作幫助整體算法跳出了局部最優(yōu);在第42次迭代時(shí),SPGA操作再次幫助整體算法跳出局部最優(yōu);至此參數(shù)尋優(yōu)算法在最大迭代次數(shù)的限制下收斂至全局最優(yōu)解.實(shí)驗(yàn)結(jié)果驗(yàn)證了SPGAPSO-SVM算法與GA-SVM、PSO-SVM等單一算法優(yōu)化SVM相比具有兩個(gè)優(yōu)點(diǎn):SPGAPSO-SVM算法可以有效克服GA-SVM、PSO-SVM等單一算法優(yōu)化SVM易陷入局部最優(yōu)的問(wèn)題,預(yù)測(cè)的準(zhǔn)確率更高;在最小適應(yīng)度相同的情況下,SPGAPSO-SVM算法比GA-SVM、PSO-SVM等單一算法優(yōu)化SVM所需的迭代次數(shù)更少.

        4.3.3 算法可擴(kuò)展性驗(yàn)證

        算法可擴(kuò)展性實(shí)驗(yàn)用于測(cè)試是否可以通過(guò)增加節(jié)點(diǎn)來(lái)提高算法運(yùn)行速度.實(shí)驗(yàn)基于單個(gè)節(jié)點(diǎn)、2個(gè)節(jié)點(diǎn)、4個(gè)節(jié)點(diǎn)和8個(gè)節(jié)點(diǎn),采用4.2中經(jīng)過(guò)預(yù)處理的數(shù)據(jù),將SPGAPSO-SVM算法運(yùn)行20次,計(jì)算并記錄平均值和加速比.運(yùn)行結(jié)果如圖5和圖6所示.

        圖5 SPGAPSO-SVM算法可擴(kuò)展性實(shí)驗(yàn)Fig.5 Experiments on scalability of SPGAPSO-SVM

        由圖5可以看出,隨著計(jì)算量逐步增加運(yùn)行時(shí)間呈線性增長(zhǎng).當(dāng)種群大小為100時(shí),單個(gè)節(jié)點(diǎn)、2個(gè)節(jié)點(diǎn)、4個(gè)節(jié)點(diǎn)和8個(gè)節(jié)點(diǎn)差別較小.這是因?yàn)槎喙?jié)點(diǎn)集群運(yùn)行程序時(shí),需要申請(qǐng)資源、啟動(dòng)作業(yè)、劃分任務(wù)和分配資源等操作,存在一定的基礎(chǔ)消耗.隨著計(jì)算量的增大,8個(gè)節(jié)點(diǎn)的運(yùn)行時(shí)間將遠(yuǎn)遠(yuǎn)低于4個(gè)節(jié)點(diǎn)、2個(gè)節(jié)點(diǎn)和單個(gè)節(jié)點(diǎn).這是因?yàn)楣?jié)點(diǎn)數(shù)越多,每個(gè)計(jì)算節(jié)點(diǎn)負(fù)責(zé)處理的計(jì)算量就越小.

        加速比是同一個(gè)任務(wù)串行運(yùn)行時(shí)間和并行運(yùn)行時(shí)間的比值,是衡量可擴(kuò)展性的一個(gè)重要指標(biāo).由圖6可以看出,在計(jì)算量小的情況下,加速效果不明顯,這是因?yàn)榧夯A(chǔ)消耗的時(shí)間較多,集群未發(fā)揮到理想的效果.隨著計(jì)算量的逐步增加,加速比呈增長(zhǎng)趨勢(shì)并逐漸趨于理想值.通過(guò)上述實(shí)驗(yàn)結(jié)果分析,進(jìn)一步說(shuō)明了SPGAPSO-SVM算法具有較好的可擴(kuò)展性.

        圖6 SPGAPSO-SVM算法加速比實(shí)驗(yàn)Fig.6 Speedup experiment of SPGAPSO-SVM

        4.3.4 客流量預(yù)測(cè)結(jié)果

        使用4.2中經(jīng)過(guò)預(yù)處理的數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),采用SPGAPSO-SVM算法對(duì)數(shù)據(jù)集最后14天(20180617-20180630)06時(shí)-22時(shí)的公交客流量進(jìn)行預(yù)測(cè),共224小時(shí).將每小時(shí)的預(yù)測(cè)結(jié)果按時(shí)間順序拼接,預(yù)測(cè)結(jié)果與真實(shí)值對(duì)比如圖7所示.

        圖7 客流量預(yù)測(cè)值與實(shí)際值對(duì)比Fig.7 Comparisons between predicted passenger flow and real passenger flow

        通過(guò)圖7可以看出,SPGAPSO-SVM算法對(duì)高峰期客流量預(yù)測(cè)有較高的準(zhǔn)確率,對(duì)低谷期客流量預(yù)測(cè)存在一定偏差.當(dāng)次整體預(yù)測(cè)準(zhǔn)確率為86.71%,當(dāng)次參數(shù)尋優(yōu)后最優(yōu)為0.68,最優(yōu)為15.4873.

        5 結(jié) 論

        本文在對(duì)公交客流量預(yù)測(cè)領(lǐng)域相關(guān)研究成果進(jìn)行深入分析研究的基礎(chǔ)上,針對(duì)GAPSO-SVM算法復(fù)雜度較高和運(yùn)行速度過(guò)慢的問(wèn)題,對(duì)GAPSO-SVM算法基于Spark平臺(tái)進(jìn)行了并行化處理,提出SPGAPSO-SVM算法,該算法有效提高了運(yùn)行速度和效率.選取2018年廣州市19路公交車6個(gè)月的IC卡交易數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),并根據(jù)實(shí)際需求對(duì)該數(shù)據(jù)集進(jìn)行了預(yù)處理,設(shè)計(jì)GAPSO-SVM算法耗時(shí)分析、SPGAPSO-SVM算法準(zhǔn)確率和效率、算法可擴(kuò)展性等多組實(shí)驗(yàn)對(duì)SPGAPSO-SVM算法進(jìn)行了驗(yàn)證.實(shí)驗(yàn)結(jié)果表明,SPGAPSO-SVM算法具有較高的預(yù)測(cè)準(zhǔn)確率、較快的運(yùn)行速度和良好的可擴(kuò)展性,預(yù)測(cè)效果由優(yōu)于RBF神經(jīng)網(wǎng)絡(luò)和LSTM等傳統(tǒng)機(jī)器學(xué)習(xí)算法.

        极品美女尤物嫩模啪啪| 日韩毛片在线| 曰本女人牲交全视频免费播放| 精品人妻大屁股白浆无码| 免费视频成人片在线观看| 日韩毛片无码永久免费看| 人妻av无码系列一区二区三区| 中文无码制服丝袜人妻av| 天堂最新在线官网av| 日本高清视频在线一区二区三区| 青青视频在线播放免费的| 精品人妻av一区二区三区四区| 青青草高中生在线视频| 欧洲美熟女乱av亚洲一区| 丰满少妇人妻无码专区| 免费观看又色又爽又黄的| 亚洲综合色成在线播放| 成人午夜免费无码视频在线观看| yw193.can尤物国产在线网页| 国产一区二区三区日韩精品| 日韩一二三四区在线观看| 青青草亚洲视频社区在线播放观看| 国产亚洲成av人片在线观看| 无码人妻av一二区二区三区 | 国产乱子伦视频大全| 亚洲成年网站在线777| 国产午夜精品久久久久九九| 国产精品久久国产三级国| 一本之道日本熟妇人妻| 又硬又粗进去好爽免费| 性无码专区无码| 亚洲美免无码中文字幕在线| 日本成人久久| 无码久久精品蜜桃| 美女射精视频在线观看| 亚洲精品有码日本久久久 | 色悠久久久久综合欧美99| AV在线毛片| 亚洲成熟中老妇女视频| 久久精品国产熟女亚洲| 亚洲午夜久久久久久久久久|