一种基于混合模型的医药销量的预测方法及系统的制作方法
【专利摘要】本发明公开了基于BP神经网络和ARIMA组合模型的药品销量预测方法;解决了基于传统研究方法或人工神经网络的单项预测方法预测精度低的问题。本方法是先用ARIMA模型预测某类药品的历史年销售量,是其线性规律信息包含在了ARIMA模型的预测误差中,然后用BP神经网络预测ARIMA模型的误差,使其非线性规律包含在BP神经网络的预测结果中。最后用ARIMA的预测结果与BP神经网络的预测相加得到组合预测模型的预测值;本方法能够较大程度地克服时间序列法在预测药品销量时的缺陷,显著提高药品销量预测精度;能够较好的预测药品销量,可以作为未来药品销量预测方法;能够通过Eviews软件简单实现其预测药品销量过程,实用性强,便于推广应用。
【专利说明】
一种基于混合模型的医药销量的预测方法及系统
技术领域
[0001]本发明涉及计算机技术在医药行业销售领域,特别是一种基于混合的ARMA模型 和人工神经网络模型的医药销量的预测。
【背景技术】
[0002] 医药市场作为我国社会市场经济的重要组成部分,对于国民经济的可持续发展具 有重大的影响。在医药市场营销中,药品配给是其中的一项重要内容,不断改进配送数量预 测方法,提高预测精度对医药企业具有重要意义。通过对药品销售的预测分析,医药企业可 以更合理的确定药品配送种类和数量,从而减少企业成本、提高效益,是企业进一步迈向信 息化;医药企业可以通过药品销量预测掌握各类药品的销售情况,进而平衡连锁药店和企 业之间的矛盾;连锁药店如果不能合理地配送药品,保证销售的需求,不仅会带来药品缺货 导致销售机会的流失,使销售业绩下降;并且也会伤害消费者与企业之间的关系,影响企业 的信誉和市场份额的占有率;而且如果当药品销售量不佳,导致的药品积压现象也会越来 越严重,会增加药品库存所需的费用,继而会影响企业资金流动,增加企业负荷,这对企业 都是相当不利的。总的来说,准确地药品销售预测是解决上述矛盾的最好方法,通过可行的 预测方法,得出较为理想的预测结果,然后根据预测结果做出相应的配送药品方案,是企业 各部门能很好的配合,降低不必要的开支,达到利润最大化是非常必要的。
[0003] 目前,已经存在多种销售量的预测方法,例如时间序列、回归分析、灰色预测、神经 网络、模糊技术和遗传算法等,在实际的销售预测中也都取得了较为理想的效果。其中,运 用最多的是时间序列法,即仅通过历史药品月售销量的变化规律直接预测未来的药品月售 销量,其优点是简单易行,便于掌握,能够充分运用原时间序列的各项数据,计算速度快,对 模型参数有动态确定的能力。因此,如果直接寻找历史药品月售量的发展规律,在此基础上 进行药品月售量预测就会造成预测精度不高的问题。
[0004] 因此,需要一种针对医药行业药品销量的预测方法。
【发明内容】
[0005] 本发明的目的之一是提出一种基于混合模型的医药销量的预测方法;本发明的目 的之二是提出一种基于混合模型的医药销量的预测系统。
[0006] 本发明的目的之一是通过以下技术方案来实现的:
[0007] 本发明提供的一种基于混合模型的医药销量的预测方法,包括以下步骤:
[0008] 建立AR頂A模型;
[0009] 获取药品销量历史数据序列并输入到ARIMA模型预测获取ARIMA模型预测误差和 ARIMA预测结果;
[0010] 建立BP神经网络模型;
[0011]将ARMA模型预测误差输入到BP神经网络模型进行预测获取BP神经网络预测结 果;
[0012] 将ARB1A预测结果与BP神经网络预测结果叠加得到预测结果。
[0013] 进一步,所述ARIMA模型通过以下步骤建立:
[0014]通过acf自相关函数来确定药品销量历史数据序列的自回归系数P;
[0015]通过diff差分函数平稳药品销量历史数据序列确定差分次数d;
[0016] 通过pacf偏自相关函数来确定药品销量历史数据序列的移动平均项数q。
[0017] 进一步,所述差分次数d通过以下步骤来获取:
[0018] 使用diff差分函数对药品销量历史数据序列进行一次差分,获取差分后的时间序 列图;
[0019] 对药品销量历史数据序列进行二次差分和三次差分,并获取差分后的曲线图;
[0020] 比较进行多次差分后的曲线图,选择平稳的差分后的时间序列图,对应的差分次 数即为药品销量历史数据序列的差分次数d。
[0021] 进一步,所述自回归系数p通过以下步骤来获取:
[0022] 使用acf自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数据 序列的自相关图;
[0023] 根据自相关图在p阶后不再超出置信边界,确定自回归系数p。
[0024] 进一步,所述移动平均系数q通过以下步骤来获取:
[0025] 使用pacf偏自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数 据序列的偏自相关图;
[0026] 根据偏自相关图在q阶后不再超出置信边界,确定移动平均系数q。
[0027] 进一步,所述ARIMA模型预测误差通过以下步骤来获取:
[0028] 根据差分次数d、自回归项数p和移动平均项数q确定药品销量历史数据序列具有 线性规律部分的预测模型ARIMA(p,d,q);
[0029] 使用ARB!A(p,d,q)模型预测药品销量历史数据序列,求得预测值序列;
[0030]使用药品销量历史数据序列减去求得的预测值序列,得到ARIMA(p,d,q)的预测误 差序列。
[0031] 进一步,所述BP神经网络模型采用三层BP神经网络模型。
[0032] 本发明的目的之二是通过以下技术方案来实现的:
[0033] 本发明提供的一种基于混合模型的医药销量的预测系统,其特征在于:包括药品 销量历史数据序列采集模块、ARIMA模型模块、BP神经网络模型模块、预测结果模块;
[0034]所述药品销量历史数据序列采集模块,用于获取药品销量历史数据序列;
[0035]所述ARIMA模型模块,用于建立ARIMA模型;并将药品销量历史数据序列输入到 ARIMA模型预测获取ARIMA模型预测误差和ARIMA预测结果;
[0036]所述BP神经网络模型模块,用于建立BP神经网络模型;并将AR頂A模型预测误差输 入到BP神经网络模型进行预测获取BP神经网络预测结果;
[0037] 所述预测结果模块,用于将ARMA预测结果与BP神经网络预测结果叠加得到预测 结果。
[0038] 进一步,所述ARB1A模型模块通过以下步骤建立:
[0039] 通过acf自相关函数来确定药品销量历史数据序列的自回归系数p;
[0040] 通过diff差分函数平稳药品销量历史数据序列确定差分次数d;
[0041] 通过pacf偏自相关函数来确定药品销量历史数据序列的移动平均项数q;
[0042] 所述差分次数d通过以下步骤来获取:
[0043]使用diff差分函数对药品销量历史数据序列进行一次差分,获取差分后的时间序 列图;
[0044] 对药品销量历史数据序列进行二次差分和三次差分,并获取差分后的曲线图;
[0045] 比较进行多次差分后的曲线图,选择平稳的差分后的时间序列图,对应的差分次 数即为药品销量历史数据序列的差分次数d;
[0046] 所述自回归系数p通过以下步骤来获取:
[0047] 使用acf自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数据 序列的自相关图;
[0048] 根据自相关图在p阶后不再超出置信边界,确定自回归系数p;
[0049] 所述移动平均系数q通过以下步骤来获取:
[0050] 使用pacf偏自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数 据序列的偏自相关图;
[0051] 根据偏自相关图在q阶后不再超出置信边界,确定移动平均系数q。
[0052] 进一步,所述ARIMA模型预测误差通过以下步骤来获取:
[0053] 根据差分次数d、自回归项数p和移动平均项数q确定药品销量历史数据序列具有 线性规律部分的预测模型ARIMA(p,d,q);
[0054] 使用ARB!A(p,d,q)模型预测药品销量历史数据序列,求得预测值序列;
[0055] 使用药品销量历史数据序列减去求得的预测值序列,得到ARIMA(p,d,q)的预测误 差序列。
[0056]由于采用了上述技术方案,本发明具有如下的优点:
[0057]本发明提供的一种基于BP神经网络和ARMA组合模型的药品销量预测方法;解决 了基于传统研究方法或人工神经网络的单项预测方法预测精度低的问题。本方法是先用 AR頂A模型预测某类药品的历史年销售量,是其线性规律信息包含在了 ARIMA模型的预测误 差中,然后用BP神经网络预测AR頂A模型的误差,使其非线性规律包含在BP神经网络的预测 结果中。最后用AR頂A的预测结果与BP神经网络的预测相加得到组合预测模型的预测值;本 方法能够较大程度地克服时间序列法在预测药品销量时的缺陷,显著提高药品销量预测精 度;能够较好的预测药品销量,可以作为未来药品销量预测方法;能够通过Eviews软件简单 实现其预测药品销量过程,实用性强,便于推广应用。
[0058]本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并 且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可 以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和 获得。
【附图说明】
[0059]本发明的【附图说明】如下。
[0060] 图1为AR頂A-ANN混合模型原理图。
[0061] 图2为药品销量预测的具体实现过程。
[0062]图3为1980-1984年链霉素的销售量曲线图(单位:万支)。
[0063]图4为一次差分曲线图。
[0064]图5为一次差分后销售数据序列的1-20阶的自回归图。
【具体实施方式】
[0065]下面结合附图和实施例对本发明作进一步说明。
[0066] 实施例1
[0067] 如图所示,本实施例提供的一种基于混合模型的医药销量的预测方法,包括以下 步骤:
[0068] 建立AR頂A模型;
[0069] 获取药品销量历史数据序列并输入到ARIMA模型预测获取ARIMA模型预测误差和 ARIMA预测结果;
[0070] 建立BP神经网络模型;
[0071]将ARMA模型预测误差输入到BP神经网络模型进行预测获取BP神经网络预测结 果;
[0072] 将ARB1A预测结果与BP神经网络预测结果叠加得到预测结果。
[0073] 所述ARB1A模型通过以下步骤建立:
[0074]通过acf自相关函数来确定药品销量历史数据序列的自回归系数p;
[0075]通过diff差分函数平稳药品销量历史数据序列确定差分次数d;
[0076] 通过pacf偏自相关函数来确定药品销量历史数据序列的移动平均项数q。
[0077] 所述差分次数d通过以下步骤来获取:
[0078]使用diff差分函数对药品销量历史数据序列进行一次差分,获取差分后的时间序 列图;
[0079] 对药品销量历史数据序列进行二次差分和三次差分,并获取差分后的曲线图;
[0080] 比较进行多次差分后的曲线图,选择平稳的差分后的时间序列图,对应的差分次 数即为药品销量历史数据序列的差分次数d。
[0081 ]所述自回归系数p通过以下步骤来获取:
[0082] 使用acf自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数据 序列的自相关图;
[0083] 根据自相关图在p阶后不再超出置信边界,确定自回归系数p。
[0084] 所述移动平均系数q通过以下步骤来获取:
[0085] 使用pacf偏自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数 据序列的偏自相关图;
[0086] 根据偏自相关图在q阶后不再超出置信边界,确定移动平均系数q。
[0087] 所述ARIMA模型预测误差通过以下步骤来获取:
[0088] 根据差分次数d、自回归项数p和移动平均项数q确定药品销量历史数据序列具有 线性规律部分的预测模型ARIMA(p,d,q);
[0089] 使用ARB!A(p,d,q)模型预测药品销量历史数据序列,求得预测值序列;
[0090]使用药品销量历史数据序列减去求得的预测值序列,得到ARIMA(p,d,q)的预测误 差序列。
[0091] 所述BP神经网络模型采用三层BP神经网络模型。
[0092] 本实施例提供的acf自相关函数为R语言中计算差分函数diff,用于计算向量或者 数组(按列)的有限差分;
[0093]本实施例提供的药品销量历史数据具体处理过程如下:
[0094] source〈-c(110.672,113.685,128.301,85.935,117.725,131.058,126.537, 106.203,
[0095] 143.946,133.739,115.436,97.001,111.753,112.773,86.139,76.955,98.684, 103.113,110.837,70.918)
[0096] sale<-ts (source frequency = 4, start = c( 1980,1))
[0097] 使用ts函数生产实验数据的时间序列,从1980年第一季度开始,每年4个季度
[0098] salediff l〈_diff (sale,differences = l)
[0099] plot.ts(salediff1)
[0100] salediff2〈_diff (sale,differences = 2)
[0101] plot·ts(salediff2)
[0102] salediff3〈_diff (sale,differences = 3)
[0103] plot·ts(salediff3)
[0104] 使用diff函数分别对时间序列数据进行1,2,3次差分,并画出差分后时间序列曲 线图,选择较为平稳的差分次数
[0105] acf (salediff 1, lag. max = 20)
[0106] pacf (salediff 1, lag.max = 20)
[0107] 通过acf函数,pacf函数分别求得差分后自相关图以及偏自相关图,确定合适的滞 后次数,从而确定自相关系数和偏自相关系数
[0108] salearima<-arima( sale, order = c(0,1,1))
[0109] salearimaforecast<-forecast. Arima(salearima,h = 4, level = c(95.5))
[0110] 求得ar ima模型的各个参数后,通过ar ima函数建立ar ima模型,然后通过 forecast .Arima函数进行预测,求得Arima模型的预测结果
[0111] net〈_newff(n.neurons = c(4,8,2,l),1 earning .rate.global = le_2, momentum.global = 0·5,error.criterium=〃LMS〃,Stao = ΝΑ,hidden. layer = 〃tansig〃, output · layer = ''pure 1 in〃,met hod = 〃ADAPTgdwm〃)
[0112] result<-train(net ,datal [,1:4] ,datal[,5],error. criterium=//LMS//,report = TRUE,sh ow.step = 100,n.shows = 5)
[0113] y<-sim(result$net,datal[5:8,])
[0114] 通过newff函数建立三层BP神经网络模型,然后通过train函数使用数据对建立的 模型进行训练,最后通过sim函数求得BP神经网络的预测结果。
[0115] 本实施例还提供了一种基于混合模型的医药销量的预测系统,包括药品销量历史 数据序列采集模块、ARIMA模型模块、BP神经网络模型模块、预测结果模块;
[0116] 所述药品销量历史数据序列采集模块,用于获取药品销量历史数据序列;
[0117] 所述ARIMA模型模块,用于建立ARIMA模型;并将药品销量历史数据序列输入到 ARIMA模型预测获取ARIMA模型预测误差和ARIMA预测结果;
[0118] 所述BP神经网络模型模块,用于建立BP神经网络模型;并将AR頂A模型预测误差输 入到BP神经网络模型进行预测获取BP神经网络预测结果;
[0119] 所述预测结果模块,用于将ARMA预测结果与BP神经网络预测结果叠加得到预测 结果。
[0120] 所述ARB1A模型模块通过以下步骤建立:
[0121] 通过acf自相关函数来确定药品销量历史数据序列的自回归系数p;
[0122] 通过diff差分函数平稳药品销量历史数据序列确定差分次数d;
[0123] 通过pacf偏自相关函数来确定药品销量历史数据序列的移动平均项数q;
[0124] 所述差分次数d通过以下步骤来获取:
[0125] 使用diff差分函数对药品销量历史数据序列进行一次差分,获取差分后的时间序 列图;
[0126] 对药品销量历史数据序列进行二次差分和三次差分,并获取差分后的曲线图;
[0127] 比较进行多次差分后的曲线图,选择平稳的差分后的时间序列图,对应的差分次 数即为药品销量历史数据序列的差分次数d;
[0128] 所述自回归系数p通过以下步骤来获取:
[0129] 使用acf自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数据 序列的自相关图;
[0130] 根据自相关图在p阶后不再超出置信边界,确定自回归系数p;
[0131] 所述移动平均系数q通过以下步骤来获取:
[0132] 使用pacf偏自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数 据序列的偏自相关图;
[0133] 根据偏自相关图在q阶后不再超出置信边界,确定移动平均系数q。
[0134] 所述ARB1A模型预测误差通过以下步骤来获取:
[0135] 根据差分次数d、自回归项数p和移动平均项数q确定药品销量历史数据序列具有 线性规律部分的预测模型ARIMA(p,d,q);
[0136] 使用ARB!A(p,d,q)模型预测药品销量历史数据序列,求得预测值序列;
[0137] 使用药品销量历史数据序列减去求得的预测值序列,得到ARIMA(p,d,q)的预测误 差序列。
[0138] 实施例2
[0139] 本实施例提供的一种基于BP神经网络和ARMA组合模型的药品销量预测方法。该 方法针对仅用基于传统研究方法或人工神经网络的单项预测方法预测精度低的问题。如图 1所示,本实施例实现上述预测过程可以使用R语言简单的实现。
[0140]实现本发明项目的技术方案使:首先,用R语言包中diff差分函数平稳原药品销量 序列,确定差分次数d,然后使用R语言包中的acf自相关函数来确定原药品销量序列的自回 归系数P,最后使用R语言包中的P a c f偏自相关函数来确定原药品销量序列的移动平均项 数。从而确定原药品销量时间序列线性规律部分的六1?0^(?,(1^)模型。然后针对41?頂六(?, d,q)预测模型的预测部分使用BP神经网络模型进行预测,本发明使用了三层BP神经网络模 型,即只含有一个隐藏层的BP神经网络模型。最后将六1?0^(?,(1,(1)模型的预测结果和三层 BP神经网络模型的预测结果进行相加,即得原药品销量的最后预测结果。所述方法的具体 实施步骤如下:
[0141]确定原药品销售数据序列p_data的差分次数d。
[0142] ①首先使用R语言包中提供diff差分函数对原药品销售数据序列p_data进行一次 差分,画出差分后的时间序列图d_l。
[0143] ②同理可以对原药品销售数据序列进行二次差分,三次差分,并作出差分后的曲 线图。
[0144] ③基本进行3次差分后,原来不平稳的时间序列就会变得相对平稳了,比较进行多 次差分后的曲线图,选择一个比较平稳的差分后的时间序列图,对应的差分次数即为原药 品销售序列P_data的差分次数d。
[0145] 确定原药品销售数据序列的自回归系数p。
[0146] ①使用R语言包提供的acf自相关函数,并设置滞后阶数lag为20,画出经过上面d 次差分后的药品销售数据序列的1-20阶自相关图acf_p。
[0147] ②观察求得的自相关图阶后不再超出置信边界,从而确定自相关系数p。
[0148] 确定原药品销售数据序列的移动平均系数q。
[0149] ①使用R语言包提供的pacf偏自相关函数,并设置滞后阶数lag为20,画出经过上 面d次差分后的药品销售数据序列的1-10阶偏自相关图pacf_p。
[0150] ②观察求得的偏自相关图阶后不再超出置信边界,从而确定移动平均 系数q。
[0151]使用ARIMA(p,d,q)预测原药品销售数据序列p_data,并求得ARIMA(p,d,q)的预测 误差值序列w_data。
[0152] ①根据上面步骤确定的差分次数d,自回归项数p和移动平均项数q,确定原药品销 售数据序列具有线性规律部分的预测模型ARIMA(p,d,q)。
[0153] ②使用求得的ARIMA(p,d,q)模型预测原药品销售数据序列?_(1&丨&,求得预测值序 列f_data。
[0154]③使用原药品销售数据序列p_data减去求得的预测值序得到ARIMA(p, d, q)的预测误差序
[0155] 使用三层BP神经网络模型预测上一步得到的ARIMA(p,d,q)预测误差值序列界_ data,得到BP神经网络的预测值序列bp_data。
[0156] ①根据求得的预测误差序列,确定三层BP神经网络模型的η个输入项,其中确定方 法为预测误差序列的每5项作为三层ΒΡ神经网络模型的一个网络输入项。
[0157] ②使用莱温博格-马克沃特(L-M算法)的5-8-1网络结构的ΒΡ神经网络算法进行预 测。
[0158] 将上面步骤得到的f_data和bp_data相加,得到原药品销售数据序列p_data的预 测值 pf_data。
[0159] 实施例3
[0160]本实施样例采用了我国黑龙江省1980-1985年每季度的链霉素销售量,其中使用 1980-1984年每季度的链霉素销量作为训练数据,1985年每季度的链霉素销量作为测试数 据。
[0161] 样本数据如表1所示,表1.样本数据(单位:万支)
[0162]
[0163] ^具体预测步骤如下:
[0164] 确定AR頂A(p,d,q)模型的参数p,d,q,并使用求得的AR頂A模型预测1985年每季度 的链霉素销量。
[0165] ①使用R语言载入1980-1984年每季度的链霉素销售量,并画出时间-销量曲线图 3。然后对其进行一次差分,并画出一次差分后的图4,此时发现一次差分后销量曲线变得比 较平稳了,因此可以确定差分次数d为1。因此求出一次差分后的销售数据序列salediff 1。
[0166] ②对一次差分后的销售数据序列salediff!进行自回归分析,使用R语言提供的 acf自回归函数3〇汽8316乜€0,138.11^1 = 20)求得〇-20阶的自回归图5。从图5中可以看出0 阶后的所有值都没有超出置信边界,所以可以确定自回归系数P为0。
[0167] ③对一次差分后的销售数据序列salediff!进行偏自回归分析,使用R语言提供的 口&〇付扁自相关函数口3〇;^8316(11€;^,138.1]^1 = 20)求得1-10阶的偏自相关图。然后得到1阶 后的所有值都没有超出置信边界,所以可以确定偏自回归系数q为1。
[0168] ④根据上面求得的p,d,q值可以建立ARMA(0,1,1)预测模型,然后使用ARMA(p, d,q)预测模型预测销售数据source,具体可在R语言中实现。
[0169] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较 佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技 术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明 的权利要求范围当中。
【主权项】
1. 一种基于混合模型的医药销量的预测方法,其特征在于:包括以下步骤: 建立ARIMA模型; 获取药品销量历史数据序列并输入到ARMA模型预测获取AR頂A模型预测误差和AR頂A 预测结果; 建立BP神经网络模型; 将ARIMA模型预测误差输入到BP神经网络模型进行预测获取BP神经网络预测结果; 将ARIMA预测结果与BP神经网络预测结果叠加得到预测结果。2. 如权利要求1所述的基于混合模型的医药销量的预测方法,其特征在于:所述ARIMA 模型通过以下步骤建立: 通过acf自相关函数来确定药品销量历史数据序列的自回归系数p; 通过diff差分函数平稳药品销量历史数据序列确定差分次数d; 通过pacf偏自相关函数来确定药品销量历史数据序列的移动平均项数q。3. 如权利要求1所述的基于混合模型的医药销量的预测方法,其特征在于:所述差分次 数d通过以下步骤来获取: 使用diff差分函数对药品销量历史数据序列进行一次差分,获取差分后的时间序列 图; 对药品销量历史数据序列进行二次差分和三次差分,并获取差分后的曲线图; 比较进行多次差分后的曲线图,选择平稳的差分后的时间序列图,对应的差分次数即 为药品销量历史数据序列的差分次数d。4. 如权利要求1所述的基于混合模型的医药销量的预测方法,其特征在于:所述自回归 系数P通过以下步骤来获取: 使用acf自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数据序列 的自相关图; 根据自相关图在P阶后不再超出置信边界,确定自回归系数P。5. 如权利要求1所述的基于混合模型的医药销量的预测方法,其特征在于:所述移动平 均系数q通过以下步骤来获取: 使用pacf偏自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数据序 列的偏自相关图; 根据偏自相关图在q阶后不再超出置信边界,确定移动平均系数q。6. 如权利要求1所述的基于混合模型的医药销量的预测方法,其特征在于:所述ARIMA 模型预测误差通过以下步骤来获取: 根据差分次数d、自回归项数p和移动平均项数q确定药品销量历史数据序列具有线性 规律部分的预测模型ARIMA(p,d,q); 使用ARIMA(p,d,q)模型预测药品销量历史数据序列,求得预测值序列; 使用药品销量历史数据序列减去求得的预测值序列,得到41?頂4(?,(1,(1)的预测误差序 列。7. 如权利要求1所述的基于混合模型的医药销量的预测方法,其特征在于:所述BP神经 网络模型采用三层BP神经网络模型。8. -种基于混合模型的医药销量的预测系统,其特征在于:包括药品销量历史数据序 列采集模块、ARIMA模型模块、BP神经网络模型模块、预测结果模块; 所述药品销量历史数据序列采集模块,用于获取药品销量历史数据序列; 所述ARMA模型模块,用于建立ARMA模型;并将药品销量历史数据序列输入到AR頂A模 型预测获取ARIMA模型预测误差和ARIMA预测结果; 所述BP神经网络模型模块,用于建立BP神经网络模型;并将ARMA模型预测误差输入到 BP神经网络模型进行预测获取BP神经网络预测结果; 所述预测结果模块,用于将ARIMA预测结果与BP神经网络预测结果叠加得到预测结果。9. 如权利要求8所述的基于混合模型的医药销量的预测系统,其特征在于:所述ARIMA 模型模块通过以下步骤建立: 通过acf自相关函数来确定药品销量历史数据序列的自回归系数p; 通过diff差分函数平稳药品销量历史数据序列确定差分次数d; 通过pacf偏自相关函数来确定药品销量历史数据序列的移动平均项数q; 所述差分次数d通过以下步骤来获取: 使用diff差分函数对药品销量历史数据序列进行一次差分,获取差分后的时间序列 图; 对药品销量历史数据序列进行二次差分和三次差分,并获取差分后的曲线图; 比较进行多次差分后的曲线图,选择平稳的差分后的时间序列图,对应的差分次数即 为药品销量历史数据序列的差分次数d; 所述自回归系数P通过以下步骤来获取: 使用acf自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数据序列 的自相关图; 根据自相关图在P阶后不再超出置信边界,确定自回归系数P; 所述移动平均系数q通过以下步骤来获取: 使用pacf偏自相关函数,并设置滞后阶数,画出经过d次差分后的药品销量历史数据序 列的偏自相关图; 根据偏自相关图在q阶后不再超出置信边界,确定移动平均系数q。10. 如权利要求8所述的基于混合模型的医药销量的预测系统,其特征在于:所述ARIMA 模型预测误差通过以下步骤来获取: 根据差分次数d、自回归项数p和移动平均项数q确定药品销量历史数据序列具有线性 规律部分的预测模型ARIMA(p,d,q); 使用ARIMA(p,d,q)模型预测药品销量历史数据序列,求得预测值序列; 使用药品销量历史数据序列减去求得的预测值序列,得到41?頂4(?,(1,(1)的预测误差序 列。
【文档编号】G06N3/02GK105976199SQ201610264506
【公开日】2016年9月28日
【申请日】2016年4月26日
【发明人】李季, 申永飞
【申请人】重庆大学