数据的预处理

数据的预处理

​ 数据的预处理又称属性的规范化,经常在处理数据时作为第一个步骤,在进行决策时一般都要进行数据规范化

属性值的三种类型

​ 效益型,成本型,区间型
​ 这三种属性,效益型越大越好,成本型越小越好,而区间型则在某个区间为最佳

属性规范化的作用

  1. 因为属性值有多种类型,故多种类型的数据在同一个表中,不便于直接从数据就判断优劣
    因此需要预处理,使得同一个属性下,性能更优的方案变换后的属性越大
  2. 非量纲化,多属性决策和评估的困难之一就是不同属性之间的不可公度性,即表中每一列的属性值的量纲不尽相同,规范化后就可以排除量纲对决策和评估的影响
  3. 归一化,因为表中不同属性值的数据大小可能差别很大,为了更便于各种决策和评估方法的使用,
    需要把表中数值归一化,即统一变换到0到1之间

常用的属性值规范化方法

​ 原始的决策矩阵为\(A=(a_{ij})_{m*n}\),变化后的决策矩阵为\(B=(a_{ij})_{m*n}\)

  1. 线性变换

    \(a_i^{max}\)为一列属性值中的最大值,\(a_j^{min}\)为一列属性值中的最小值

    \(x_j\)为效益型属性,则

    \[b_{ij}=\frac{a_{ij}}{a_j^{max}} \]

    即属性值的最优值一定为1,最差值不一定为0

    \(x_j\)为成本型属性,则

    \[b_{ij}=1-\frac{a_{ij}}{a_j^{max}} \]

    即属性值的最差值一定为0,最优值不一定为1

  2. 标准0—1变换

    为了使变换后的属性值的最优值为1,最差值为0

    对效益型属性,则

    \[b_{ij}=\frac{a_{ij}-a_i^{max}}{a_j^{max}-a_j^{min}} \]

    对成本型属性,则

    \[b_{ij}=\frac{a_j^{max}-a_{ij}}{a_j^{max}-a_j^{min}} \]

  3. 区间属性的变换

    对于区间属性,设给定的最优区间为\([a_j^0,a_j^*]\)\(a_j^{'}\)为无法容忍的下限,\(a_j^{''}\)为无法容忍的上限

    \[b_{ij}= 1-\frac{a_j^0-a_{ij}}{a_j^0-a_j^{'}},[无法容忍下限,最优区间左] \]

    \[b_{ij}=1,[整个最优区间] \]

    \[b_{ij}=1-\frac{a_{ij}-a_j^*}{a_j^{''}-a_j^*},[最优区间右,无法容忍上限] \]

    \[b_{ij}=0,[其他] \]

  4. 向量规范化

    无论成本型还是效益型属性,向量规范化的式子均为:

    \[b_{ij}=\frac{a_{ij}}{\sqrt{\sum_{i=1}^{m}a_{ij}^{2}}},i=1,2,...,n \]

    它与前几个变换不同,变换后的值的大小还是无法分辨优劣,但是它的特点是,规范化后各方案的同一属性值的平方和为1,所以常用计算欧几里得距离,比如理想解法\(TOPSIS\)

  5. 标准化处理

    在实际不同变量的量纲不同,为了消除这个影响,使每个变量都具有同样的表现力,常对数据进行标准化处理

    \[b_{ij}=\frac{a_{ij}-a_j^-}{s_i},i=1,2,...,m,j=1,2,...,m \]

    式子中:\(a_j^-=\frac{1}{m}\sum_{i=1}^{m}a_{ij}\)为属性值的均值,\(s_i=\sqrt{\frac{1}{m-1}\sum_{i=1}^{m}(a_{ij}-a_j^-)^2},j=1,2,...,n\)

    实际上可以按照标准正态化的方法来看

posted on 2020-12-18 20:37  QSun  阅读(243)  评论(0编辑  收藏  举报