21、数据挖掘中的数据复用与异常值处理

数据挖掘中的数据复用与异常值处理

1. 数据复用:GenIQ 模型的强大数据挖掘效应

1.1 数据复用概念

数据复用是指将构建 GenIQ 模型时发现的新变量添加到原始数据集中。由于这些新变量是原始变量的重新表达,原始变量与 GenIQ 挖掘出的变量之间的相关性预期会很高。在统计建模中,这种高相关性问题被称为多重共线性。多重共线性会导致回归系数不稳定等问题,但 GenIQ 模型没有系数,因此不受多重共线性的影响。数据复用的好处很明显,它能通过添加新的、具有预测能力的 GenIQ 挖掘变量来增强原始数据集。

1.2 数据复用示例

1.2.1 构建 OLS 回归模型

为了说明数据复用,构建一个普通最小二乘法(OLS)回归模型,因变量为 PROFIT,预测变量为 XX1 和 XX2,使用表 25.1 中的数据。
OLS 利润估计模型方程为:

Profit_est = 2.42925 + 0.16972*XX1 - 0.06331*XX2    

根据十分位数表性能评估该模型。对表 25.1 中的个体按 Profit_est 进行评分和排名,结果见表 25.2。PROFIT 排名并不完美,不过有三个个体被正确放置在合适的位置。具体来说,个体 ID 1 被正确放置在最高位置(最高十分位,十分位大小为 1);个体 ID 9 和 ID 10 被正确放置在最后两个位置(第九和最低十分位,每个十分位大小为 1)。

ID XX1 XX2 PROFIT Profit_est
1 45 5 10 9.74991
6 46 38 5 7.83047
4 32 23 7 6.40407
7 25 12 4 5.91245
2 32 33 9 5.77099
3 33 38 8 5.62417
8 23 30 3 4.43348
5 10 6 6 3.74656
9 5 5 2 2.96129
10 12 30 1 2.56660
1.2.2 构建 GenIQ 利润模型

GenIQ 利润模型如图 25.1 所示。同样根据十分位数表性能评估该模型,对表 25.1 中的个体按 GenIQvar 进行评分和排名,结果如图 25.1 中的表 1 所示。PROFIT 排名是完美的。不过,暂不宣布 GenIQ 模型优于 OLS 模型。

GenIQ 模型的计算机代码就是 GenIQ 利润模型方程。GenIQ 模型树表明 GenIQ 利润模型有三个预测变量:原始的 XX2 变量以及两个数据复用变量 GenIQvar_1 和 GenIQvar_2。

1.2.3 数据复用变量
  • 产生机制 :GenIQ 建模中发现的数据复用变量是通过遗传编程(GP)的继承机制产生的。GP 从一个初始随机集(遗传种群)开始,例如 100 个遗传模型,由一组预测变量、数值“变量”(在 GP 范式中数字被视为变量)和一组函数(如算术和三角函数)定义。初始遗传种群(第 0 代)经过 GP 进化计算,包括模仿自然生物遗传算子:复制/繁殖、交配/性组合和改变/突变。一些模型被复制,大多数模型进行交配产生具有更高预测能力的后代模型,少数模型通过改变模型特征来提高预测能力。第 1 代的 100 个模型比第 0 代的模型具有更高的预测能力,然后继续进行复制 - 交配 - 改变的迭代过程,直到十分位数表的适应度值趋于稳定。
  • 捕获过程 :当十分位数表适应度值出现跳跃时,GenIQer 停止过程,获取相应的 GenIQ 模型(通常标记为 GenIQvar_i),并将该数据复用变量添加到原始数据集中。GenIQer 通常捕获并添加两到三个 GenIQvar 变量,然后使用原始变量和添加的 GenIQvar 变量构建最终的 GenIQ 模型。如果在构建 GenIQ 模型的最后一步观察到极端跳跃,GenIQer 可以将相应的 GenIQvar 变量添加到原始数据集,然后重新开始构建最终的 GenIQ 模型。

GenIQvar_1 由原始变量 XX1 和 XX2 以及余弦函数定义,GenIQvar_2 由 GenIQvar_1、 - 0.345 和 - 0.283 以及加法、除法和乘法函数定义。

1.3 修改后的数据复用:GenIQ 增强回归模型

将数据复用的定义修改为将构建 GenIQ 或任何模型时发现的新变量添加到原始数据集中。构建一个只有一个预测变量(已构建模型的得分)的 GenIQ 模型。这种将 GenIQ 用作现有回归模型增强器的方法,经实证表明,80% 的时间能显著改善现有模型。

1.3.1 构建 LRM 模型

构建一个逻辑回归模型(LRM),因变量为 RESPONSE,预测变量为 XX1 和 XX2,使用表 25.3 中的数据。
LRM 模型方程为:

Logit of RESPONSE (= Yes) = 0.1978 - 0.0328*XX1 + 0.0308*XX2    

根据十分位数表性能评估该模型。对表 25.2 中的个体按 Prob_of_Response 进行评分和排名,结果见表 25.4。RESPONSE 排名并不完美,不过有三个个体被正确放置在合适的位置。具体来说,个体 ID 7 被正确放置在最高位置(最高十分位,十分位大小为 1);个体 ID 4 和 ID 2 被正确放置在最后两个位置(第九和最低十分位,每个十分位大小为 1)。

ID XX1 XX2 RESPONSE Prob_of_Response
7 45 5 Yes 0.75472
10 30 10 No 0.61728
3 35 21 Yes 0.57522
5 45 37 No 0.53452
6 16 13 No 0.48164
8 30 30 Yes 0.46556
9 6 10 Yes 0.42336
1 31 38 Yes 0.41299
4 23 30 No 0.40913
2 12 30 No 0.32557
1.3.2 构建 GenIQ 增强模型

构建一个只有一个预测变量(上述 LRM 模型)的 GenIQ 模型。根据十分位数表性能评估该 GenIQ 增强的 RESPONSE 模型,对表 25.2 中的个体按 GenIQvar 进行评分和排名,结果见表 25.5。RESPONSE 排名是完美的。

GenIQ 增强的计算机代码是 GenIQ 增强的 RESPONSE 模型方程。GenIQ 增强树表明该模型有预测变量 Prob_of_Response 以及两个数值变量 3 和 0.1,结合正弦(Sin)、除法和乘法函数。

ID XX1 XX2 Prob_of_Response RESPONSE GenIQvar
8 30 30 0.46556 Yes 0.99934
9 6 10 0.42336 Yes 0.98444
3 35 21 0.57522 Yes 0.95002
7 45 5 0.75472 Yes 0.88701
1 31 38 0.41299 Yes -0.37436
5 45 37 0.53452 No -0.41121
6 16 13 0.48164 No -0.51791
2 12 30 0.32557 No -0.86183
4 23 30 0.40913 No -0.87665
10 30 10 0.61728 No -0.99553

2. 异常值处理:不丢弃而是调节异常值的数据挖掘方法

2.1 异常值问题背景

在统计学中,异常值是指位置落在数据总体模式之外的观测值。异常值会给统计回归模型带来问题,因为统计回归模型对异常值非常敏感,可能导致估计的回归模型预测结果不可靠。常见的处理异常值的方法是“确定并丢弃”它们,但这种方法存在一些问题。

2.2 异常值检测方法

2.2.1 单变量方法
  • 基于正态分布的经典方法 :z - 分数方法、修改后的 z - 分数方法和 Grubbs 检验。
  • 探索性数据分析(EDA)方法 :箱线图方法,该方法不假设数据的分布。
2.2.2 多变量方法

经典方法是使用协方差矩阵和均值数组的稳健估计器计算马氏距离。一种流行的稳健估计器是 M 估计器。然而,几乎所有单变量和多变量方法都基于数据呈正态分布的假设,而对于大数据或小数据来说,满足这一假设往往是不现实的。如果不满足正态性假设,判断“存在异常值”可能是由于数据的非正态性而非异常值的存在。对于非正态数据有一些测试方法,但它们使用起来比较困难,且不如正态数据的测试方法强大。

2.3 调节异常值而非丢弃

2.3.1 示例数据集

使用表 26.1 中的数据集进行说明。该数据集包含 101 个点(XX, Y),其中有四个“质量点”,每个点有 25 个观测值,分别是 (17, 1)、(18, 2)、(19, 4) 和 (20, 4),还有一个“单点”(1, 20)。

特征 详情
数据集规模 101 个点(XX, Y)
质量点 (17, 1)(25 个观测值)、(18, 2)(25 个观测值)、(19, 4)(25 个观测值)、(20, 4)(25 个观测值)
单点 (1, 20)(1 个观测值)
2.3.2 异常值判断与处理
  • 散点图分析 :(XX, Y) 的散点图(图 26.1)表明,标记为 A 的点 (1, 20) 可能是异常值。(XX, Y) 的相关系数为 - 0.41618,但由于散点图显示 XX 和 Y 之间的关系不是线性的,所以该相关系数值没有意义。
  • 曲线关系处理 :如果无法为异常值点 (1, 20) 的存在提供理由,则假设关系为曲线关系。此时,尝试重新表达配对变量 (XX, Y) 以拉直曲线关系,并观察新的散点图是否有新的异常值。
  • GenIQ 模型应用 :将 GenIQ 模型应用于配对变量 (XX, Y),得到 (GenIQvar, Y),其中 GenIQvar 是 XX 的 GenIQ 数据挖掘转换。(GenIQvar, Y) 的散点图(图 26.3)显示没有异常值,并且表明 GenIQvar 和 Y 之间存在线性关系,相关系数为 0.84156,表明线性关系很强。
2.3.3 GenIQ 模型调节异常值

GenIQ 模型通过重新表达所有 101 个点来调节异常值点 (1, 20)。比较图 26.1 和图 26.3 中的散点图,异常值从散点图的左上角重新定位到右上角,其余四个质量点从左下角重新定位到右下角。GenIQ 模型的转换由 GenIQvar 树和 GenIQvar 计算机代码(图 26.4)定义。

GenIQ 模型不仅可以调节单个异常值,还可以作为一种多变量方法来调节数据中几乎所有的异常值。这是因为 GenIQ 十分位数表适应度函数的性质,优化该适应度函数相当于通过将异常值重新定位到多线性模式来拉直数据,从而调节异常值而不是丢弃它们。

2.4 总结

数据复用是一种强大的数据挖掘技术,通过将新变量添加到原始数据集,可以增强数据集的预测能力。GenIQ 模型在处理多重共线性和数据复用方面具有优势,并且可以作为现有回归模型的增强器。在异常值处理方面,传统的“确定并丢弃”方法存在问题,而使用散点图和 GenIQ 模型结合的方法可以有效地调节异常值,而不是简单地丢弃它们。

2.5 操作步骤总结

2.5.1 数据复用操作步骤
  • 构建基础模型 :选择合适的因变量和预测变量,使用原始数据集构建如 OLS 回归模型或 LRM 模型。
  • 构建 GenIQ 模型 :使用与基础模型相同的数据集构建 GenIQ 模型,在构建过程中,通过遗传编程的继承机制产生数据复用变量。
  • 捕获数据复用变量 :当十分位数表适应度值出现跳跃时,获取相应的 GenIQ 模型(GenIQvar_i),并将其添加到原始数据集中。通常捕获并添加两到三个 GenIQvar 变量。
  • 构建最终模型 :使用原始变量和添加的 GenIQvar 变量构建最终的 GenIQ 模型。如果在最后一步观察到极端跳跃,可以再次添加相应的 GenIQvar 变量并重新构建模型。
2.5.2 异常值调节操作步骤
  • 数据准备 :准备包含可能存在异常值的数据集。
  • 散点图分析 :绘制变量对的散点图,观察是否存在可能的异常值。
  • 相关系数计算 :计算变量之间的相关系数,但需注意如果散点图显示非线性关系,相关系数可能无意义。
  • 处理曲线关系 :如果怀疑存在曲线关系,尝试重新表达配对变量以拉直曲线关系。
  • 应用 GenIQ 模型 :将 GenIQ 模型应用于变量对,得到转换后的变量。
  • 再次散点图分析 :绘制转换后变量的散点图,观察是否还有异常值,并计算相关系数评估线性关系。

2.6 流程图展示

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px

    A([开始]):::startend --> B(数据准备):::process
    B --> C(构建基础模型):::process
    C --> D(构建 GenIQ 模型):::process
    D --> E{适应度值跳跃?}:::decision
    E -- 是 --> F(捕获数据复用变量):::process
    F --> G(添加到原始数据集):::process
    G --> H(构建最终 GenIQ 模型):::process
    E -- 否 --> H
    H --> I(散点图分析):::process
    I --> J{存在异常值?}:::decision
    J -- 是 --> K(计算相关系数):::process
    K --> L{关系非线性?}:::decision
    L -- 是 --> M(重新表达变量):::process
    M --> N(应用 GenIQ 模型):::process
    L -- 否 --> N
    N --> O(再次散点图分析):::process
    O --> P([结束]):::startend
    J -- 否 --> P

2.7 总结与展望

数据复用和异常值调节在数据挖掘中都具有重要意义。数据复用通过添加新变量增强了数据集的预测能力,GenIQ 模型在这一过程中展现出了强大的优势,能够有效处理多重共线性问题,并作为现有回归模型的有力增强器。而在异常值处理方面,传统的丢弃方法存在局限性,使用散点图和 GenIQ 模型结合的方法为我们提供了一种更合理的解决方案,能够调节异常值而不丢失重要信息。

在未来的数据挖掘工作中,我们可以进一步探索数据复用和异常值调节的应用场景,不断优化 GenIQ 模型的性能,使其在更多领域发挥更大的作用。同时,也可以结合其他数据挖掘技术,如机器学习算法,进一步提高数据挖掘的效率和准确性。

总之,通过合理运用数据复用和异常值调节技术,我们能够更好地挖掘数据中的价值,为决策提供更可靠的支持。

2.8 常见问题解答

2.8.1 数据复用变量的选择有什么标准吗?

数据复用变量的选择主要基于十分位数表适应度值的跳跃。当适应度值出现显著提升时,对应的 GenIQ 模型(GenIQvar_i)就会被选为数据复用变量添加到原始数据集中。通常会选择两到三个这样的变量。

2.8.2 GenIQ 模型调节异常值的原理是什么?

GenIQ 模型通过重新表达所有数据点来调节异常值。其十分位数表适应度函数的优化过程相当于将异常值重新定位到多线性模式,从而拉直数据,使异常值不再对模型产生过大影响,达到调节异常值的目的。

2.8.3 数据复用和异常值调节可以同时进行吗?

可以。在实际的数据挖掘过程中,可以先进行数据复用增强数据集的预测能力,然后再对处理后的数据进行异常值调节,进一步优化数据质量和模型性能。也可以在调节异常值后再进行数据复用,具体顺序可以根据实际情况灵活调整。

2.9 代码示例回顾

2.9.1 OLS 利润估计模型
Profit_est = 2.42925 + 0.16972*XX1 - 0.06331*XX2    
2.9.2 LRM 模型
Logit of RESPONSE (= Yes) = 0.1978 - 0.0328*XX1 + 0.0308*XX2    
2.9.3 GenIQvar 模型(调节异常值)
GenIQvar = x1;
x2 = –0.921982;
x4 = XX;
x2 = 1;
x3 = XX;
x1 = XX;
x1 = x2 – x1;
x3 = x3 * x4;
x2 = x2 + x3;
If x1 NE 0 Ten x1 = x2/x1; Else x1 = 1;
x1 = x1 * x2;
x2 = XX;

这些代码在相应的数据挖掘过程中起到了关键作用,帮助我们构建模型和处理数据。通过对这些代码的理解和运用,我们可以更好地实现数据复用和异常值调节的目标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值