文章目录
EndlessLethe原创文章,转载请注明: 转载自小楼吹彻玉笙寒
本文链接地址: 模糊评价模型-以2018美赛为例
前言
本文用尽量简短和明了的方式说明什么是模糊评价模型,以及怎么使用,所以表述可能在数理上不太严谨,请读者多加包涵。
什么是模糊数学模型
1965 年,美国著名计算机与控制专家查德(L.A.Zadeh)教授提出了模糊的概念,并在国际期刊《Information and Control》并发表了第一篇用数学方法研究模糊现象的论文“Fuzzy Sets”(模糊集合),开创了模糊数学的新领域。
模糊数学中有一个研究的热点问题就是“模糊决策”,它就是研究在模糊环境下或者模糊系统中进行决策的数学理论和方法。模糊决策的目标是把决策论域中的对象在模糊环境下进行排序,或按某些模糊限制条件从决策域中选择出最优对象。
当被评价的对象有两个以上时,从多个对象中选择出一个最优的方法称为多目标模糊综合评价决策法。可以将多个事物排序,得到相对排名和得分。
对于美赛,很多问题都可以通过模糊评价模型来得到答案。
基本步骤
- 为属性确定特征及其隶属函数
- 计算隶属度矩阵
- 确定评价矩阵,计算权重
- 检验评价矩阵
- 计算最后得分并排序
- 选取前6个
模糊评价模型的基本概念
模糊集和隶属函数
模糊集:我们要排序的事物集合,这里不妨记作A。
特征:为了将A排序,我们自然要从多维度进行考虑,我们将这些维度称为A中元素的特征。
隶属函数f(feature_value):对于每一个特征,我们都人为设计一个函数,称作隶属函数,其映射区间是[0, 1]。
隶属函数的选取
如何确定一个模糊集的隶属函数至今还是尚未解决的问题。我们这里使用指派方法:所谓指派方法就是根据问题的性质主观地选用某些形式地模糊分布,再根据实际测量数据确定其中所包含地参数。
基本原则:
1. 隶属度函数必须是单调函数或单峰函数)
2. 根据特征的单调性,选取符合特征值分布的隶属度函数
常用的模糊分布如下表所示。
隶属矩阵R
通过将n_sample个事物的n_feature个属性一一代入对应的隶属函数,就可以得到一个n_sample * n_feature的矩阵。
判断矩阵D
判断矩阵是人为根据重要性标度确定的矩阵。\(a_{ij}\) 表示\(x_i\) 和\(x_j\) 对总体的影响大小之比,即重要程度的比。
故在构造判断矩阵时,我们应该以列为单位,保持分母不变,改变分子,判断分子与分母的重要性。
且\(a_{ij}=\frac{1}{a_ji}\) ,矩阵是一个对称矩阵
根据判断矩阵计算特征权重向量A
用判断矩阵确定元素重要程度的方法有很多种(主要有和法、最小夹角法和特征向量法),这里介绍特征向量法:
1. 计算判断矩阵D的最大特征值\(\lambda_{max}\) 和对应的特征向量
2. 将向量归一化,即得到特征权重向量
Note:根据perron-frobenius定理,这里的特征向量一定是全为正的。
计算得分
我们对于得分的计算方式很简单,即加权求和。
现在我们有了隶属矩阵R和权重向量A,利用矩阵相乘的性质,得分向量\(B=A \cdot R\)
检验评价矩阵
最后一步要做的是检验结果的有效性——判断矩阵的可靠性。
具体应用
下面以2018年美赛B题的第二部分来说明如何应用模糊评价模型:要求解决“六个国际办公室的选址,并分短期和长期两种”和“能否增减办公室数量?(如果有你需要的一些额外的信息,你会如何分析)”两个子问题。
对于整个B题的分析可见:“2018美赛B题总结”(https://endlesslethe.com/2018-mcm-summary-of-b.html)
确定特征
我们可以结合语言趋势和经济、基础建设这些影响因素来确定每个国家的排名,这里考虑的因素是:语言趋势、人均GDP、文化软实力和基础设施。
根据原则确定隶属函数
- 语言趋势
\[y = \left\{ \begin{gathered}
\frac{{10x}}{{{x_{\max }}}}\qquad if(x < 0.1{x_{max}}) \hfill \\
0\qquad if(x < 0) \hfill \\
1\qquad else \hfill \\
\end{gathered} \right.\] - 人均GDP \[y = \left\{ {\begin{array}{* {20}{c}}
{0 \qquad if(x < 0.5\bar x)} \\
{\frac{{x – 0.5\bar x}}{{2.5\bar x}} \qquad else} \\
{1 \qquad if(x > 4\bar x)}
\end{array}} \right.\] - 文化软实力 \[y = \frac{x}{{{x_{max}}}}\]
- 基础设施 \[y=x^2\]
计算隶属矩阵R
短期就使用当前年份的数据,长期就根据最近10年的增长趋势使用各个统计量历年的平均值,然后带入隶属函数计算隶属度。
确定判断权重矩阵
根据重要性估计,我们得到了如下判断矩阵:
\[\left[ {\begin{array}{* {20}{c}}
1&{\frac{1}{7}}&{\frac{1}{3}}&3 \\
7&1&3&5 \\
3&{\frac{1}{3}}&1&3 \\
{\frac{1}{3}}&{\frac{1}{5}}&{\frac{1}{3}}&1
\end{array}} \right]\]
对应的权重向量A:[ 0.11609794 0.57847007 0.23367261 0.07175938]
检验评价矩阵
cr is: (0.0877731194814+0j)
cr < 0.1,说明判断矩阵是可信的
计算最后得分并排序
B = AR =
[ 0.90775911 0.46325021 0.27180282 0.81581523 0.26181834 0.09573225
0.66646141 0.07808405 0.6895812 0.18816492 0.436608 0.75803485
0.09671554]
参考文献
I. 《数学建模算法与程序》 司守奎著
II. AHP在确定指标权重中的应用
III. perron-frobenius定理
IV. 模糊数学方法(第七章权重)
你好,我想问一下根据原则确定隶属函数这一步是怎么做的?原则是什么原则?感谢
基本原则:
1. 隶属度函数必须是单调函数或单峰函数)
2. 根据特征的单调性,选取符合特征值分布的隶属度函数
文中列举了一些典型的隶属函数。