一種藥品消耗量時間序列預測方法
【專利摘要】本發(fā)明公開了一種藥品消耗量時間序列預測方法,具體為重新設計已有的數(shù)據(jù)挖掘算法GRNN,使其由原來基于CPU運行的串行設計,改為基于GPU運行的并行設計,多線程并行處理藥品消耗量的時間序列數(shù)據(jù),同時訓練具有不同平滑參數(shù)的模型,然后對樣本庫進行不同的分割,同時訓練不同輸入方式的模型,選取誤差最小的模型對未來的藥品消耗數(shù)量作出預測,由于模型的訓練是并列進行的,所以預測效率較之原有CPU架構下的GRNN模型有顯著提升。本方案適用于醫(yī)療機構的藥品管理。
【專利說明】一種藥品消耗量時間序列預測方法
【技術領域】
[0001] 本發(fā)明涉及一種藥品使用量控制規(guī)劃領域,尤其是涉及一種基于GPU加速的藥品 消耗量時間序列預測方法。
【背景技術】
[0002] 隨著醫(yī)院規(guī)模的不斷擴大,藥品種類、數(shù)量在不斷增長,而藥品的有效期是一定 的,一次性采購過多會造成浪費,過少又會導致供給不足,準確地預測藥品在將來的消耗 量,輔助擬定采購計劃,能有效地緩解藥品積壓或斷貨問題,有效提高醫(yī)護人員的工作效 率。由于許多疾病的發(fā)病數(shù)量具有時間特點,所以藥品的消耗量也同樣具有隨時間變化的 特性,時間序列預測模型在藥品消耗量預測中取得了良好的預測效果。在眾多時間序列預 測模型中,神經(jīng)網(wǎng)絡以其連續(xù)時間的動力學行為、良好的非線性品格、大規(guī)模并行分布處 理、魯棒性和學習聯(lián)想能力等特點,在預測領域得到了廣泛應用,其中又以廣義回歸神經(jīng)網(wǎng) 絡(GRNN)效果最好,相比于廣泛使用的反向傳播神經(jīng)網(wǎng)絡(BPNN),GRNN需要調(diào)整的參數(shù) 少,計算簡單,不會陷入局部最小,有較好的應用前景。
[0003] 現(xiàn)有的GRNN模型都是基于CPU的串行設計,對于輸入神經(jīng)元數(shù)目、平滑系數(shù)的確 定,對于模型的交叉驗證,都是按時間順序執(zhí)行,當高維向量輸入模型時,模型訓練時間將 大大延長,受限于時間復雜度,有時不得不在訓練模型前先對訓練的輸入樣本進行篩選(也 就是降低維度),這樣就損失了部分樣本信息,導致預測精度下降。
[0004] 目前基于GPU (圖形處理器,即顯卡)的統(tǒng)一計算設備架構(CUDA),在科學計算領 域備受關注,CUDA程序不再是某個時間點只對同一內(nèi)存地址進行操作,而是同時進行數(shù)以 萬計的操作,使得程序執(zhí)行性能獲得指數(shù)級的提升。
[0005] 中華人民共和國國家知識產(chǎn)權局于2013年06月19日公開了申請公布號為 CN103164772A的專利文獻,名稱是藥品期效管理方法及其系統(tǒng),其中藥品期效管理方法包 括如下步驟:S1.將藥品放置于發(fā)藥機的儲藥槽中,并記錄每一儲藥槽中添加的藥品數(shù)量、 及藥品的生產(chǎn)日期;S2.接收藥品需求信息,將藥品需求信息發(fā)送到發(fā)藥機,發(fā)藥機根據(jù)收 到的藥品需求信息發(fā)送相應藥品;S3.記錄出藥信息,并將出藥信息反饋給數(shù)據(jù)庫。此方案 不包含藥品消耗量的預測,對于醫(yī)療機構的效益和保障力不能做到均衡。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明主要是解決現(xiàn)有技術所存在的計算模型都是基于CPU的串行設計,無法兼 顧訓練時間和預測精度等的技術問題,提供一種基于GPU,進行并行運算,可以在用較短的 訓練時間獲得較高預測精度的藥品消耗量時間序列預測方法。
[0007] 本發(fā)明針對上述技術問題主要是通過下述技術方案得以解決的:一種藥品消耗量 時間序列預測方法,包括以下步驟: 5001、 讀取藥品消耗量的時間序列數(shù)據(jù),存入一維數(shù)組DataSet [N],N是數(shù)據(jù)總數(shù); 5002、 初步選定輸入層神經(jīng)元的數(shù)目m ; 5003、 根據(jù)選定的m值,分割數(shù)據(jù)集,學習樣本共有Ν-m-l個,學習樣本存入數(shù)組 StudySet [N-m-1] [m],對應的樣本輸出值存入數(shù)組RealOut [N-m-1]; 5004、 設置平滑系數(shù)的初始值; 5005、 將學習樣本與對應的樣本輸出值拷貝到GPU的常量內(nèi)存; 5006、 學習樣本中分別去掉一個樣本,構成Ν-m-l個模型,在GPU中并行計算這些模型, 每個block負責計算一個模型,每個block包含Ν-m-l個thread,每個thread計算相應模 型的相應模式層神經(jīng)元的輸出值; 5007、 計算求和層的輸出值,再相除得到模型的輸出值,將每個block計算得到的對應 模型的預測結果保存到一個長度為Ν-m-l的數(shù)組; 5008、 用一包含Ν-m-l個thread的block,采取歸約的方式求得該平滑參數(shù)下模型的評 價指標E,并將其拷貝到CPU ; 5009、 判斷平滑系數(shù)是否達到預定的最大值,如果沒有達到最大值則按Λ 〇 =0.1遞 增平滑系數(shù),并返回步驟S005 ;否則下一步; 5010、 根據(jù)每個平滑系數(shù)對應的評價指標,選出當前m下的最佳平滑系數(shù),并作記錄; 5011、 判斷m是否達到預定的最大值,如果沒有達到最大值按Am=0. 1遞增m,并返回步 驟S003 ;否則下一步; 5012、 計算每個m的評價指標B (m),計算公式為 B (m) =NlnE+ MlnN ; 5013、 選取最佳的m值,及其對應的平滑系數(shù)確定GRNN模型結構,用于藥品消耗量的預 測,得到預測結果。藥品管理人員可以按照預測結果安排采購計劃。
[0008] 作為優(yōu)選,所述GRNN模型包括: 輸入層,輸入層包含m個神經(jīng)兀; 模式層,模式層的神經(jīng)元個數(shù)為所有的學習樣本數(shù)目n,各自神經(jīng)元對應不同的樣本, 第i個神經(jīng)元的傳遞函數(shù)為:
【權利要求】
1. 一種藥品消耗量時間序列預測方法,其特征在于,包括以下步驟: 5001、 讀取藥品消耗量的時間序列數(shù)據(jù),存入一維數(shù)組DataSet [N],N是數(shù)據(jù)總數(shù); 5002、 初步選定輸入層神經(jīng)元的數(shù)目m ; 5003、 根據(jù)選定的m值,分割數(shù)據(jù)集,學習樣本共有Ν-m-l個,學習樣本存入數(shù)組 StudySet [N-m-1] [m],對應的樣本輸出值存入數(shù)組RealOut [N-m-1]; 5004、 設置平滑系數(shù)的初始值; 5005、 將學習樣本與對應的樣本輸出值拷貝到GPU的常量內(nèi)存; 5006、 學習樣本中分別去掉一個樣本,構成Ν-m-l個模型,在GPU中并行計算這些模型, 每個block負責計算一個模型,每個block包含Ν-m-l個thread,每個thread計算相應模 型的相應模式層神經(jīng)元的輸出值; 5007、 計算求和層的輸出值,再相除得到模型的輸出值,將每個block計算得到的對應 模型的預測結果保存到一個長度為Ν-m-l的數(shù)組; 5008、 用一包含Ν-m-l個thread的block,采取歸約的方式求得該平滑參數(shù)下模型的評 價指標E,并將其拷貝到CPU ; 5009、 判斷平滑系數(shù)是否達到預定的最大值,如果沒有達到最大值則按Λ 〇 =0.1遞 增平滑系數(shù),并返回步驟S005 ;否則下一步; 5010、 根據(jù)每個平滑系數(shù)對應的評價指標,選出當前m下的最佳平滑系數(shù),并作記錄; 5011、 判斷m是否達到預定的最大值,如果沒有達到最大值按Am=0. 1遞增m,并返回步 驟S003 ;否則下一步; 5012、 計算每個m的評價指標,計算公式為 B (m) =NlnE+ MlnN ; 5013、 選取最佳的m值,及其對應的平滑系數(shù)確定GRNN模型結構,用于藥品消耗量的預 測,得到預測結果。
2. 根據(jù)權利要求1所述的一種藥品消耗量時間序列預測方法,其特征在于,所述GRNN 模型包括: 輸入層,輸入層包含m個神經(jīng)兀; 模式層,模式層的神經(jīng)元個數(shù)為所有的學習樣本數(shù)目n,各自神經(jīng)元對應不同的樣本, 第i個神經(jīng)元的傳遞函數(shù)為:
其中為模式層第i個神經(jīng)元的輸出值,T為矩陣轉置標志,X為網(wǎng)絡輸入變量,X,.為 第i個神經(jīng)元對應的學習樣本,σ為平滑系數(shù); 求和層,求和層包括兩種神經(jīng)元,第一種是對所有模式層神經(jīng)元的輸出累加,傳遞函數(shù) 為:
另一種是對所有模式層神經(jīng)元的輸出做加權求和,模式層中第i個神經(jīng)元與求和層中 第j個分子求和神經(jīng)元之間的連接權值為第i個輸出樣本Yi中的第j個元素 Λ._/,傳遞函數(shù) 為:
輸出層,輸出層神經(jīng)元數(shù)目為學習樣本中的輸出向量維數(shù),第j個神經(jīng)元對應預測結 果的第j個元素計算方法為:
3. 根據(jù)權利要求1或2所述的一種藥品消耗量時間序列預測方法,其特征在于,平滑系 數(shù)的初始值為〇. 1。
4. 根據(jù)權利要求3所述的一種藥品消耗量時間序列預測方法,其特征在于,所述輸入 層神經(jīng)元的數(shù)目m按以下公式確定:
【文檔編號】G06Q10/04GK104063744SQ201410148158
【公開日】2014年9月24日 申請日期:2014年4月15日 優(yōu)先權日:2014年4月15日
【發(fā)明者】李勁松, 李鵬飛, 張藝帆 申請人:浙江大學