本發(fā)明涉及計算機(jī)預(yù)測領(lǐng)域,尤其涉及一種基于反比例多項式函數(shù)螢火蟲優(yōu)化算法的支持向量機(jī)藥品預(yù)測方法。
背景技術(shù):
基于計算智能通過對人工神經(jīng)網(wǎng)絡(luò)、模糊系統(tǒng)、演化計算這3個主要分支的相互有機(jī)融合而形成新的科學(xué)方法的特點(diǎn),決定了其在大數(shù)據(jù)分析中的巨大的應(yīng)用潛力。混雜多樣、多變的大數(shù)據(jù),決定了模型驅(qū)動的方法存在本質(zhì)上的局限性,往往難以根據(jù)先驗知識建立精確的模型。其次,精度是大數(shù)據(jù)的一個重要維度,對不確定性的處理和管理的需求源于數(shù)據(jù)采集的手段、系統(tǒng)狀態(tài)變化和自然環(huán)境等隨機(jī)因素的干擾,同時也源于大數(shù)據(jù)固有的不確定性。最后,大數(shù)據(jù)的規(guī)模和復(fù)雜性意味著大數(shù)據(jù)分析需要巨大的計算時空開銷,因此計算智能方法具有啟發(fā)式特征,通過模擬人類和其他生物體的智慧求解問題,具有高度的自組織、自適應(yīng)性、泛化和抽象的能力,為大規(guī)模復(fù)雜問題的求解提供了有效的手段。
集成學(xué)習(xí),將多個不同的基模型之間的差異提高模型的泛化性能。選擇性集成學(xué)習(xí)方法是通過剔除分類性能不好的基分類器,選擇部分精度較高、差異度較大的基分類器進(jìn)行集成,具有更好的泛化性能。目前常用的選擇性集成方法主要有基于遺傳算法、聚類算法的集成學(xué)習(xí),上述算法雖然取得較好效果,但依然存在計算復(fù)雜度高、參數(shù)敏感等缺點(diǎn)。螢火蟲優(yōu)化算法是一種仿生優(yōu)化算法,通過模擬自然界中螢火蟲的發(fā)光行為形成的一種群智能優(yōu)化算法,簡單、易實現(xiàn)、魯棒性強(qiáng)。螢火蟲通過領(lǐng)域內(nèi)的熒光強(qiáng)弱互相吸引,且每只螢火蟲位置對應(yīng)空間的一個解,每一次迭代會模擬螢火蟲的移動,最終使得螢火蟲聚集到較好的位置,即達(dá)到問題最優(yōu)解。
但是在藥品銷售預(yù)測過程中,現(xiàn)有技術(shù)并不能夠準(zhǔn)確的獲取預(yù)測信息,對于后續(xù)對于藥品的備貨或者生產(chǎn)造成很大困惑,不能有效的統(tǒng)籌管理藥品銷售情況,這就亟需本領(lǐng)域技術(shù)人員解決相應(yīng)的技術(shù)問題。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題,特別創(chuàng)新地提出了一種基于反比例多項式函數(shù)螢火蟲優(yōu)化算法的支持向量機(jī)藥品預(yù)測方法。IPFFA-SVM(Improved Firefly Algorithm-Support Vector Machine)
為了實現(xiàn)本發(fā)明的上述目的,本發(fā)明提供了一種基于反比例多項式函數(shù)螢火蟲優(yōu)化算法的支持向量機(jī)藥品預(yù)測方法,包括如下步驟:
S1,獲取藥品銷售數(shù)量數(shù)據(jù)生成學(xué)習(xí)樣本;
S2,確定SVM的常數(shù)c和核函數(shù)σ的取值范圍,以及迭代結(jié)束條件即迭代次數(shù);
S3,初始FA算法,根據(jù)每一次迭代計算螢火蟲光強(qiáng)值I,判斷是否對螢火蟲光強(qiáng)度I進(jìn)行位置更新;
S4,判斷迭代結(jié)束條件,找到最優(yōu)二維向量(c,g),將該最優(yōu)二維向量(c,g)代入SVM向量機(jī)進(jìn)行訓(xùn)練和驗證,對學(xué)習(xí)樣本進(jìn)行調(diào)整,最終得到藥品銷售預(yù)測結(jié)果。
所述的基于反比例多項式函數(shù)螢火蟲優(yōu)化算法的支持向量機(jī)藥品預(yù)測方法,優(yōu)選的,所述S3初始FA算法包括:
初始FA算法中α,γ,β0的值:α是[0.1]上的隨機(jī)變量,γ為光強(qiáng)吸收系數(shù),為大于0的隨機(jī)數(shù),β0為r=0處的吸引力大小,可取初始值為1。隨機(jī)產(chǎn)生n只螢火蟲位置,每一只螢火蟲的位置對應(yīng)的一個二維向量(c,g)其中σ為核函數(shù)分布寬度。
所述的基于反比例多項式函數(shù)螢火蟲優(yōu)化算法的支持向量機(jī)藥品預(yù)測方法,優(yōu)選的,所述S3螢火蟲光強(qiáng)值步驟包括:
若Ij>Ii,則根據(jù)位置更新公式
第一項為變換前的空間坐標(biāo)位置,第二項為移動偏移量,與吸引力大小相關(guān),最后一項為隨即項,其中α為[0.1]上的隨機(jī)變量,rand服從[0.1]分布;
將xi進(jìn)行更新,并同時根據(jù)公式
將當(dāng)前各只螢火蟲光強(qiáng)度I進(jìn)行更新。
所述的基于反比例多項式函數(shù)螢火蟲優(yōu)化算法的支持向量機(jī)藥品預(yù)測方法,優(yōu)選的,所述S4包括:
S4-1,達(dá)到迭代結(jié)束條件,則停止迭代,找到光強(qiáng)最大的螢火蟲xmax,則找到最優(yōu)的二維向量(c,g);
S4-2,為加快SVM運(yùn)算速度,對即將輸入SVM的數(shù)據(jù)進(jìn)行0-1歸一化處理
S4-3,將最優(yōu)解(c,g)帶入SVM向量機(jī)進(jìn)行模型訓(xùn)練和驗證。
所述的基于反比例多項式函數(shù)螢火蟲優(yōu)化算法的支持向量機(jī)藥品預(yù)測方法,優(yōu)選的,還包括:
當(dāng)ri,j距離不大時,采取用反比例多項式函數(shù)代替反比例指數(shù)函數(shù)的方式,對光強(qiáng)度和吸引力強(qiáng)度進(jìn)行運(yùn)算,使結(jié)果更加精確。
綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
本發(fā)明中,改進(jìn)螢火蟲算法是通過運(yùn)用反比例多項式函數(shù)替代原反比例指數(shù)函數(shù),進(jìn)行低速率收斂。通過對比SVM、BP和多項式回歸藥品預(yù)測方法,能夠驗證本發(fā)明在藥品銷量的預(yù)測精準(zhǔn)度。
本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1是本發(fā)明總體流程圖。
具體實施方式
下面詳細(xì)描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
在本發(fā)明的描述中,需要理解的是,術(shù)語“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。
在本發(fā)明的描述中,除非另有規(guī)定和限定,需要說明的是,術(shù)語“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是機(jī)械連接或電連接,也可以是兩個元件內(nèi)部的連通,可以是直接相連,也可以通過中間媒介間接相連,對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語的具體含義。
圖1是實現(xiàn)本發(fā)明的藥品銷售預(yù)測的流程圖,其主要包括以下步驟:利用本發(fā)明的基于反比例多項式函數(shù)螢火蟲優(yōu)化算法,獲得最新位置xj、最大光強(qiáng)螢火蟲xmax及所對應(yīng)的最優(yōu)二維向量(c,g);將其帶入SVM向量機(jī)中進(jìn)行模型訓(xùn)練,生成最終SVM網(wǎng)絡(luò)模型;帶入驗證數(shù)據(jù),輸出藥品銷售預(yù)測值P。
下面說明本發(fā)明的基于反比例多項式函數(shù)螢火蟲優(yōu)化算法的支持向量機(jī)藥品銷量預(yù)測方法:
A、收集某類藥品2012至2016年的銷售量,生成學(xué)習(xí)樣本;
B、確定SVM的常數(shù)c和核函數(shù)σ的取值范圍,以及迭代結(jié)束條件即迭代次數(shù);
C、初始FA算法中α,γ,β0的值:α是[0.1]上的隨機(jī)變量,γ為光強(qiáng)吸收系數(shù),為大于0的隨機(jī)數(shù),β0為r=0處的吸引力大小,可取初始值為1。隨機(jī)產(chǎn)生n只螢火蟲位置,每一只螢火蟲的位置對應(yīng)的一個二維向量(c,g)其中σ為核函數(shù)分布寬度;
D、根據(jù)每一次迭代計算螢火蟲光強(qiáng)值I,判斷是否進(jìn)行位置更新
若Ij>Ii,則根據(jù)位置更新公式
第一項為變換前的空間坐標(biāo)位置,第二項為移動偏移量,與吸引力大小相關(guān),最后一項為隨即項,其中α為[0.1]上的隨機(jī)變量,rand服從[0.1]分布;
將xi進(jìn)行更新,并同時根據(jù)公式
將當(dāng)前各只螢火蟲光強(qiáng)度I進(jìn)行更新;
E、達(dá)到迭代結(jié)束條件,則停止迭代,找到光強(qiáng)最大的螢火蟲xmax,則找到最優(yōu)的二維向量(c,g);
F、為加快SVM運(yùn)算速度,對即將輸入SVM的數(shù)據(jù)進(jìn)行0-1歸一化處理
G、綜合結(jié)果,將最優(yōu)解(c,g)帶入SVM向量機(jī)進(jìn)行模型訓(xùn)練和驗證,根據(jù)預(yù)測結(jié)果,對學(xué)習(xí)樣本進(jìn)行調(diào)整,最終得到預(yù)測方法。
本發(fā)明所述的基于反比例多項式函數(shù)螢火蟲優(yōu)化算法的支持向量機(jī)藥品銷量預(yù)測方法的有益效果是:通過與SVM、BP和多項式回歸藥品預(yù)測方法進(jìn)行比較,IPFFA-SVM實際值的周圍沒有劇烈的波動且誤差率幾近最小,在藥品銷量預(yù)測方面具有更好的穩(wěn)定性和可靠性?,F(xiàn)有經(jīng)典螢火蟲算法是基于自然界中螢火蟲的熒光群聚活動而提出的一種新型計算智能方法。基于假定所有螢火蟲都是單性的,以至于任何一只螢火蟲都被另外一只所吸引并移動;任何一只螢火蟲的吸引力與自身亮度成正比;螢火蟲的亮度與目標(biāo)函數(shù)值相關(guān),對于最大值問題,亮度強(qiáng)弱正比于目標(biāo)函數(shù)值;針對以上情況,此算法會產(chǎn)生目標(biāo)函數(shù)值以指數(shù)級的速率單調(diào)遞減的特點(diǎn)?;诖耍瑒t(本發(fā)明)當(dāng)ri,j距離不大時,為避免反比例指數(shù)函數(shù)的快速收斂,采取用反比例多項式函數(shù)進(jìn)行替代,對光強(qiáng)度和吸引力強(qiáng)度進(jìn)行運(yùn)算。利用以上改變,將最優(yōu)解g=(C,g)帶入SVM向量機(jī)進(jìn)行訓(xùn)練和驗證,通過對比SVM、BP和多項式回歸預(yù)測方法,可以提高藥品銷量的預(yù)測精準(zhǔn)度。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
盡管已經(jīng)示出和描述了本發(fā)明的實施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。