一种药品消耗量时间序列预测方法

文档序号:6543667阅读:664来源:国知局
一种药品消耗量时间序列预测方法
【专利摘要】本发明公开了一种药品消耗量时间序列预测方法,具体为重新设计已有的数据挖掘算法GRNN,使其由原来基于CPU运行的串行设计,改为基于GPU运行的并行设计,多线程并行处理药品消耗量的时间序列数据,同时训练具有不同平滑参数的模型,然后对样本库进行不同的分割,同时训练不同输入方式的模型,选取误差最小的模型对未来的药品消耗数量作出预测,由于模型的训练是并列进行的,所以预测效率较之原有CPU架构下的GRNN模型有显著提升。本方案适用于医疗机构的药品管理。
【专利说明】一种药品消耗量时间序列预测方法

【技术领域】
[0001] 本发明涉及一种药品使用量控制规划领域,尤其是涉及一种基于GPU加速的药品 消耗量时间序列预测方法。

【背景技术】
[0002] 随着医院规模的不断扩大,药品种类、数量在不断增长,而药品的有效期是一定 的,一次性采购过多会造成浪费,过少又会导致供给不足,准确地预测药品在将来的消耗 量,辅助拟定采购计划,能有效地缓解药品积压或断货问题,有效提高医护人员的工作效 率。由于许多疾病的发病数量具有时间特点,所以药品的消耗量也同样具有随时间变化的 特性,时间序列预测模型在药品消耗量预测中取得了良好的预测效果。在众多时间序列预 测模型中,神经网络以其连续时间的动力学行为、良好的非线性品格、大规模并行分布处 理、鲁棒性和学习联想能力等特点,在预测领域得到了广泛应用,其中又以广义回归神经网 络(GRNN)效果最好,相比于广泛使用的反向传播神经网络(BPNN),GRNN需要调整的参数 少,计算简单,不会陷入局部最小,有较好的应用前景。
[0003] 现有的GRNN模型都是基于CPU的串行设计,对于输入神经元数目、平滑系数的确 定,对于模型的交叉验证,都是按时间顺序执行,当高维向量输入模型时,模型训练时间将 大大延长,受限于时间复杂度,有时不得不在训练模型前先对训练的输入样本进行筛选(也 就是降低维度),这样就损失了部分样本信息,导致预测精度下降。
[0004] 目前基于GPU (图形处理器,即显卡)的统一计算设备架构(CUDA),在科学计算领 域备受关注,CUDA程序不再是某个时间点只对同一内存地址进行操作,而是同时进行数以 万计的操作,使得程序执行性能获得指数级的提升。
[0005] 中华人民共和国国家知识产权局于2013年06月19日公开了申请公布号为 CN103164772A的专利文献,名称是药品期效管理方法及其系统,其中药品期效管理方法包 括如下步骤:S1.将药品放置于发药机的储药槽中,并记录每一储药槽中添加的药品数量、 及药品的生产日期;S2.接收药品需求信息,将药品需求信息发送到发药机,发药机根据收 到的药品需求信息发送相应药品;S3.记录出药信息,并将出药信息反馈给数据库。此方案 不包含药品消耗量的预测,对于医疗机构的效益和保障力不能做到均衡。


【发明内容】

[0006] 本发明主要是解决现有技术所存在的计算模型都是基于CPU的串行设计,无法兼 顾训练时间和预测精度等的技术问题,提供一种基于GPU,进行并行运算,可以在用较短的 训练时间获得较高预测精度的药品消耗量时间序列预测方法。
[0007] 本发明针对上述技术问题主要是通过下述技术方案得以解决的:一种药品消耗量 时间序列预测方法,包括以下步骤: 5001、 读取药品消耗量的时间序列数据,存入一维数组DataSet [N],N是数据总数; 5002、 初步选定输入层神经元的数目m ; 5003、 根据选定的m值,分割数据集,学习样本共有Ν-m-l个,学习样本存入数组 StudySet [N-m-1] [m],对应的样本输出值存入数组RealOut [N-m-1]; 5004、 设置平滑系数的初始值; 5005、 将学习样本与对应的样本输出值拷贝到GPU的常量内存; 5006、 学习样本中分别去掉一个样本,构成Ν-m-l个模型,在GPU中并行计算这些模型, 每个block负责计算一个模型,每个block包含Ν-m-l个thread,每个thread计算相应模 型的相应模式层神经元的输出值; 5007、 计算求和层的输出值,再相除得到模型的输出值,将每个block计算得到的对应 模型的预测结果保存到一个长度为Ν-m-l的数组; 5008、 用一包含Ν-m-l个thread的block,采取归约的方式求得该平滑参数下模型的评 价指标E,并将其拷贝到CPU ; 5009、 判断平滑系数是否达到预定的最大值,如果没有达到最大值则按Λ 〇 =0.1递 增平滑系数,并返回步骤S005 ;否则下一步; 5010、 根据每个平滑系数对应的评价指标,选出当前m下的最佳平滑系数,并作记录; 5011、 判断m是否达到预定的最大值,如果没有达到最大值按Am=0. 1递增m,并返回步 骤S003 ;否则下一步; 5012、 计算每个m的评价指标B (m),计算公式为 B (m) =NlnE+ MlnN ; 5013、 选取最佳的m值,及其对应的平滑系数确定GRNN模型结构,用于药品消耗量的预 测,得到预测结果。药品管理人员可以按照预测结果安排采购计划。
[0008] 作为优选,所述GRNN模型包括: 输入层,输入层包含m个神经兀; 模式层,模式层的神经元个数为所有的学习样本数目n,各自神经元对应不同的样本, 第i个神经元的传递函数为:

【权利要求】
1. 一种药品消耗量时间序列预测方法,其特征在于,包括以下步骤: 5001、 读取药品消耗量的时间序列数据,存入一维数组DataSet [N],N是数据总数; 5002、 初步选定输入层神经元的数目m ; 5003、 根据选定的m值,分割数据集,学习样本共有Ν-m-l个,学习样本存入数组 StudySet [N-m-1] [m],对应的样本输出值存入数组RealOut [N-m-1]; 5004、 设置平滑系数的初始值; 5005、 将学习样本与对应的样本输出值拷贝到GPU的常量内存; 5006、 学习样本中分别去掉一个样本,构成Ν-m-l个模型,在GPU中并行计算这些模型, 每个block负责计算一个模型,每个block包含Ν-m-l个thread,每个thread计算相应模 型的相应模式层神经元的输出值; 5007、 计算求和层的输出值,再相除得到模型的输出值,将每个block计算得到的对应 模型的预测结果保存到一个长度为Ν-m-l的数组; 5008、 用一包含Ν-m-l个thread的block,采取归约的方式求得该平滑参数下模型的评 价指标E,并将其拷贝到CPU ; 5009、 判断平滑系数是否达到预定的最大值,如果没有达到最大值则按Λ 〇 =0.1递 增平滑系数,并返回步骤S005 ;否则下一步; 5010、 根据每个平滑系数对应的评价指标,选出当前m下的最佳平滑系数,并作记录; 5011、 判断m是否达到预定的最大值,如果没有达到最大值按Am=0. 1递增m,并返回步 骤S003 ;否则下一步; 5012、 计算每个m的评价指标,计算公式为 B (m) =NlnE+ MlnN ; 5013、 选取最佳的m值,及其对应的平滑系数确定GRNN模型结构,用于药品消耗量的预 测,得到预测结果。
2. 根据权利要求1所述的一种药品消耗量时间序列预测方法,其特征在于,所述GRNN 模型包括: 输入层,输入层包含m个神经兀; 模式层,模式层的神经元个数为所有的学习样本数目n,各自神经元对应不同的样本, 第i个神经元的传递函数为:
其中为模式层第i个神经元的输出值,T为矩阵转置标志,X为网络输入变量,X,.为 第i个神经元对应的学习样本,σ为平滑系数; 求和层,求和层包括两种神经元,第一种是对所有模式层神经元的输出累加,传递函数 为:
另一种是对所有模式层神经元的输出做加权求和,模式层中第i个神经元与求和层中 第j个分子求和神经元之间的连接权值为第i个输出样本Yi中的第j个元素 Λ._/,传递函数 为:
输出层,输出层神经元数目为学习样本中的输出向量维数,第j个神经元对应预测结 果的第j个元素计算方法为:
3. 根据权利要求1或2所述的一种药品消耗量时间序列预测方法,其特征在于,平滑系 数的初始值为〇. 1。
4. 根据权利要求3所述的一种药品消耗量时间序列预测方法,其特征在于,所述输入 层神经元的数目m按以下公式确定:
【文档编号】G06Q10/04GK104063744SQ201410148158
【公开日】2014年9月24日 申请日期:2014年4月15日 优先权日:2014年4月15日
【发明者】李劲松, 李鹏飞, 张艺帆 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1