大学生旅游网站策划书,swoole怎么做直播网站,长春网站制作允许吗,安装wordpress连接不了数据库大部分方法来自于http://t.csdnimg.cn/P5zOD
层次分析法 层次分析法#xff08;Analytic Hierarchy Process, AHP#xff09;是一种结构决策的定量方法#xff0c;主要用于处理复杂问题的决策分析。它将问题分解为目标、准则和方案等不同层次#xff0c;通过成对比较和计算…大部分方法来自于http://t.csdnimg.cn/P5zOD
层次分析法 层次分析法Analytic Hierarchy Process, AHP是一种结构决策的定量方法主要用于处理复杂问题的决策分析。它将问题分解为目标、准则和方案等不同层次通过成对比较和计算权重值来实现决策问题的定量分析。 主要步骤 建立层次结构模型 首先确定决策问题的目标、准则和方案等不同层次并构建层次结构模型。这个在代码中是没有的需要提前进行。 成对比较构建判断矩阵 通过成对比较各准则和方案的相对重要性构建判断矩阵。在层次分析法代码示例中判断矩阵A由用户输入。 计算权重值 使用特征值方法计算判断矩阵的权重值。示例代码中通过求A的最大特征值B和对应的特征向量C来计算权重值Q。 一致性检验 进行一致性检验来确保判断矩阵的合理性。代码中使用一致性指标CI和CR进行检验如果CR0.10判断矩阵通过一致性检验。 结果输出 输出各向量的权重向量Q表示每个准则或方案的相对重要性。如果判断矩阵未通过一致性检验需要对判断矩阵重新构造。
代码示例
clc;
clear;
% 判断矩阵A必须保证判断矩阵是互反的。每个元素 A(i, j) 表示第 i 个指标相对于第 j 个指标的重要性。
A [1 3 5 51/3 1 3 51/5 1/3 1 31/5 1/5 1/3 1];
[m,n]size(A); %获取指标个数%RI 是一个随机一致性指数它是用来进行一致性检验的。每个值 RI(n) 对应于一个n阶判断矩阵的一致性检验的标准值。
% RI 数组中只包含了11个值这是因为通常情况下判断矩阵的阶数不会超过11。如果有更多的指标您可能需要查找或计算相应阶数的 RI 值。
RI[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];
Rrank(A); %求判断矩阵的秩
[V,D]eig(A); %求判断矩阵的特征值和特征向量V特征值D特征向量
tzmax(D);
Bmax(tz); %最大特征值
[row, col]find(DB); %最大特征值所在位置
CV(:,col); %对应特征向量
CI(B-n)/(n-1); %计算一致性检验指标CI
CRCI/RI(1,n);
%代码进行一致性检验来确保判断矩阵的合理性。
%如果一致性检验通过即 CR 0.10则继续计算权重否则需要重新构造判断矩阵。
if CR0.10disp(CI);disp(CI);disp(CR);disp(CR);disp(对比矩阵A通过一致性检验各向量权重向量Q为);Qzeros(n,1);for i1:nQ(i,1)C(i,1)/sum(C(:,1)); %特征向量标准化endQ %输出权重向量
elsedisp(对比矩阵A未通过一致性检验需对对比矩阵A重新构造);
end
sc Q; 其中有以下注意事项 1.判断矩阵A必须保证判断矩阵是互反的。 2.RI 是一个随机一致性指数它是用来进行一致性检验的。RI 数组中只包含了11个值这是因为通常情况下判断矩阵的阶数不会超过11。如果有更多的指标可能需要查找或计算相应阶数的 RI 值。 3.数模论文中只要使用到了层次分析法就必须画层次结构图无论文章是否需要压缩篇幅这和层次分析法的使用绑在一起。 熵权法 熵权法同样是一种决策分析的方法用于确定各个决策指标的权重。该方法主要依赖于信息熵的概念。在决策分析中信息熵用来度量某个决策指标的离散程度。如果一个指标的变化越大即更离散那么它应该被赋予更大的权重。熵权法通过计算每个指标的信息熵来确定各个指标的权重。 主要步骤 非负数化和归一化处理: 代码中首先进行了对原始数据的非负数化和归一化处理x(:,i)(x(:,i)-min(x(:,i)))/(max(x(:,i))-min(x(:,i)))1使得所有数据值介于1和2之间。 计算概率值: 然后计算每个数据点在其所在列的比例p(i,j)x(i,j)/sum(x(:,j))这可以被看作是数据点的概率值。 计算信息熵: 接下来使用计算得到的概率值来计算每列即每个决策指标的信息熵E(j)-k*sum(e(:,j))。信息熵被用来度量一个随机变量的不确定性即决策指标的离散程度。 计算差异系数: 之后计算每个指标的差异系数d1-E。差异系数用来度量一个指标与其他指标的差异程度。 计算权重: 最后计算每个决策指标的权重w(j)d(j)/sum(d)这个权重代表了该指标在决策分析中的重要性。 计算综合分数: 使用计算得到的权重来计算每个数据点的综合分数score(i,1)sum(x(i,:).*w)
对于计算综合分数可能说的比较模糊作者举个例子假设我们有以下简化的数据和权重
x [
1 2
3 4
] %数据w [0.3, 0.7] % 权重则第一个数据点也就是行向量[1,2]在现实生活中可能代表某一个样本分量值相当于熵权法的指标值我们就是在求得各指标的权重后通过权重样本的指标值求得样本的综合分数的的综合分数计算如下 score(1)(1×0.3)(2×0.7)1.7score(1)(1×0.3)(2×0.7)1.7 第二个数据点的综合分数计算如下 score(2)(3×0.3)(4×0.7)3.7score(2)(3×0.3)(4×0.7)3.7 从而得到综合分数数组 score [1.7, 3.7]。
通过这种方法可以利用计算出的权重对每个数据点进行评分从而进行进一步的分析和决策。
代码示例
x [
2.41 52.59 0 9.78 1.17
1.42 53.21 0 6.31 1.63
4.71 35.16 1 9.17 3.02
14.69 15.16 2.13 10.35 7.97
0.94 72.99 0 7.39 0.61
1.43 72.62 0 8.16 0.51
2.21 67.5 0 9.84 0.85
3.79 51.21 0 12.95 1.43
1.23 85.09 3.97 4.08 0.13
1.71 82.07 2.88 4.97 0.33
3.63 66.9 3.18 8.57 0.71
5.72 49.77 3.44 10.52 1.83
1.49 79.51 6.53 2.58 0.27
1.66 81.44 5.18 2.74 0.36
2.41 76.32 5.88 4.13 0.54
4.42 59.65 7.64 8.38 1.02
3.27 88.42 3.36 2.85 0.14
11.27 70.05 5.77 6.07 0.19
13.18 62.45 5.66 7.85 0.74
15.83 56.28 2.92 9.97 1.14
11.59 80.23 1.04 3.64 0.2
26.67 55.7 2.02 8.13 0.38
28.51 51.07 2.12 9.66 1.46
3.69 87.26 0 3.12 0.18
3.27 84.43 0 5.43 0.31
3.98 79.99 0 6.62 0.57
1.59 86.5 0 6.14 0.14
4.31 82.26 0 4.71 0.2
4.6 72.79 0 8.27 0.52
4.99 81.93 0 7.52 0.16
4.66 75.09 0 10.24 0.33
5.08 61.02 1.57 15.7 0.53
12.49 83.06 0 1.2 1.06
4.67 92.77 0 0.33 0.58
5.8 90.32 0 0.91 0.8
97.76 0 0 0 2.14
94.75 0 0 1.42 2.83
93.76 0 0 1.18 3.24
3.48 81.43 7.45 1.33 0.14
4.2 80 5.3 2.21 0.18
8.83 71.28 5.34 2.9 0.43
5.39 79.6 6.87 2.64 0.31
7.67 74.74 5.91 3.4 0.66
19.65 55.4 4.87 6.14 1.2
2.63 90.74 3.18 1.42 0.14
2.8 89.7 2.85 1.96 0.14
4.07 85.12 3.43 3.52 0.25
5.7 83.4 0 4.48 0.1
4.03 81.35 0 6.18 0.19
4.11 73.45 0 9.71 0.45
2.78 89.53 0 4.23 0.2
3.92 83.2 0 7.59 0.32
5.21 71.37 3.09 10.29 0.72
18.98 76.81 0 1.05 0.31
19.79 73.56 0 0.88 0.42
19.86 70.07 0 1.72 0.74
16.61 67.57 3.77 3.15 1.16
6.91 82.18 4.19 0 0.1
2.93 83.06 1.93 5.14 0.32
8.47 78.11 4.04 4.02 0.31
12.29 70.48 3.89 4.32 0.69
3.98 84.81 4.76 1.97 0.18
7.67 78.13 4.22 4.57 0.35
14.04 66.89 4.41 6.27 0.47
14.62 59.29 5.28 8.35 0.77
1.97 85.16 4.87 3.27 0.23
2.16 86.83 3.82 2.25 0.15
4.81 74.9 5.05 5.97 0.5
7.44 57.98 6.75 10.73 1.04
2.04 86.01 4.79 2.95 0.13
3.49 79.79 5.67 4.28 0.15
6.47 68.02 6.71 5.74 0.2
7.94 59.12 7.14 5.93 1.42
];[m,n]size(x);
lamdaones(1,n); % 人为修权1代表不修改计算后的指标权重
for i1:nx(:,i)(x(:,i)-min(x(:,i)))/(max(x(:,i))-min(x(:,i)))1; % 对原始数据进行非负数化、归一化处理值介于1-2之间
end
for i1:mfor j1:np(i,j)x(i,j)/sum(x(:,j));end
end
k1/log(m);
for i1:mfor j1:nif p(i,j)~0e(i,j)p(i,j)*log(p(i,j));elsee(i,j)0;endend
end
for j1:nE(j)-k*sum(e(:,j));
end
d1-E;
for j1:nw(j)d(j)/sum(d);% 指标权重计算
end
for j1:nw(j)w(j)*lamda(j)/sum(w.*lamda);% 修改指标权重
end
for i1:mscore(i,1)sum(x(i,:).*w);% 计算综合分数% 一个数据点对应矩阵每一行数据根据大量的数据点确定其权重然后计算每一个数据点的综合得分数据点本例中对应四个指标值分别利用权重求得综合得分
end
disp(各指标权重为)
disp(w) %权重越大该指标在决策分析中的重要性越高。
disp(各项综合分数为)
disp(score) %每个数据点的综合分数。综合分数可以被用来进行进一步的分析或决策。
Out mean (score,1)