zoukankan      html  css  js  c++  java
  • 主成分分析法

    主成分分析法

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

    主要步骤

    设有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为权重对各个主成分进行加权求和
    而各个主成分其实就是以特征值λ为权重对各个标准化指标向量求和

  • 相关阅读:
    记第一场省选
    POJ 2083 Fractal 分形
    CodeForces 605A Sorting Railway Cars 思维
    FZU 1896 神奇的魔法数 dp
    FZU 1893 内存管理 模拟
    FZU 1894 志愿者选拔 单调队列
    FZU 1920 Left Mouse Button 简单搜索
    FZU 2086 餐厅点餐
    poj 2299 Ultra-QuickSort 逆序对模版题
    COMP9313 week4a MapReduce
  • 原文地址:https://www.cnblogs.com/QSun77/p/14156979.html
Copyright © 2011-2022 走看看