配置环境
我准备以VSCode+Jupyter组合进行数学建模的学习
1、vscode 中扩展找到 jupyter
或 ctrl+shift+p 调出命令
|
|
2、安装 jupyter 包
在终端输入命令,安装 jupyter 包 pip install jupyter
3、启动 jupyter
在终端输入命令,启动 jupyter jupyter notebook
评价决策类-层次分析法
用层次分析法的套路
Step1:解决评价类问题
Step2:画出层级结构图(目标层、准则层、方案层)
Step3:构造判断矩阵(确定评价指标孰重孰轻)
Step4:依照评价指标对各个方案进行打分
Step5:求出权重,填表,求得最后得分
Step6:层次总排序一致性检验
一、背景
日常生活中有很多的决策问题。决策是指在面临多种方案时需要依据一定的标准选择某一种方案。
买衣服,一般要依据质量、颜色、价格、款式等方面的因素选择。
旅游,是去风光秀丽的苏州,还是去迷人的北戴河,或者是去山水甲天下的桂林,那一般会依据景色、费用、食宿条件、旅途等因素来判断去哪个地方
二、构造判断矩阵
标度 | 含义 |
---|---|
1 | 表示两个因素相比,具有同样重要性 |
3 | 表示两个因素相比,一个因素比另一个因素稍微重要 |
5 | 表示两个因素相比,一个因素比另一个因素明显重要 |
7 | 表示两个因素相比,一个因素比另一个因素强烈重要 |
9 | 表示两个因素相比,一个因素比另一个因素极端重要 |
2,4,6,8 | 上述两相邻判断的中值 |
以此来构造判断矩阵
如果构造的判断表格下:
因素A | 因素B | 因素C | |
---|---|---|---|
因素A | 1 | 1/2 | 1/4 |
因素B | 2 | 1 | 1/2 |
因素C | 4 | 2 | 1 |
那么可以得到判断矩阵:
$$ \begin{bmatrix} 1 & \frac{1}{2} & \frac{1}{4}\\ 2 & 1 & \frac{1}{2} \\ 4 & 2 & 1 \\ \end{bmatrix} $$$$ 其中,矩阵元素a_{ij}的含义是第i个指标相对第j个指标的重要程度,即a_{ij}=\frac{i的重要程度}{j的重要程度} $$三、一致性检验
为了防止两两比较中出现矛盾,需要对矩阵进行一致性检验。
一致性矩阵
$$ 若矩阵满足a_{ij}\cdot a_{jk} = a_{ik},则该矩阵为一致性矩阵 $$一致性检验步骤
1、计算一致性指标CI
$$ CI = \frac{\lambda_{max}-n}{n-1} $$其中n代表矩阵的维数,lambda_max代表最大特征值。CI越靠近0,矩阵的一致性越好
2、查表
n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
RI | 0 | 0 | 0.52 | 0.89 | 1.12 | 1.26 | 1.36 | 1.41 | 1.46 | 1.49 |
3、计算一致性比例
$$ CR = \frac{CI}{RI} \left \{ \begin{array}{ll} 0,& 判断为一致矩阵\\ <0.1,& 判断矩阵一致\\ \geq0.1,& 判断矩阵不一致 \end{array} \right. $$四、求权重
通常使用特征值法求权重。
对通过一致性检验的矩阵的判断矩阵,选择最大特征值对应的特征向量,进行归一化处理,得到的列向量的每个元素就是每个因素对应的权重。
五、代码
|
|