数据智能诊断

功能简介

在推荐业务中,数据质量的好坏决定了后续的数据清洗及业务效果。数据智能诊断提供对user,item,行为表的数据的探查,发现其中隐藏的数据质量问题。为提高数据完整性以及特征质量提供辅助分析以及后续改进建议。

前置条件

部署 PAI-Rec 配置中心,且版本在 1.2.6 及以上。部署完成后,登录配置中心进行以下操作。

第一步 设置数据源

在开始进行数据智能诊断前,首先需要设置数据源。目前数据智能诊断支持 MaxCompute 数据源。

具体步骤如下:

  1. 登录配置中心,点击左侧导航栏中元数据管理下的 AK 管理,进入 AK 管理页面。

  2. 点击新增按钮,创建访问数据源需要的 AK 信息。

  3. 点击元数据管理下的数据源管理,进入数据源管理页面。

  4. 点击新增按钮,添加数据源。

    • 类型选择 maxcompute,数据源名称由自己定义,region,项目名称和 AK 按实际情况填写。

    • 点击确认按钮提交。

元数据管理操作参考文档链接

第二步 设置数据表

设置好数据源之后还需要设置数据表以进一步指明使用数据源中的哪张表。

具体步骤如下:

  1. 点击左侧导航栏中的数据智能下的数据表管理,进入数据表管理页面。

  2. 点击新增按钮,添加数据表。

    • 数据表名称由自己定义,不同于表的实际名称。数据源选择第一步中创建的数据源,表名称按实际情况填写。

    • 填写完表名称后,可以通过点击表内导入按钮自动导入字段信息,也可以通过点击新增按钮手动添加。

    • 点击表单下方确认按钮提交。

alt 新增数据表示例图

数据预览

成功创建数据表之后可以通过列表右侧操作栏提供的数据抽样链接预览数据,辅助分析。

alt 数据抽样示例图

第三步 配置任务

设置好数据源和数据表后,就可以为数据源中的数据配置数据智能诊断任务了。目前数据智能诊断支持 5 种诊断任务。

分别为:

  • 全表字段分析。统计特征的 数据总量, 取值数, 空值数, 特征取值的百分位数, 特征取值频数的的百分位数 (包括最大值, 最小值, 中位数)。

  • 字段分布分析。统计特征的 取值和取值频数的 等距分桶 数据分布直方图。

  • 物品/用户 变化率。统计每天的 用户 或者 物品的增加/减少量 和 增加/减少率。

  • 用户留存率分析。仅适用行为表, (对于T天数据) 计算用户的 周期(T+k天内)存留率 和 单天(第T+k天)留存。

  • 两表关联分析。统计两表关联时, 关联字段各自没有关联上的数量所占比例。

具体步骤如下:

  1. 点击数据智能下的任务管理,进入任务配置和管理界面。

  2. 点击新增按钮,添加任务。

    • 首先根据需要选择任务类型。

    • 选择好之后会显示所有需要的参数(下面会详细说明),按实际情况填写。

    • 点击表单下方确认按钮提交。

alt 新增任务示例图

任务参数说明

每种任务的配置包括一些通用的参数和各自所需要的一些特殊参数,这里分开说明。

通用参数

  • 数据表:选择第二步中创建的数据表信息(通过当时自定义的数据表名称选择)。

  • 任务名称:自定义。

  • 分区字段:目标数据表的分区字段,会默认选择dt、ds,如果都不存在需要手动选择。

  • 周期运行:选择是则以天为周期自动执行任务,任务的业务时间为前一天(即分析前一天数据)。

  • 周期运行时间:只有在周期运行选择是时有效,指定每天何时执行任务。

全表字段分析

备注:默认会对数据导入的全部字段进行分析,

当字段类型为 float,double 时,作为连续值统计其取值;
当字段类型为 string,boolean 时,作为离散值统计其频数;
当字段类型为 bigint,int 时,同时作为连续值和离散值统计;

  • Tag 字段:标签类型特征,在表里面存储的类型一般是string类型。格式一般为“XX|XX|XX”,参见tagfeature

  • Tag 字段分隔符:例如文章标签特征为“娱乐|搞笑|热门”,则其中|为分隔符。参数默认“|”。

  • 字符串空值表示:视为空值的字符串,只对string类型起效,默认 “” 。

  • 数据百分位分布:用户指定的,百分位数列表。取值范围 [0,100],默认 0,25,50,75,100

字段分布分析

  • Tag 字段:同上。

  • Tag字段分隔符:同上。

  • 分桶数量:绘制近似等距分桶统计时,分桶的数量。

物品/用户变化率分析

  • 分析字段:待分析表(用户表/物品表) 中的ID列

用户留存率分析

  • 用户ID字段:行为表的用户ID列

  • 统计周期:用户留存率统计周期的列表,天为单位,默认 [1,3,7,15] 。

两表关联分析

因为此任务包含两张表,所以通用参数中的数据表信息变为关联左表信息和关联右表信息。

同理,分区字段也变为左表分区字段和右表分区字段。

  • join 字段:将两表关联起来的 join 字段。

第四步 执行任务及查看日志

执行任务有两种方式,一种是在第三步配置任务的时候设置周期运行,这样每天都会在指定时间执行任务。

另一种是通过手动进行任务重跑来执行任务,下面说明一下数据重跑的步骤。

  1. 还是在任务管理界面(导航栏 数据智能 > 任务管理),选择目标任务后,点击页面顶端的数据重跑按钮。

alt 数据重跑示例图

  1. 完成上一步后,页面会弹出对话框,选择重跑数据日期(待分析数据的日期),选择完成后点击确认。

    • 补充说明:确认后任务就会生成,并在短时间内开始运行,时间跨度有几天,任务就会对应有几个。

  2. 点击左侧菜单栏中数据智能下的任务日志,再点击查询按钮,查看最近任务的执行状态。

alt 任务日志示例图

第五步 查看报告

在任务执行成功后,就可以查看诊断报告了。

具体步骤如下:

  1. 点击数据智能下的任务管理,进入任务配置和管理界面。

  2. 在目标任务条目的右侧操作区点击诊断报告,跳转值结果页面。默认显示最近 7 天的数据的诊断结果,可以在页面上方重新选择。

alt 获取诊断报告示例图