盛 魁 (亳州職業(yè)技術(shù)學(xué)院信息工程系,安徽 亳州236800)
藥品是預(yù)防、診斷、治療人類疾病的必備物質(zhì),在維護人類健康中扮演著重要角色。為了合理生產(chǎn)藥品、恰當(dāng)采購藥品和正確引進藥品,在藥品銷售過程中,對藥品的銷售量和銷售趨勢進行研究和預(yù)測顯得十分重要。影響藥品銷售預(yù)測的精度的因素非常多,如醫(yī)藥管理政策的改變、國家宏觀經(jīng)濟狀況、新藥上市、突發(fā)事件、季節(jié)變化及新的治療手段產(chǎn)生等[1]。傳統(tǒng)的統(tǒng)計分析方法和線性預(yù)測方法都有一定的局限性,難以處理藥品銷售這一復(fù)雜的非線形關(guān)系,從而導(dǎo)致預(yù)測精度低。徑向基函數(shù) (Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)具有結(jié)構(gòu)簡單、泛化能力較強、學(xué)習(xí)速度快、擬合精度較高和不易陷入局部極小等優(yōu)點,在非線性系統(tǒng)的預(yù)測方面得到廣泛應(yīng)用[2]。下面,筆者對RBF神經(jīng)網(wǎng)絡(luò)在藥品銷售預(yù)測中的應(yīng)用進行了研究。
RBF神經(jīng)網(wǎng)絡(luò)是一種可以模擬人腦中相互覆蓋接收域和局部調(diào)整的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它能以任意精度逼近任一連續(xù)函數(shù)[3]。RBF神經(jīng)網(wǎng)絡(luò)是一個3層神經(jīng)網(wǎng)絡(luò)[4]:第1層為輸入層,由信號源節(jié)點組成;第2層為隱含層,由徑向基函數(shù)神經(jīng)元構(gòu)成;第3層為輸出層,網(wǎng)絡(luò)輸出為隱含層輸出的線性組合。RBF網(wǎng)絡(luò)的輸入空間到隱含層空間的變換是非線性的,而從隱含層空間到輸出層空間的變換是線性的[5]。因此,RBF網(wǎng)絡(luò)輸出形式為:
式中,x為輸入樣本;M表示隱含層的節(jié)點數(shù);ci為第i隱節(jié)點的基函數(shù)中心;wij表示第i個隱含節(jié)點到第j個輸出節(jié)點的權(quán)值;‖x-ci‖是向量x-ci的歐式范數(shù);φ為隱含單元的變換函數(shù),φ形式有多種,筆者采用 Gauss函數(shù)[6]:
式中,σi為i隱節(jié)點的均方差或?qū)挾取?/p>
在進行藥品銷售預(yù)測時,構(gòu)造和訓(xùn)練一個RBF神經(jīng)網(wǎng)絡(luò)的核心就是使映射函數(shù)通過適當(dāng)學(xué)習(xí),確定出每個隱含層神經(jīng)元基函數(shù)的中心、方差以及隱含層到輸出層的權(quán)值的過程,從而完成所需要的輸入到輸出的映射[7]。RBF神經(jīng)網(wǎng)絡(luò)的非線性映射能力體現(xiàn)在隱層基函數(shù)上,其特性主要由基函數(shù)的中心確定[8]。根據(jù)徑向基函數(shù)中心選取方法的不同,RBF網(wǎng)絡(luò)有多種學(xué)習(xí)方法,筆者采用自組織聚類方法選取中心[9]。該方法的學(xué)習(xí)過程分為如下步驟:①非監(jiān)督學(xué)習(xí),即根據(jù)k-均值聚類算法[10]及所有的輸入樣本決定隱層各節(jié)點的中心值和方差;②有監(jiān)督學(xué)習(xí),即在確定好隱層的參數(shù)后,依據(jù)網(wǎng)絡(luò)訓(xùn)練樣本,采用最小均方算法和矩陣偽逆計算法確定輸出層的權(quán)值。設(shè)樣本數(shù)為N,具體算法步驟如下。
1)確定聚類中心ci和均方差σj①初始化聚類中心ci。從輸入樣本xj(j=1,2,…,N)中選擇M個樣本作為聚類中心ci(i=1,2,…,M),通常將其初始化為第一個訓(xùn)練樣本。②將輸入的訓(xùn)練樣本集合按最近鄰規(guī)則分組。將xj(j=1,2,…,N)分配給中心為ci并形成輸入樣本聚類集合θi(i=1,2,…,M),且滿足di=min‖xj-ci‖)。③重新調(diào)整聚類中心。計算各個聚類集合θi中訓(xùn)練樣本的平均值,即新的聚類中心為θ中的輸入樣本數(shù))。④判斷。重復(fù)上述步驟,直至聚類中心的分布的變化小于預(yù)定i的閾值ε,則所得的ci為RBF網(wǎng)絡(luò)最終的基函數(shù)中心,否則返回②進入下一輪的中心求解。⑤計算均方差σj。RBF的聚類中心確定以后,其均方差為所選取數(shù)據(jù)中心之間的最大距離)。
2)確定權(quán)值w ①確定輸出矩陣A。設(shè)輸入為xj時,第i個隱節(jié)點的輸出φij=φ(‖xj-ci‖),則隱含層輸出矩陣為A= [φij]n×m;② 計算權(quán)值w。若RBF當(dāng)前權(quán)值為w= (w1,w2,…,wm),則網(wǎng)絡(luò)輸出向量為=Aw。令ε=‖d-‖為逼近誤差,若確定了期望輸出d=(d1,d2,…,dm)和A,利用最小化公式ε= ‖d-Aw‖ 求出輸出權(quán)值w=A+d,其中A+為A的偽逆,A+= (ATA)-1AT。
圖1 藥品銷售預(yù)測流程圖
藥品銷售預(yù)測是在對影響藥品市場供求變化的多種因素及過去和現(xiàn)在的銷售資料進行分析和研究的基礎(chǔ)上,運用科學(xué)的方法對未來藥品市場產(chǎn)品的供求發(fā)展趨勢進行估計和推測,包括藥品銷售數(shù)據(jù)選取、數(shù)據(jù)預(yù)處理、建立預(yù)測模型和預(yù)測結(jié)果分析等內(nèi)容,具體流程如圖1所示。
收集的藥品銷售數(shù)據(jù)是用來訓(xùn)練和測試,好壞直接影響到預(yù)測結(jié)果的精確度。設(shè)藥品銷售的時間序列值為X = (x1,x2,…,xn),欲通過序列X的前N個時刻的值,預(yù)測后M個時刻的值??梢詫⑿蛄械那癗個時刻的數(shù)據(jù)作為滑動窗,并將其映射為M個值。以亳州市某醫(yī)藥銷售公司的某種感冒藥為例,采用以年為單位的方式進行預(yù)測。
為了保證網(wǎng)絡(luò)在訓(xùn)練過程中收斂,神經(jīng)網(wǎng)絡(luò)要求輸入的數(shù)據(jù)必須不大于1,否則傳遞函數(shù)無法處理[11],收集到的藥品銷售數(shù)據(jù)增長值并沒有落在 [0,1]圍內(nèi),在網(wǎng)絡(luò)訓(xùn)練之前要將輸入樣本數(shù)據(jù)進行歸一化處理,這樣不但避免了輸入數(shù)據(jù)落入飽和區(qū)域,也保持了數(shù)據(jù)的原有特征。歸一化運算計算公式為:
式中,X表示預(yù)處理后的數(shù)據(jù);x表示藥品銷售原始數(shù)據(jù);xmax和xmin表示藥品銷售原始數(shù)據(jù)的最大值和藥品銷售原始數(shù)據(jù)的最小值。
當(dāng)RBF神經(jīng)網(wǎng)絡(luò)處理完畢,為了使原始數(shù)據(jù)與輸出數(shù)據(jù)在同一個范圍內(nèi),通過反歸一化運算還原原始數(shù)據(jù),反歸一化運算計算公式如下:
根據(jù)以上原則,對1992~2011年某藥品實際銷售量數(shù)據(jù)進行歸一化的樣本如表1所示。
為了衡量藥品銷售預(yù)測模型性能的優(yōu)劣,采用預(yù)測精度準(zhǔn)確率 (ACCU)和平均絕對百分誤差 (MAPE)作為預(yù)測模型的性能評價指標(biāo)[12]:
式中,n表示預(yù)測樣本數(shù)量;xi表示藥品銷售的實際值表示藥品銷售的的預(yù)測值。
表1 原始樣本處理
將每4年作為1個周期,前4年的藥品銷售數(shù)據(jù)作為RBF神經(jīng)的輸入,當(dāng)前藥品銷售作為RBF神經(jīng)網(wǎng)絡(luò)的輸出,采用基于k-均聚類算法的RBF神經(jīng)網(wǎng)絡(luò)構(gòu)建藥品銷售預(yù)測模型,用前16年的數(shù)據(jù)作為學(xué)習(xí)樣本,后4年數(shù)據(jù)作為測試樣本,檢驗?zāi)P皖A(yù)測效果。以Matlab軟件為數(shù)據(jù)平臺,利用C++語言進行編程,并采用多元回歸模型、支持向量機 (SVM)模型和BP神經(jīng)網(wǎng)絡(luò)模型作為參照模型,4種模型對測試集的預(yù)測結(jié)果如表2所示。從表2可以看出,采用利用RBF神經(jīng)網(wǎng)絡(luò)模型預(yù)測的結(jié)果更接近實際銷售值,預(yù)測結(jié)果更準(zhǔn)確。為了進一步考察各模型的預(yù)測精度,將RBF模型預(yù)測結(jié)果分別與其他3個模型的ACCU和MAPE進行對比分析,結(jié)果如表3所示。從表3可以看出,采用RBF神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度準(zhǔn)確率最高而平均絕對百分誤差最低,可以更有效地對藥品銷售進行預(yù)測。
表2 2010~2011年某感冒藥銷售實際數(shù)據(jù)與各種預(yù)測結(jié)果對比表
表3 不同預(yù)測模型評價標(biāo)準(zhǔn)對比表
傳統(tǒng)的藥品銷售預(yù)測方法存在一定局限性,無法準(zhǔn)確反映藥品銷售的非線性變化規(guī)律,從而影響了預(yù)測精度。RBF神經(jīng)網(wǎng)絡(luò)具有結(jié)構(gòu)簡單、訓(xùn)練簡潔、自適應(yīng)能力強、收斂速度快、能逼近任意復(fù)雜的非線性函數(shù)的特性,將其運用到藥品銷售預(yù)測中,由此提出RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型并進行藥品銷售預(yù)測。研究結(jié)果表明,利用RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型預(yù)測藥品銷售的誤差小,可以更有效地對藥品銷售進行預(yù)測。由于現(xiàn)實中影響藥品銷售的因素比較多,如何改善RBF神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法,使其具有更好的預(yù)測能力,是今后需要進一步探討的問題。
[1]王晨光,相秉仁,謝少斐,等 .基于主成分分析的BP神經(jīng)網(wǎng)絡(luò)在藥品銷售預(yù)測中的應(yīng)用 [J].藥物生物技術(shù),2009,16(4):385-387.
[2]李月英,申東日,陳義俊,等 .基于RBF神經(jīng)網(wǎng)絡(luò)的非線性系統(tǒng)的預(yù)測 [J].計算機測量與控制,2006,14(3):319-321.
[3]陳偉 .基于群體智能算法的人工神經(jīng)網(wǎng)絡(luò)優(yōu)化及其應(yīng)用 [D].無錫:江南大學(xué),2007.
[4]Norgaard M.Neural network based system identification toolbox [D].Technical University of Denmark,2000.
[5]華王秀,陳繼紅 .基于RBF神經(jīng)網(wǎng)絡(luò)的銷售預(yù)測模型的研究與應(yīng)用 [J].南通大學(xué)學(xué)報報 (自然科學(xué)版),2004(4):84-86.
[6]蘇美娟 .徑向基神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法研究 [D].蘇州:蘇州大學(xué),2007.
[7]郭丹 .徑向基神經(jīng)網(wǎng)絡(luò)在木材銷售量預(yù)測中的應(yīng)用 [J].價值工程,2011(6):100-101.
[8]曹建云,陸國平,楊奕,等 .徑向基函數(shù)網(wǎng)絡(luò)泛化能力研究及其應(yīng)用 [J].系統(tǒng)工程與電子技術(shù),2006,18(1):72-74.
[9]高雋 .人工神經(jīng)網(wǎng)絡(luò)原理及仿真實例 [M].北京:機械工業(yè)出版社,2007.
[10]賴玉霞,劉建平 .k-means算法的初始聚類中心的優(yōu)化 [J].計算機工程與應(yīng)用,2008,44(10):147-149.
[11]張德豐.Matlab神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計 [M].北京:機械工業(yè)出版社,2009.
[12]John E H,Dean W W.銷售預(yù)測 [M].北京:清華大學(xué)出版社,2006.