数学建模:主成分分析法

这篇具有很好参考价值的文章主要介绍了数学建模:主成分分析法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛

主成分分析法

算法流程

  1. 构建原始数据矩阵 X X X ,其中矩阵的形状为 x ∗ n x * n xn ,有 m m m 个对象, n n n 个评价指标。
  2. 然后进行矩阵的归一化处理
  3. 首先计算矩阵的指标之间的相关系数矩阵 R R R。使用matlab 的 corr 即可得到。
  4. 计算相关系数矩阵 R R R 的****特征值 D D D 和特征向量 V V V** ,并且特征值从大到小排序,由特征向量组成 n n n 个新的指标向量。
    1. y 1 , y 2 , y 3 y_1 , y_2 , y_3 y1,y2,y3 为新的主成分。

数学建模:主成分分析法,数学建模,MATLAB,数学建模

  1. 选择 p p p 个主成分,计算综合评价值:

    1. 计算特征值 λ i , i ∈ ( 1 , 2 , . . . n ) \lambda _i,i\in(1,2,...n) λii(1,2,...n)信息贡献率累计贡献率:

      α i = ∑ k = 1 n λ k ∑ k = 1 m λ k \alpha_i=\frac{\sum_{k=1}^n\lambda_k}{\sum_{k=1}^m\lambda_k} αi=k=1mλkk=1nλk

      b j = λ j ∑ k = 1 m λ k ( j = 1 , 2 , ⋯   , m ) b_j=\frac{\lambda_j}{\sum_{k=1}^m\lambda_k}(j=1,2,\cdots,m) bj=k=1mλkλj(j=1,2,,m)

    2. 找到累计贡献达到85%的位置,选择前 p p p 个指标变量 y 1 y 2 . . . y p y_1 y_2 ... y_p y1y2...yp作为新的主成分,代替原来的 n n n 个指标,从而对 p p p 个主成分进行综合分析。

      Z = ∑ j = 1 p b j y j Z=\sum_{j=1}^{p}b_{j}y_{j} Z=j=1pbjyj


    代码实现

    %% A_data 是一个 m*n列的矩阵,包含 n个指标
    
    %% 
    corr_A = corrcoef(A_data);
    [a,b,c] = pcacov(corr_A);
    
    %% 最后根据c的前 85% 来得到降维后的指标个数
    

    自实现:文章来源地址https://www.toymoban.com/news/detail-684546.html

    function [Score,Vec,p]=mfunc_PCA(data)
        % 进行主成分分析
        % paramts:
        %   data: 传递一个原始数据矩阵,需要首先进行数据的标准化mapminmax。Shape: (m*n),m为对象个数,n为指标个数
        % returns:
        %   Score: 综合评价得分
        %   Vec: (n,3)的矩阵,第一列:特征值;第二列:贡献率,第三列:累计贡献率
    		%   p:指标降维后的个数
    
        % 计算指标的相关系数矩阵
        R=corr(data);
        %计算特征向量和特征值
        [V,D] = eig(R);  %V特征向量,D特征值对角线矩阵
        lam=diag(D);%取出对角线元素
        %对特征值从大到小排列
        [lam_sort,index]=sort(lam,'descend');
        V_sort=V(:,index);
        Vec = zeros(length(lam_sort),3);
        Vec(:,1) = lam_sort;
    
        contribution=lam_sort./sum(lam_sort); %贡献率
        Vec(:,2) = contribution;
        cContribution=cumsum(contribution); %累计贡献率
        Vec(:,3) = cContribution;
        p=find(cContribution>=0.85); 
        p=p(1); %找到累计贡献达到85%的位置第一个位置
        %
        M=data*V_sort;
        M=M(:,1:p);  %这就是得到的新的累计贡献率超过85%主成分
        %以下为用新的主成分评分
        M(:,find(sum(M)<0))=-M(:,find(sum(M)<0));
        %M(find(sum()))=-M(:,2);
        a=contribution(1:p);
        F=M.*a';
        s=sum(F');
        Score=100*s/max(s);
    end
    

到了这里,关于数学建模:主成分分析法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学建模:层次分析法

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 将问题条理化,层次化,构建出一个有层次的结构模型。层次分为三类: 目标层,准则(指标)层,方案层 。 比较指标层中不同指标之间的相对重要程度,并且构建一个 成对比较矩阵 。 自行判断两个不同指标的相对重要程

    2024年02月10日
    浏览(31)
  • 数学建模——层次分析法

    正互反矩阵:若矩阵中每个元素a(ij)0且满足a(ij)*a(ji)=1。 层次分析法中,我们构造的判断矩阵均是正互反矩阵。 一致矩阵:若正互反矩阵满足a(ij)*a(jk)=a(ik)。 一致矩阵的秩为1。 一致矩阵有一个特征值为n,其余特征值均为0。 判断矩阵越不一致时,最大特征值与n相差越大。 一

    2024年02月16日
    浏览(28)
  • 数学建模学习笔记||层次分析法

    解决评价类问题首先需要想到一下三个问题 我们评价的目标是什么 我们为了达到这个目标有哪几种可行方案 评价的准则或者说指标是什么 对于以上三个问题,我们可以根据题目中的背景材料,常识以及网上收集到的参考资料进行结合,从而筛选出最合适的指标 优先选择知

    2024年01月23日
    浏览(42)
  • 数学建模:层次分析法(AHP)

    层次分析法(Analytic Hierarchy Process,AHP)是一种多准则决策方法,用于解决复杂的决策问题。它是由美国数学家托马斯·萨亚基(Thomas L. Saaty)于20世纪70年代提出的。其基本思想是将复杂的决策问题分解为层次结构,通过对准则和方案进行定量和定性的比较,最终得出最佳决

    2024年01月17日
    浏览(38)
  • 【数学建模】层次分析法(AHP)

    评价类问题 ,如选择哪种方案最好,哪位运动员或者员工表现地更优秀。通常具体数据没有给出。 一道典型例题 这是典型的运用层次分析法的题目,没有给出具体数据,要求采取一定措施进行评价,选择最佳方案,其中已经高亮。 我们需要考虑三个问题: 目标、方

    2024年02月01日
    浏览(31)
  • 五、数学建模之层次分析法

    1.概念 2.例题    层次分析法 (Analytic Hierarchy Process,AHP)是一种多 标准决策分析方法 ,用于帮助人们在面对复杂的决策问题时 进行定量和定性的比较和评估 。它最初由美国运筹学家和管理学家托马斯·萨蒙(Thomas L. Saaty)于20世纪70年代提出,并在后来得到广泛应用。层

    2024年02月07日
    浏览(42)
  • 数学建模——层次分析法(AHP)

    在人类社会生活的各个领域以及日常生活中,我们经常遇到一些决策问题,例如购物买钢笔,一般要依据质量、颜色、实用性、价格、外形等方面的因素选择某一支钢笔。买饭,则要依据色、香、味、价格等方面的因素选择某种饭菜。过去人们处理这些问题往往是凭经验,靠

    2024年02月05日
    浏览(36)
  • 清风老师数学建模笔记——层次分析法

    1.层次分析法的概念;层次分析法(The Analytic Hierarchy Process即 AHP)是由美国运筹学家、匹兹堡大学教授T . L. Saaty于20世纪70年代创立的一种系统分析与决策的综合评价方法,是在充分研究了人类思维过程的基础上提出来的,它较合理地解决了定性问题定量化的处理过程。 2.层次

    2024年02月02日
    浏览(34)
  • 数学建模常用模型(三):层次分析法

    层次分析法(Analytic Hierarchy Process,AHP)是一种用于多准则决策分析的方法,由美国运筹学家托马斯·L·赛蒂(Thomas L. Saaty)于1970年提出。它通过对决策问题进行层次化,将复杂的问题拆分为多个层次和准则,并使用定量化的方法进行比较和权重分配,最终得出综合评价和决

    2024年02月13日
    浏览(32)
  • 清风数学建模学习笔记(一)层次分析法

    目录 一、基本介绍 二、利用层次分析法解决评价类问题 2.1判断矩阵 2.2判断矩阵一致性检验  2.3计算权重  2.4算数平均法求权重  2.5几何平均法求权重  2.6特征值求权重 三、总结  层次分析法是评价类模型中的一种常见算法,它是用来根据多种准则,或是说因素从候选方案

    2024年02月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包