应用历史数据进行商业预测,首先咱们要晓得什么货色是可能被预测的,举几个例子:
- 银行放贷款时,心愿预测出以后贷款人是否可能守约?
- 保险公司心愿预测出客户的理赔危险,从而更灵便的制订保费,高风险高免费,低危险低免费
- 银行有很多种金融产品,心愿预测出哪些用户会购买哪些产品,更精准的进行销售流动
- 工业生产中,企业心愿预测设施的运行状态,缩小非打算停车
- 商场超市心愿预测出产品的销量,能够精筹备货,降低库存
- 互联网金融信贷业务,心愿预测归还资金的流动状况,正当治理现金流
……
……
如果咱们手头有足够多的历史数据,那么这些工作都是可能做到的。比方工作 1,咱们能够从过来多年的贷款信息记录中找出某种法则,这些信息包含贷款人的收入水平、负债状况,贷款金额、期限、利率以及贷款人的工作职位、寓居条件、交通习惯等等,特地地,必须有过来这笔贷款是否产生过守约的信息。这样,再碰到新的贷款客户,能够依据该客户的各项信息来匹配法则,来确定以后客户守约的可能性有多大。当然,这种预测并不能保障 100% 精确(有很多种方法来评估它的准确率),所以如果只有一例指标(比方只有一笔贷款)须要预测时,那就没有意义了。但通常,咱们都会有很多例指标须要预测,这样即便不是每一例都能预测正确,但能保障肯定的准确率,这依然是很有意义的。对于贷款业务,预测进去的高风险客户未必都是真的,但准确率只有足够高,依然可能无效的防备危险。
用历史数据做预测,一共 3 个步骤:1 筹备历史数据→2 从历史数据中找出法则,咱们称之为建设模型→3 用建设的模型进行预测。
1. 筹备历史数据
历史数据通常是一张咱们俗称的宽表。比方下图这样的 Excel 表格:通过用户的一些根本信息来预测其是否会产生守约行为
首先,宽表中肯定要包含咱们想预测的事件,通常称作预测指标,上图中的预测指标就是历史用户的守约行为,也就是图中 y 那一列,yes 示意守约,no 示意不守约。预测指标还能够是一个数值,比方产品的销量、售价……,或者是预测属于什么品种,比方预测产品质量是优、良、合格还是差。有时指标在原始数据里就有,能够间接应用,有时指标还须要人工标注。
除了预测指标外,这里还须要很多信息,如表中的用户年龄、工作,房产,贷款状况……,这里的每一列称为 变量,也就是和贷款人未来是否守约可能会相干的信息,原则上能收集到的变量越多越好。例如预测客户是否会购买产品,能够收集客户的行为信息,购物偏好,以及产品的特色信息,促销力度等;预测汽车保险理赔危险,须要保单数据,车辆信息、车主交通习惯以及历史理赔状况等等,如果是预测健康险还须要一些被保人的生活习惯,身体状况,就医看病的信息;预测商场超市的销售状况,须要历史的销售订单,客户信息,商品信息;预测不良产品,须要生产的工艺参数,环境,原料状况等数据。总之,收集到的相干信息越多,预测成果也会越好。
采集数据时,通常会截取某一段期间的历史数据来制作宽表,比方咱们想预测 7 月份用户的守约状况,能够采集 1-6 月份的数据来建设模型。数据采集的工夫范畴并不是固定的,能够灵便操作,例如也能够是近 1 年或者近 3 个月等等。
筹备好的宽表要保留成 csv 格局,第一行是题目,前面每一行都是一条历史记录,能够用 Excel 把数据另存为 csv 格局。
如果企业有建设好的信息系统,那能够找 IT 部门要这些数据,很多企业的 BI 零碎中能够间接导出这种数据(可能格局不同,能够用 Excel 转换)。
2. 应用 YModel 建设模型
宽表筹备好后,就能够用 YModel 来建设模型了。
YModel 是一款专门为业务人员和没有业余背景的初学者设计的神器,操作非常简单, 能够到 http://www.raqsoft.com/ymodel-download 下载。
(1)导入数据
点击“New model”按钮,导入数据(也就是整顿好的宽表),数据导入的过程中 YModel 会自动检测数据类型,并主动计算各种统计量。
在首次导入的时候有时会呈现一些谬误,比方文字是乱码,日期格局不对,缺失值没有辨认,只须要回到导入界面配置一下格局,再导入就能够了。比方上面两张图,通过数据预览发现”shop_name”列是乱码,这和默认的字符格局不统一。因而须要批改一下字符格局的配置,文字就能够失常辨认了。
(2)配置预测指标
导入数据后,配置预测指标。称为 指标变量。
(3)建设模型
配置好指标变量,点击”Modeling”按钮,就能够了。整个数据预处理和建模过程都是主动进行的不须要人工操作。
大略几分钟到几十分钟(有时会更短,看数据量)就能实现模型建设。界面会返回每个变量的重要度,重要度越大示意该变量越能影响预测指标。应用该性能能够帮咱们做一些业务剖析,比方预测指标是销量时,能够找到影响销量的一些重要因素。
模型建好后,零碎会写出.pcf 后缀的模型文件,用来做预测。如果还须要保留建模过程,可点击“Save”按钮,生成.mcf 后缀的建模文件。pcf 模型文件中只有模型没有数据,mcf 文件中含有数据和建模配置信息。
3. 应用 YModel 预测
点击 YModel 界面左上方的 Scoring”按钮,关上步骤 2 生成的 pcf 模型文件,导入要预测的数据集(这些数据还是用 csv 格局,和建模用的变量(csv 中的列)必须一样,然而没有预测指标)进行预测,比方下图两张表,区别就是一个有 y,一个没有 y。
导入后,点击界面右上方的“Scoring”按钮进行预测,实现即可得上面的界面,最左侧的一列就是预测后果,在本例中百分数示意客户守约的概率,概率越大的客户守约的危险越高。咱们能够按超过预测的守约概率超过某个阈值就认为高风险客户(具体用什么阈值,要依据业务教训来定,缺乏经验时也能够先简略粗犷地用 50% 来算)。
这个后果还能够导出成 csv,xls 等多种格局的后果文件。
到这一步,咱们的预测就实现了,整个过程能够说是非常简单。
4. 模型体现
后面说了,预测不可能 100% 精确,但总得有个准确度吧,咱们怎么晓得呢?
在第 2 步模型建好当前,点击“Model Performance”按钮,能够看到对于这个模型的一些信息,称为模型体现,如下图。
咱们通常看这个叫 AUC 的指标,取值范畴为(0.5-1),原则上越大越好,示意这个模型越精确。比方这个模型的 AUC 是 0.89,算是不错的模型,用这个模型去做预测的可信度是很好的。不过,这个 0.89 并不是指准确度是 89%(具体的预测准确度和后面说的那个阈值无关,在确定阈值之前是没法算进去的),AUC 的具体含意比较复杂,感兴趣的同学能够去参考数据挖掘的书籍(这有一个浅显易懂的收费电子书 http://www.raqsoft.com/html/course-data-mining.html)。
如果 AUC 很高,靠近于 1,是不是阐明这个模型特地好?也不肯定,这可能会产生所谓的“过拟合”景象。这时,尽管 AUC 指标十分好,但真正拿来预测时可能准确率反而会十分差。至于为什么产生过滤以及如何辨认和防止它,也能够参考上述的书籍。
总结:
最初咱们再来总结下应用历史数据做商业预测的流程:
- 将历史数据和待预测的数据都整顿成宽表,历史数据中必须要有指标变量,待预测数据则没有。
- 将历史数据导入 YModel,建设模型,生成.pcf 后缀的模型文件
- 关上 pcf 模型文件,导入待预测数据,实现预测,生成后果,而后就能够依据预测进去的后果(比方守约概率)去决定商业口头了。