• 主成分分析法


    主成分分析法

    该方法可以用来数据降维,把很多的评价指标减少为几个主要的评价指标,即主成分,同样这个方法也可以用来求权重

    主要步骤

    设有m个评价对象和n个评价指标

    1. 对原始数据进行标准化处理

    [a_{ij}^{'}=frac{a_{ij}-mu _j}{s_j} (i是评价对象,j是评价指标) ]

    式中:μ是样本均值,s是样本标准差

    1. 计算相关系数矩阵R

    [r_{ij}=frac{sum_{k=1}^{m}a_{ki}^{'}*a_{kj}^{'}}{m-1}(i,j=1,2,...,n) ]

    k i是第k个评价对象的第i个指标,k j是第k个评价对象的第j个指标,求和是为了计算所有k个评价对象的第i个指标,第j个指标的关系

    r为第i个指标和第j个指标的总相关系数,与评价对象无关,只是评价指标间的相互关系,最后得到R为一个n*n的矩阵

    1. 计算特征值和特征向量

    计算出R的特征值λ1>λ2>λ3>...λn>0,和对应的特征向量u1,u2,...,un,那么构成n个新的指标向量

    [y_i=u_{1i}*x_1+u_{2i}*x_2+...+u_{ni}*x_n(i=1,2,..,n) ]

    其中

    [x_i=(a_{i1}^{'},a_{i2}^{'},...,a_{in}^{'})(即标准化后的原指标向量) ]

    [称y_1为第1主成分,y_2为第2主成分,y_3为第3主成分,...,y_n为第n出主成分 ]

    1. 对p(p<=n)个主成分,计算综合评价值

    a. 计算特征值λ的信息贡献率和累积贡献率

    [称b_j=frac{lambda _j}{sum_{k=1}^{n} lambda_k}为主成分y_i的信息贡献率 ]

    [称alpha_p=frac{sum_{k=1}^{p} lambda_k}{sum_{k=1}^{n}lambda_k}为主成分y_1...y_p的累积贡献率 ]

    实际上就是对特征值λ的归一化过程,将其都约束在0,1范围内
    当累积贡献率接近1(达到0.85以上),就可以选择这前p个主成分来代替原来的n个指标变量,从而可以对这p个主成分进行总和分析

    b. 计算综合得分:

    [Z=sum_{j=1}^{p}b_j*y_j ]

    b为第j个主成分的信息贡献率,y为第j个主成分
    就是以各个主成分的贡献率b为权重对各个主成分进行加权求和
    而各个主成分其实就是以特征值λ为权重对各个标准化指标向量求和

  • 相关阅读:
    linux源码阅读笔记 asm函数
    linux源码阅读笔记 #define 语句的妙用
    对于python的内存管理的好文章
    #define x do{......} while(0)的用处
    reverse list
    判断数组是否存在重复元素
    找出数组中出现奇数次的元素
    找出数组中唯一的重复元素
    两个有序数组中的交集
    Java Socket(3): NIO
  • 原文地址:https://www.cnblogs.com/QSun77/p/14156979.html
Copyright © 2020-2023  润新知