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