利用通过成对比较分配权重工具,您可以成对评估输入变量,从而计算一系列输入变量的权重。 在工具对话框中,输入变量会自动生成变量对。 每个变量对都有一个对应的滑块,您可以调整滑块来指定哪个变量更重要,以及重要程度。 工具会基于这些成对评估结果生成比较矩阵,并据此计算权重。
这些权重可以应用于 Spatial Analyst 中的适宜性模型,包括使用加权总和工具的模型、在适宜性建模器中构建的模型,以及在 Business Analyst 中构建的适宜性模型。 权重也可以用作空间统计中计算复合指数工具中的变量权重。
成对比较
在适宜性模型中,确定多个变量(或标准)的权重并识别它们的相对重要性是一项困难且主观的任务。 但是,您可以更准确地比较变量对。 例如,如果要求您确定五个标准(坡度、坡向、水源距离、与道路的距离和高程)在适宜性模型中的相对权重,您可能会感到困难。 然而,要判断坡度和坡向哪个更重要,以及重要程度,通常会更容易。
成对比较法 (Saaty, 2008) 广泛应用于各种需要多标准决策的领域,例如生态栖息地建模、商业选址和健康风险指数评估。 成对加权的优势在于,它通过一次只比较两项,简化了复杂决策,并提供了一种系统化的方法来确定输入变量的优先级或排序。 由于成对比较能够更准确地反映变量的相对重要性,因此最终计算出的权重也更具客观性。 为了确保成对比较的一致性(例如,如果 A 比 B 重要,B 比 C 重要,则 C 不能比 A 重要),该工具提供了诊断功能。
示例应用
成对比较法包括以下应用示例:
- 计算适宜性模型中多个标准的权重。
- 确定复合适宜性模型中一组子模型的权重。
- 评估图层内不同土地利用类型的相对重要性。
- 计算不同污染物的相对权重,创建空气质量指数,从而影响公共政策。
- 基于偏好重新分类栅格图层时,确定新的类值。
- 估算业务决策中多个工程的相对优先级。
成对比较方法
成对比较法由 Thomas L. Saaty (Saaty, 2008) 提出,为推导多个变量相对重要性的权重提供了一个框架。 与同时对所有变量进行排序不同,成对比较法提供了一种结构化的方法,通过一次比较两个变量来评估其重要性。 这种方法在处理无法直接测量但对决策至关重要的无形因素时尤其有效。 该方法依赖于专家的判断,从而推导出相对衡量各项因素的优先级尺度。
成对比较工作流
以下是成对比较工作流的主要步骤:
- 确定需要比较的变量。
- 指定变量对的比较关系,并创建比较矩阵。
- 从比较矩阵计算权重,并生成输出表。
通过成对比较分配权重工具会动态地从输入变量创建变量对。 使用滑块来指定每个配对中哪个变量更重要,以及重要程度。 每次进行比较时,比较矩阵都会更新。 最终的权重根据比较矩阵确定。
工具的输出结果是一组输入变量的派生权重,可以选择是否包含比较矩阵。
使用该工具通过成对比较分配权重
以下是使用该工具的常见工作流。 下面的步骤编号与上图中的编号相对应。
- 在要比较的输入变量参数中,输入需要比较的变量名称。
- (可选)修改自动生成的输出表参数值。
- 在成对比较矩阵参数中,单击比较变量并计算权重按钮。
随即显示定义成对比较窗口,其中包含“比较矩阵”表。
- 通过移动每个变量对对应的滑块来指定成对比较关系。
- 单击一致性,确保成对比较结果的一致性。
- 单击运行。
此工具采用 Saaty (2008) 提出的 1 到 9 评估级别。 这些评估级别的具体定义和每个值的解释,请参考下表。
重要性强度 | 定义 | 说明 |
---|---|---|
1 | 同等重要 | 两种活动对目标的贡献相同。 |
2 | 较弱或轻微 | |
3 | 中等重要 | 经验和判断表明,此活动略优于另一项。 |
4 | 中等偏上 | |
5 | 强烈重要 | 经验和判断表明,此活动明显优于另一项。 |
6 | 强烈偏上 | |
7 | 极其强烈或已证实重要 | 此活动显著优于另一项,并在实践中得到充分验证。 |
8 | 极其、极其强烈 | |
9 | 极端重要 | 支持一种活动胜过另一种活动的证据具有尽可能最高的确定性。 |
比较矩阵
比较矩阵是成对比较法的核心组成部分。 矩阵内容基于成对偏好设定,而权重正是据此计算得出。
矩阵中,每行与每列的交叉点代表一个待比较的变量对。 在对话框中,通过调整每个变量对的滑块来表达您的偏好倾向。 滑块越靠近某一侧,表示您对相应变量的偏好程度越高。 滑块位于正中则表示两个变量同等重要。 此过程需要您结合自身知识、经验或偏好做出主观判断。
每次滑动滑块后,比较矩阵都会自动更新。 工具会将滑块选定的数值赋予矩阵中相应位置的像元:行对应重要性相对较高的变量,列对应重要性相对较低的变量。 该数值的倒数 (1/数值) 将填入矩阵中的对称位置。
例如,在评估太阳能农场适宜性模型的 Solar_Gain 和 Elevation 变量时,您可能认为 Solar_Gain 比 Elevation 变量重要两倍。 为了反映这种判断,您可以将这两个变量的滑块向 Solar_Gain 一侧调整,使其数值位于 1 到 3 之间。 此时,比较矩阵中 Solar_Gain 行和 Elevation 列交叉位置的像元值将更新为 2,而 Elevation 行与 Solar_Gain 列交叉位置的像元将自动分配倒数值 (即 1/2 或 0.5)。
成对比较计算
从比较矩阵计算权重是一个多步骤过程,如下图所示:
以下描述了这四个步骤。
比较矩阵
创建比较矩阵,其中包含输入变量的成对评估结果。
列求和
工具计算每一列的像元值的总和。
生成的列总和用于归一化该列中的值。 在上面图像中的成对比较示例中,第一列 Solar_Gain 包含值 1、0.333、0.5、0.5 和 3,总和为 5.333。
总和 5.333 将用于归一化第一列中的每个值,并在下一步中使用。
归一化
将每个比较数值除以其所在列的总和,得到每个比较对的归一化数值。
例如,Solar_Gain 行与 Solar_Gain 列交叉位置的归一化数值为:1 / 5.333 ≈ 0.188
计算权重
要计算每个变量的最终权重,需计算每行中所有归一化数值的平均值。
以上图归一化矩阵的第一行为例,计算公式如下:
对每个变量重复上述计算,即可得到对应的权重值。
一致性比率调整
单击一致性,即可查看所有变量对比较结果的一致性程度。 一致性比率将显示底部。 若该比率超过 0.1,则表明比较结果不具备一致性。 此时,该比率将以红色显示,同时以红色标出三个最不一致的变量对(见下图示例)。 您可以利用滑块调整这些不一致的比较,确保整体比较结果的一致性。
有关一致性比率计算方法的详细说明,请参阅一致性比率计算。
输入比较矩阵格式
以下展示了可作为 comparison_matrix 参数值的有效矩阵格式示例,包括带权重和不带权重两种情况。
不带权重
以下是一个不带权重的表格型比较矩阵示例:
变量 | Dist_Roads | 高程 | 土地利用 | 坡向 |
---|---|---|---|---|
Dist_Roads | 1 | 0.333 | 3 | 1 |
高程 | 3 | 1 | 0.2 | 3 |
土地利用 | 0.333 | 5 | 1 | 7 |
坡向 | 1 | 0.333 | 0.143 | 1 |
在不包含权重的情况下,输入比较矩阵有两种文本格式。
第一种格式以文本表格的形式列出变量及其评估值。 以下为示例:
Variables, Dist_Roads, Elevation, Landuse, Aspect Dist_Roads,1,0.333,3,1 Elevation,3,1,0.2,3 Landuse,0.333,5,1,7 Aspect,1,0.333,0.143,1
第二种格式列出每个变量对及其评估值。 以下为示例:
Variables Dist_Roads Elevation 0.333; Dist_Roads Landuse 3; Dist_Roads Aspect 1; Elevation Landuse 0.2; Elevation Aspect 3; Landuse Aspect 7;
带权重
以下是一个带权重的表格型比较矩阵示例:
变量 | Dist_Roads | 高程 | 土地利用 | 坡向 | 权重 |
---|---|---|---|---|---|
Dist_Roads | 1 | 0.333 | 3 | 1 | 0.253 |
高程 | 3 | 1 | 0.2 | 3 | 0.252 |
土地利用 | 0.333 | 5 | 1 | 7 | 0.407 |
坡向 | 1 | 0.333 | 0.143 | 1 | 0.088 |
注:
如果权重已经计算出来,则几乎没有必要使用该工具重新计算它们。 如果权重包含在 comparison_matrix 参数值中,它们将被忽略并由工具重新计算。 在某些情况下,当比较矩阵来自另一个工具或应用程序时,可以使用包含权重的矩阵。
包含权重的文本输入比较矩阵有两种可接受的格式。
第一种格式以文本表格的形式列出变量及其评估值和权重。 以下为示例:
Variables, Dist_Roads, Elevation, Landuse, Aspect, Weights Dist_Roads,1,0.333,3,1,0.253 Elevation,3,1,0.2,3,0.252 Landuse,0.333,5,1,7,0.407 Aspect,1,0.333,0.143,1,0.088
第二种格式分为两个部分。 第一部分通过列出每个变量对及其评估值来标识变量。 在第二部分中,指定变量及其最终权重。 以下为示例:
Variables Dist_Roads Elevation 0.333; Dist_Roads Landuse 3; Dist_Roads Aspect 1; Elevation Landuse 0.2; Elevation Aspect 3; Landuse Aspect 7; Weights Dist_Roads 0.252906; Elevation 0.252138; Landuse 0.406524; Aspect 0.088432;
Python 比较矩阵
直接在 Python 中输入变量对及其评估值作为 comparison_matrix 参数,格式如下:
Variables Dist_Roads Elevation 0.333; Dist_Roads Landuse 3; Dist_Roads Aspect 1; Elevation Landuse 0.2; Elevation Aspect 3; Landuse Aspect 7;注:
在表格或文本文件格式中,以及直接在 Python 中作为 comparison_matrix 参数值提供的成对比较,其顺序必须与 input_variables 参数值的顺序相同。 在变量配对文本文件格式中或直接提供给参数时,配对及其评估值必须按顺序先列出第一个变量与每个其他变量的配对。 然后,按顺序将第二个变量与剩余变量配对,依此类推。
输出表格式
以下是来自该工具的输出表的示例,包括包含和不包含比较矩阵的两种情况。
包含比较矩阵
选中向输出添加比较矩阵参数后,下表包含比较矩阵:
比较矩阵及相关权重
变量 | Dist_Roads | 高程 | 土地利用 | 坡向 | 权重 |
---|---|---|---|---|---|
Dist_Roads | 1 | 0.333 | 3 | 1 | 0.253 |
高程 | 3 | 1 | 0.2 | 3 | 0.252 |
土地利用 | 0.333 | 5 | 1 | 7 | 0.407 |
坡向 | 1 | 0.333 | 0.143 | 1 | 0.088 |
以下是选中向输出添加比较矩阵参数且输出类型为文本时的输出表示例:
Variables, Dist_Roads, Elevation, Landuse, Aspect, Weights Dist_Roads,1,0.333,3,1,0.253 Elevation,3,1,0.2,3,0.252 Landuse,0.333,5,1,7,0.407 Aspect,1,0.333,0.143,1,0.088
仅包含权重
当未选中向输出添加比较矩阵参数时,使用以下格式。
当输出类型指定为表时,输出表包含两列:Variables 和 Weights。
变量 | 权重 |
---|---|
Dist_Roads | 0.253 |
高程 | 0.252 |
土地利用 | 0.407 |
坡向 | 0.088 |
当输出类型为文本时,该表是一个结构化文本文件,其中包含基于成对比较的每个变量的派生权重。 以下为示例:
Variables, Weights Dist_Roads,0.253 Elevation,0.252 Landuse,0.407 Aspect,0.088
参考资料
Saaty, T. L. 2008. "Decision making with the analytic hierarchy process". International Journal of Services Sciences, 1(1), 83-98.