易明建模实践:用历史数据做商业预测

明确目标,准备数据

首先要明确目标,知道要预测什么东西。

比如银行放贷款时,希望预测出贷款人违约的可能性,从而判定是否放贷以及贷款利率。

保险公司制定保费时,希望预测出客户的理赔风险,从而制定更灵活的保费政策。

商业营销中,希望预测出哪些用户会购买哪些产品,从而更精准的进行销售活动,等等。

只要我们手头有足够的历史数据,那么这些任务都是可以做的。

以贷款违约预测为例。历史数据可以采集近期贷款数据。例如想预测 7 月份用户的违约情况,可以采集 1-6 月份的数据来建立模型,也可以是近 1 年或者近 3 个月等等。这些由根据业务特征决定

采集到的历史数据要整理成这样的一张表格,俗称宽表

..

宽表中要包含特征变量和目标变量。

目标变量就是要预测的目标,比如图中的 y 变量,表示每笔贷款的违约情况。yes 违约,no 不违约。

特征变量是和预测目标可能相关的一些信息。

比如这个例子中,特征变量包括贷款人的收入水平、负债情况,贷款金额、期限、利率以及贷款人的工作职位、居住条件等等。

这种目标变量只有 yes 和 no 的问题,叫做二分类问题。这是一种很常见的预测类型。比如预测客户是否会购买某产品,平台用户是否会流失,电子邮件是否垃圾邮件等,都是二分类问题。

除此之外易明建模还可以做回归问题和多分类问题。

回归问题,目标变量是一个数值,比如预测产品的销量、售价……,。

而多分类问题一般是预测属于什么种类,比如预测产品等级是优、良、合格还是差。

宽表整理好后,可以保存成 Excel 格式,或是 csv,txt 都可以。

导入数据,一键建模

整理好的宽表就可以用来建模了。

点击“新建模型”,选择准备好的宽表,导入到易明建模。

..

导入数据后软件会提示配置目标变量。

比如该数据中的目标变量为 y,表示用户是否违约。

..

易明建模还会自动识别这些特征变量的数据类型,并绘制出分析图。

比如本例中的 education 变量,表示贷款人的受教育水平。易明建模识别出它是个分类型变量,缺失率为 0。有 4 种分类值,其中 secondary 的取值最多,对应饼图中的蓝色部分,占比约 51%。

..

现在点击工具栏上”建模”按钮就可以了。整个数据预处理和建模过程都是自动进行的不需要人工操作。

..

建模过程中会显示进度条,如下图,表示数据预处理进行到 40%。

大概几分钟到几十分钟就能完成模型建立,有时会更短,看数据量。

模型建好后,可以看到该模型的算法和对应参数。软件同时会输出一个 pcf 后缀模型文件,该文件可以用来做预测。

..

..

建模完成后,界面会返回每个变量的重要度。

重要度越大表示该变量越能影响预测目标。

使用该功能可以帮我们做一些业务分析,比如该数据中 pdays 变量对用户违约的影响较大。

..

评估模型,执行预测

模型建好后,点击“模型表现”,可以查看模型表现来评估模型。

..

比如我们通常会看一个叫做 AUC 的指标。它的取值范围为(0.5-1),原则上越高越好。

本例中,这个模型的 AUC 是 0.927,是一个不错的模型,用这个模型去做预测,可信度很高。

模型评估合格后,就可以做预测了。

用来预测的数据也是一张宽表。预测数据中特征变量和建模用到的特征变量必须是一致的,只是不包含目标变量。

比如下图中的两张表,上面的表是建模数据,包含目标变量 y。

下面的表是预测数据,不包含目标变量 y,除此之外其他的变量名都是一样的。

..

打开预测界面,导入 pcf 模型文件,再导入要预测的数据集,就可以执行预测了。

..

预测完成可得上图中的界面。最左侧的一列就是预测结果。在本例中百分数表示客户违约的概率,概率越大的客户违约的风险越高。

点击该列变量名,还可以对预测结果排序,筛选出高风险客户。

最后我们再来总结下使用历史数据做商业预测的流程。

1. 整理宽表。

将历史数据和待预测的数据都整理成宽表,历史数据中必须要有目标变量,待预测数据则没有。

2. 导入数据建模。

将历史数据导入到易明建模,建立模型,生成 pcf 后缀的模型文件

3. 用模型做预测。

打开 pcf 模型文件,导入待预测数据,执行预测。然后就可以根据预测出来的结果(比如违约概率)去决定商业行动了。