层次分析法入门笔记

原创 2015年11月20日 16:17:17

在看到2012美赛数模的O奖论文< A CLose Look at Leaves>的模型一中的分析时,初次接触层次分析法,看上去是一个多指标的层次权重分析方法,经过学习,整理成为本文。我将以该论文中的模型作为例子。

  • 模型中的问题
    模型1用于处理树叶分类问题。我们主要关注树叶最明显的特征,也就是树叶的形状。我们建立7种几何参数来量化树叶的形状,并且我们选择了6种常见类型的叶子来构建数据库。通过计算这些典型树叶样本的偏差系数,我们就可以对树叶进行分类。我们会以枫叶为例子说明这个树叶分类过程。
    为了对树叶形状进行分类,作者构建了七个参数(矩形、长宽比、圆形、构成因数<构成>、边缘规律性面积指数<面积>、边缘规律性周长指数<周长>、比例指数1-4<比例>)和一个数据库进行分类。(尖括号的内容是简称)

  • 什么是层次分析法?

    所谓层次分析法,是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。

    百科上的定义,层次分析法将问题分解为三层,最上层是目标层,最下层是方案层,中间层则是指标层,也就是我们面对的多重因素。下面将分步说明层次分析法的过程。

  • 建立层次结构模型
    简单说,就是按照层次分析法的定义,将问题分解成三个层次。
    层次结构模型例子

  • 构造两两比较的判断矩阵(正互反矩阵)
    这里有7个因素(矩形,长宽比,圆形,构成,面积,周长,比例),通过两两因素之间进行比较,用aij来表示第i个因素相对于第j个因素的比较结果,
    比较矩阵
    aij取值
    于是根据论文作者得出的互反矩阵:
    互反矩阵

  • 层次单排序

    • 对行进行标准化操作
      标准化操作也就是以1为总值根据比例得到各个数据。原矩阵在上,标准化后的矩阵在下:
      矩阵标准化

    • 对每行求和
      得到矩阵BW=(0.1863,0.6167,0.1863,0.8250,0.3542,0.3542,1.4000)T

    • 对上面的向量进行标准化操作
      得到矩阵W=(0.0475,0.1572,0.0475,0.2103,0.0903,0.0903,0.3569)T

      得到的这个向量就是我们的权值向量,对这个向量中的元素进行排序即可得到要求模型中参数重要程度排序。

  • 一致性检验

    求最大特征根最大特征根
    求得最大特征根为7.05,然后我们计算一致性指标一致性指标CI=0.009,最后是一致性比例CR=CI/RI = 0.009/1.32 = 0.006<0.01,当CR<0.01可以接受一致性和权重的合理性,其中,RI为平均随机一致性取值如图:平均随机一致性

[数学模型]主成分分析法python实现

def pca(dataMat, topNfeat=9999999): #数据矩阵, 输出前topNfeat个feat meanVals = mean(dataMat, ...
  • qq_21970857
  • qq_21970857
  • 2015年05月23日 02:07
  • 1544

层次分析法

层次分析法这是第一次写博客,经验不足,希望各位看客多多包涵。 最近在准备数学建模比赛,希望把学到的东西都写下来以便日后翻看。由于时间原因,只记录自己认为重要的一些部分。层次分析法(AHP)的原理在决...
  • u013096194
  • u013096194
  • 2016年08月13日 10:50
  • 1028

层次分析法MATLAB程序

作为一个数学人,对于层次分析法,我的评价同下: 其主观作用太强,例如,那个矩阵的由来就无根据,仅仅是由若干尺度表主观推出来的,并不是真正定量的严谨的计算推理,类似的还有模糊评价里的专家评定,虽无力...
  • lusongno1
  • lusongno1
  • 2017年08月13日 22:09
  • 320

利用python进行数据分析笔记

pandas基础索引Series和DataFrame都是有索引的,索引的好处是快速定位,在涉及到两个Series或DataFrame时可以根据索引自动对齐,比如日期自动对齐,这样可以省去很多事。缺失值...
  • suzyu12345
  • suzyu12345
  • 2016年02月24日 22:24
  • 13219

层次分析法(AHP)的Matlab实现

层次分析法(AHP)的Matlab是实现clc; clear; A = [1 5 3 7 1/5 1 1/3 3 1/3 3 1 5 1/7 1/3 1/5 1]; [m,n]...
  • RicheyLee
  • RicheyLee
  • 2016年01月08日 20:30
  • 9928

层次分析法量化用户的产品偏好

层次分析法量化用户的产品偏好               用户对产品有很多行为,如何进行用户行为分析来量化用户对产品的喜好程度呢?               比如豆瓣FM,用户可以点击“喜好”和"扔...
  • linger2012liu
  • linger2012liu
  • 2014年12月19日 01:03
  • 2986

使用python+机器学习方法进行情感分析(详细步骤)

原文地址 不是有词典匹配的方法了吗?怎么还搞多个机器学习方法。 因为词典方法和机器学习方法各有千秋。 机器学习的方法精确度更高,因为词典匹配会由于语义表达的丰富性而出现很大误差,而机器学习...
  • Yan456jie
  • Yan456jie
  • 2016年08月18日 17:09
  • 17512

《利用Python 进行数据分析》 - 笔记(4)

问题导读: 1.读写文本格式的数据 2.二进制数据格式 3.使用HTML和Web API 4.使用数据库 解决方案: 读写文本格式的数据: pandas 提供了一些用于将表格型数据读取为Dat...
  • PeersLee
  • PeersLee
  • 2016年05月18日 17:26
  • 3562

层次分析法(Analytic Hierarchy Process)

层次分析法(Analytic Hierarchy Process ,简称 AHP )AHP (Analytic Hierarchy Process)层次分析法是美国运筹学家Saaty教授于二十世纪80...
  • u013007900
  • u013007900
  • 2015年05月23日 10:47
  • 3219

层次分析法

层次分析法 这种方法的特点是在对复杂的决策问题的本质、影响因素及其内在关系等进行深入分析的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的...
  • zxiang248
  • zxiang248
  • 2017年06月01日 09:24
  • 289
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:层次分析法入门笔记
举报原因:
原因补充:

(最多只允许输入30个字)