第 3 章 数据基础:数据源、变量类型与数据质量

做信用评分模型,有一句老话我特别信:模型是饭菜,数据是食材。食材不新鲜,再厉害的厨师也白搭。这一章,我就把数据基础掰开了讲,包括数据从哪来、有哪些类型、怎么才算高质量。你想想,如果连客户有没有逾期都搞不清,模型怎么可能稳?

3.1 数据源的三驾马车

信用评分用的数据,来源不外乎三个方向:征信、内部、第三方。我个人习惯先摸清楚每个来源的质量和稳定性,再去谈变量加工。

3.1.1 征信数据

这是最正统的信用数据,来自央行征信中心、百行征信、朴道征信这类机构。包含信用卡还款、贷款记录、查询次数、担保信息等。特点是权威但更新有延迟,一般月更新。

避坑:我遇到过某个项目直接拉央行征信的原始字段当变量,结果发现部分客户征信报告上“当前逾期”字段为空,实际上是因为客户从未办过信用卡,系统默认没数据。我们后来加了一层空值处理,才没把好客户误判成坏客户。

3.1.2 内部数据

自家系统里沉淀的。比如交易流水、App行为、客服投诉、还款渠道偏好。优势是实时、高频、可控。缺点是有偏——数据只覆盖存量客户,对于新客或者流失客,内部数据就抓瞎了。

我个人建议:做内部数据变量时,先做存量客户覆盖度分析,如果某个行为字段缺失率超过 80%,就别硬凑了。

3.1.3 第三方数据

包括运营商(通话时长、流量)、电商(消费等级)、社保公积金(收入稳定性)、黑名单(涉诉、欺诈)等。好处是能填补征信盲区,坏处是数据质量参差不齐,有些供应商接口动不动超时。

我曾经踩过一个大坑:引入某家电商消费数据,说好日更新,结果上线后连续三天接口返回空值。排查半天是对方服务器挂了,我们模型却照常跑了三天,正样本全部标记异常。从那以后,我对第三方数据都做了中断保护:接口失败时用前一次快照填充,并标记为“未知”。

数据源核心字段举例优点常见坑
征信贷款余额、逾期次数、查询频次权威、合规更新慢、空值含义模糊
内部月均交易金额、登录频率、客诉次数实时、可控存量偏差、缺失率高
第三方运营商在网时长、电商月消费额、社保基数补充征信盲区稳定性差、接口不可靠

3.2 变量类型:别把西瓜和芝麻混在一起喂模型

数据拿到手后,先分类型。不同变量类型,处理方式、入模方式完全不同。嗯,我这里说的不是“变量”本身,而是值的刻度尺。

  • 数值型(连续/离散):比如“授信额度”“近6个月逾期次数”。可以直接用,但注意分布极值和量纲差异。
  • 分类型(名义/有序):比如“学历(高中/本科/硕士)”“婚姻状态”。必须做编码,我习惯用坏账率编码或者WOE编码,而不是随便 0/1。
  • 二元型:比如“是否多头借贷”“是否命中黑名单”。这种最简单,直接 0/1 就行。
  • 文本型:比如“客户留言提取的关键词”。需要先分词,再做成 TF-IDF 或词频向量。老实说,传统评分卡很少直接用文本,但机器学习模型可以。
⚠️ 注意:千万不要把有序分类变量(比如“收入等级:低、中、高”)当数值型直接塞进模型,除非你确认等级之间的距离是等距的。我见过有人把“1=低、2=中、3=高”当连续变量用,结果模型学到的非线性关系全歪了。

3.3 数据质量要求:少了会漏,多了会乱

数据质量是模型的生命线。我搞项目时,花在数据清洗上的时间通常占整个建模周期的 60% 以上。下面这四条,是我评估一家数据供应商或一个内部数据表时的核心标准。

  1. 完整性:缺失率不能过高。一般缺失率超过 50% 的变量直接丢弃;30%~50% 的变量可以考虑做缺失值指示,或者用同组均值填补。
  2. 准确性:字段值是否真实。比如“年龄”字段突然出现“-1”或“999”,明显是录入异常。我一般用业务规则做四层校验,比如年龄必须在 0~120 之间。
  3. 一致性:同一个客户在不同表里,字段值应该一致。以前遇到一个麻烦:客户在 A 系统显示“大专”,在 B 系统显示“本科”,这种不一致直接影响模型稳定性。
  4. 时效性:数据是否足够新。征信数据如果延迟 3 个月,那时点信息就基本没用了。我个人习惯给每个变量打一个“数据采集时间戳”,建模时只取最近 90 天的记录。
💡 一个小技巧:做数据质量报告时,我习惯画出每个变量的缺失模式热力图,一眼就能看出哪些变量是“抱团缺失”的。比如征信数据中,“公积金缴纳状态”和“公积金基数”几乎同时缺失,说明这俩字段背后是一个数据源,缺失原因可以一起分析。
信用评分模型数据基础框架 三大数据源 征信 内部 第三方 变量类型 数值型 分类型 二元型 文本型 数据质量要求 完整性 准确性 一致性 时效性 数据源提供原始字段 → 变量类型决定加工方式 → 质量要求控制可用性 三者联动,缺一不可
小结一下:数据基础这一层,说白了就是搞清楚数据从哪来、长什么样、能不能用。征信、内部、第三方各有各的脾气;变量类型决定了你后续做特征工程时的“工具箱”;数据质量要求是你和业务方讨价还价的底线。我自己的经验是,建模前先把这三点理清楚,后面90%的坑都能提前避开。