数学建模笔记(三):数据预处理

您所在的位置:网站首页 数据预处理的代码 数学建模笔记(三):数据预处理

数学建模笔记(三):数据预处理

2023-12-22 19:35| 来源: 网络整理| 查看: 265

文章目录 前言一、数据清洗1.1 缺失值处理1.2 异常值处理 二、数据变换2.1 线性变换2.2 向量规范化2.3 min-max归一化2.4 z-score标准化 三、数据预处理案例及代码实现3.1 线性变换-代码实现3.2 向量规范化-代码实现3.3 min-max归一化-代码实现3.4 z-score标准化-代码实现 总结参考资料

前言

数据预处理主要有四个任务:数据清洗、数据集成、数据变换及数据规约。本文主要介绍常用的数据清洗与数据变换,其中数据清洗包括异常值与缺失值的处理;数据变换指将一种格式的数据转换为另一格式的数据。

一、数据清洗

当我们得到一组数据时,这组数据可能会存在一些缺失值和异常值(噪声数据)。此时我们进行数据清洗,主要包括两个部分:缺失值处理与异常值处理。

1.1 缺失值处理

缺失值的处理方法主要有三种:删除记录、数据插补和不处理。

删除记录,顾名思义,指当该组数据某一个案的数据缺省时,删除这组个案的数据,这种方法的优点是处理方便,但在数据较少时要慎重使用。\

数据插补,使用不同的插补方法将缺省的数据补齐。主要插补方法有:均值/中位数/众数插补;使用固定值插补;最近邻插补;回归方法插补;插值法插补。 最近邻插补:即在记录中找到与缺失样本最接近的样本的该属性插补,可以通过计算对象间的欧式距离衡量。 回归方法插补:根据已有数据和与其有关的其他变量的数据建立拟合模型来预测缺失值。 插值法:常用的插值方法有很多,这里可以阅读我的另一篇文章数学建模学习笔记(一):插值法。

不处理,有时我们可以将所有缺省数据的样本划分为另一组,进行特殊处理。

1.2 异常值处理

异常值的处理方法较为简单,主要方法有:删除记录、视为缺失值、平均值修正和不处理。由于处理异常值的方法简单,在此不作解释。 发现异常值是处理异常值的难点,发现异常值主要有两个方法:3 σ \sigma σ原则和画箱型图,可以查阅相关文章。

二、数据变换

在处理数据时我们会遇到各种类型的指标,大体上可分为三种类型:效益型指标、成本型指标及区间型指标。效益型指标即该指标越大越优,成本型指标即该指标越小越优,而区间型指标则是在某个区间内为最优。为了方便处理,我们通常要将数据指标统一转换为效益型指标。

2.1 线性变换

设原始的指标矩阵为 A = ( a i j ) m × n A=(a_{ij})_{m \times n} A=(aij​)m×n​, m m m为样本数量, n n n为指标数,变换后的指标矩阵记为 B = ( b i j ) m × n B=(b_{ij})_{m\times n} B=(bij​)m×n​, i = 1 , … , m , j = 1 , … , n i=1,…,m,j=1,…,n i=1,…,m,j=1,…,n。设 a j m a x a_j^{max} ajmax​是指标矩阵第 j j j列中的最大值, a j m i n a_j^{min} ajmin​是指标矩阵第 j j j列中的最小值。 若 x j x_j xj​为效益型指标,则 b i j = a i j / a j m a x b_{ij}=a_{ij}/a_j^{max} bij​=aij​/ajmax​ 若 x j x_j xj​为成本型指标,则 b i j = 1 − a i j / a j m a x b_{ij}=1-a_{ij}/a_j^{max} bij​=1−aij​/ajmax​ 经过变换可以将数据全都转换为效益型指标,输出范围为0——1之间。需要注意的是,这种方法不适用于 x j x_j xj​



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3