摘要,全部文章在资源中,自行下载免费观看
本文开发一个北京朝阳医院销售数据挖掘平台,分析2018年的销售情况并进行数据可视化展示,继而进行数据挖掘研究其内在的运行规律建立营销预测模型,实现对未来营销的预测支持。先进行数据清洗,然后通过Canopy聚类分析算法得出噪声数据,研究了用簇内随机一点的值,或随机一个簇的均值,或所有点的均值补值插值方法,最终选用距离最近簇的平均值(均值法)替换得到相对完善的数据集。从药品和消费者两个角度分析了药品月度销售数量变化趋势,2,4,7月销售数量变化趋势,药品月度销售额变化趋势,客单价月度变化趋势,药品整体销售情况,不同类别药品销售量和不同类别药品平均订单销售量、销售差异情况,热销药品销售单价变化率,月均消费次数,月均消费金额,客单价及药品复购率,药品整体复购情况,消费者情况,并实现了可视化报告输出。选择数据集的五分之四做训练集,五分之一做测试集,构建ARMA(p,q)模型或ARIMA(p,1,q)模型进行时序序列分析和预测,实现了接下来一个月销售数据的预测。
1. 引言
二十世纪九十年代,随着科技的发展数据库系统被广泛的应用,网络技术进入发展快车道,而数据库技术迈入了一个新的次元,从之前仅仅管理一些简单的数据类型到现在管理各种各样的数据类型,如图形,图片,声音,视频,电子文档,前端界面等复杂数据类型,当然数据量的规模也越来越庞大,这些数据在给我们提供多姿多彩的信息,也体现出明显的海量信息特征[1]。在这个信息大爆炸的年代,大量的信息会带来数不清的负面影响,最明显的特征就是——有效的信息无法快速有效的提炼[1]。大量无效的信息必然会产生信息距离(the Distance of Information-state Transition,信息状态转移距离,是对一个事物信息状态转移所遇到障碍的测度,简称DIST或DIT)和有用知识的丢失,这也就是约翰·内斯伯特(John Nalsbert)称为的“信息丰富而知识贫乏"窘境[1]。在这样的时代背景之下,对大量数据进行深层次研究,发现冥冥之中的规律以便更好使用这些数据成为迫在眉睫的问题,令人无奈的是,目前仅仅根据数据库的增删改查等功能,无法找到隐藏在各种信息的那根“线”,更无法根据现有的数据进行预测未来的发展趋势。在这样的时代背景的影响下,数据挖掘技术紧跟时代潮流应运而生。
2. 研究方案设计
数据预处理:原始的数据集通过清洗,补值插值,去噪声归一化等方法,将其转变为符合规定的数据集。 数据挖掘:是从符合的数据集中提取出出有效信息的过程,根据数据集内容和分析方向等选择合适的统计方法,对该数据集中大量的数据进行分析研究,取其精华,去其糟泊,得到有效的信息进行详细研究形成结论总结,即在预处理后的具有固定形式的数据集上完成知识的提炼,最后以合适的知识模式用于支持进一步分析决策工作[2]。 数据预测:根据数据挖掘揭露的隐含规律,建立销售预测数学模型,为以后医院药品营销提供更好的进货及服务支持。
2.1系统功能结构设计
用户通过网站进入系统后存在修改密码以及注销登录需求。系统通过上传数据集及对数据集的数据清洗持久化保存后,便可选择当前数据源进行可视化分析,若不再需要改数据源也可以删除该数据源,选择完成数据源后,可根据四个可视化方面(药品整体销售情况随时间的变化率,不同药品销售差异度,热销药品销售情况随时间的变化率,复购率)及每个模块的数据分析表格进行得到分析报告并编写存储,然后便可分模块和整体打印分析报告。预测分析模块:用户查看总销售数量预测和热销药品预测 (实际销量,最近均值,最近随机,随机均值,全部均值)四种补值插值方法构建的ARMA模型预测图形得到接下来一个月的数据预测结果。
2.2E-R图
3. 数据挖掘研究
3.1数据处理
3.1.1数据清洗
1.查看数据集如图3-1。 **2.处理缺失值:**查看数据集发现总共有七个字段,其中购药时间和社保卡号数据都少于其它数据集一条,缺失的数据较少,因此删除该条记录。 **3.数据类型转换:**将字符串型数字数据转换为浮点数,将字符串型时间转换为日期格式。 **4.异常值处理:**数据分析表格如图3-2。虽然销售数量、应收金额和实收金额为负值,但考虑到这可能表示退货,所以不进行异常值处理。
3.1.2白噪声数据筛选
1、Canopy算法 Canopy算法是一种简单、快速的聚类分析方法。不需要提前划分中心点,避免了K-means算法在选取初值时遇到的问题。这个算法经常被用来辅助其他算法。将数据集粗略划分为聚类,然后将划分后的数据交给其他算法进行精细聚类[3]。 若噪声数据太多会造成预测模型存在较大偏差。使用聚类分析算法,对于不归属任何簇或簇内点很少的数据认为是白噪声数据,用距离其最近簇的平均值(均值法)替换(或簇内随机一点的值,或随机一个簇的均值,或所有点的均值)进行替换这些白噪声数据。 Canopy是聚类算法的一种实现,冠层聚类最大的特点是不需要预先指定k值(即聚类的个数)[4]。与其他聚类算法相比,冠层聚类的准确率较低,但在速度上有很大优势[4]。因此,冠层聚类可以先对数据进行“粗”聚类,然后再用K-means进行进一步的“细”聚类[4]。
2、白噪声数据筛查 对总销售数据以及热销药品的销量利用Canopy聚类算法进行聚类,完成白噪声数据的筛查。常规数据为;分簇后,簇内数据量很多的为常规数据,白噪声数据是对常规数据异常的一类数据。这里通过时间步长调节的方法依据统计分析得出异常数据筛查依据。 总销售数量时间步长的选择:选择时间步长为1,经过测试发现当选择时间步长为0.01和0.1时进行其分簇发现其数据主要集中于某一簇或两簇,其噪声数据筛选不够明显分簇不均匀故舍弃,当选择时间步长为10或者100时发现分簇后数据均为6个簇无噪声数据可以筛选删除插值,去噪声数据主要影响因素为销售数据,其时间影响因素较少因此选择时间步长为1。
热销药品的销量时间步长选择:当时间步长选择为0.01时其分簇数据主要集中在某一簇,其分簇不合理,应该不选择。当选择时间步长为1,10,100时发现其分簇为少量几个簇且其无法筛选出噪声数据故舍弃。热销药品较少分簇选择时间步长为0.1时其分簇较多,较均匀且噪声数据明显,因此选择时间步长为0.1。 3.1.3数据插值补植 通过对白噪声数据的筛选,对于不归属任何簇或簇内点很少的数据认为是白噪声数据,用距离其最近簇的平均值(均值法)替换;距离最近簇内随机一点的值进行替换,随机一个簇的均值进行替换,所有点的均值进行替换。通过这四种方法进行数据规范化得到最终规范的四组数据。如图3-8为四种方法去噪。
图3-8 最近均值,最近随机,随机均值,全部均值规范化 3.2数据分析参数规划 利用sql语句计算参数: 计算总消费金额 :select sum(reality_money) as total_number from sales where number= id(从sales(读取当前选择数据源数据,计算实际收费总和) 计算总消费次数: select count() as number from (select time,community_card,Count()from sales where number=id group by time,community_card) as test(读取当前选择数据源数据,同一天内,同一个人所有消费次数算作一次消费,计算出总消费次数) 计算总月份数:利用pandas按照日期未索引直接按照月份求和 业务指标计算如下:总消费次数:number,月份数:month_number,总消费金额:total_money 业务指标1:月均消费次数=number/month_number 业务指标2:月均消费金额=total_money/:month_number 业务指标3:客单价=total_money/number 3.3 ARMA数据模型预测 自回归滑动平均模型是一种研究时间序列的方法,是在自回归模型和移动平均模型的基础上“混合”组成[5]。常用于市场研究中的长期追踪资料,例如,panel研究中的消费行为模式变迁研究;零售研究中用于具有季节变动特征的销售量、市场规模的预测等[5]。 时间序列分析,是指将原来的销售分解为趋势、周期、时期和不稳定因素四部分来看,然后结合这些因素,提出销售预测[5]。主要指的是通过对一个区域进行一定时间段内的连续遥感观测,从中提取图像的特征,并从中分析出变化过程和发展规模[5]。但首先需要由检测对象的时相变化特点来确定遥感检测的周期,然后选择合适的遥感数据[5]。本数据源数据为时序序列,由时序序列构造模型来完成预测。 依据前文四种补值插值方法得到数据后进行平稳性检测。根据时序图3-9,自相关图3-10和单位根检验其平稳性,若不平稳则进行一次差分后可根据时序图(是否有周期性和递增递减趋势)、自相关图(截尾性)、偏自相关(拖尾性)图3-11和单位根检验其平稳性。若单位根检测p值小于0.05,则得到的数据为平稳性序列。若原数据集经过检测后为平稳序列则建立ARMA(p,q)模型,其中p和q可根据自相关图的截尾大致估算出p,q值,也可计算BIC矩阵准确得出p,q值。若原数据集进行一次差分后得平稳数据集,则进行建立ARIMA(p,1,q)模型其中p,q值可根据自相关性的截尾和偏自相关的拖尾性大致得出也可根据BIC准确得出。
依据不同数据源根据发展趋势线与原数据集发展趋势线夹角最小原理,可以选择不同的降噪方式。本数据源—北京朝阳医院销售数据,通过四种方法对数据集中缺失12天数据的补值研究,实际销售图与四种方法12天补值后分别叠加输出的趋势图如图3-13至3-16所示。
比较发展趋势线,其中最近随机,随机均值,全部均值预测曲线均出现负值,这与销售数量不符合。且补值插值中,只有最近均值补值插值后修改的曲线与原销售曲线更为接近。分析预测曲线以后发现最近均值的曲线在一个范围内上下波动,符合实际销售情况;最近随机的预测曲线出现负值,且曲线在-0.03处稳定(明显不符合实际销售曲线);随机均值上下波动,但出现负值,且波动越来越小(原销售数据在一个范围内上下波动,即不符合);而全部均值出现负值,且曲线在0处稳定(明显不符合实际销售曲线)。同时最近均值方法趋势线与历史销售趋势线夹角最小,是最符合实际情况的。综上所述所以降噪采用最近均值方法实现。
|