critic法确定权重公式
时间: 2023-06-07 16:01:35 浏览: 231
Critics法是一种常见的权重确定方法,它通过对各指标进行评价和排名,进而确定各指标的权重。具体而言,Critics法的步骤如下:
第一步,选择评价及排名依据。这一步决定了对各指标评价的评价标准和方法,常用的方法有层次分析法、主成分分析法、熵权法等。
第二步,对各指标进行评价和排名。通过采用所选的评价方法,我们能够对各指标进行评价并排名,得到排名结果。
第三步,计算各指标的权重。根据各指标的评价和排名结果,我们可以计算各指标的权重,即排名越高的指标权重越大。这里需要注意的是,各指标的权重应当是归一化的,即所有指标的权重之和为1。
最后,根据权重公式,计算各指标在最终评价体系中的得分。通过采用所确定的权重公式,我们可以计算各指标在最终评价体系中的得分,从而得到评价结果。
总的来说,Critics法是一种简单直观的权重确定方法,其优点是易于理解和操作,同时也比较灵活适用于各种不同的评价体系。当然,在实践中需要结合具体情况选择适合的评价方法和权重公式,才能得到可靠的评价结果。
相关问题
CRITIC权重计算公式
### CRITIC 权重计算公式
CRITIC (Criteria Importance Through Inter-criteria Correlation) 方法是一种基于指标间相关性的权重确定方法。该方法通过量化不同指标之间的冲突性和对比强度来评估各个指标的重要性。
#### 计算步骤:
1. **标准化决策矩阵**
首先,对于给定的决策矩阵 \( X \),需要对其进行标准化处理。假设原始决策矩阵为 \( X_{m \times n} \),其中 \( m \) 是备选方案的数量,\( n \) 是评价指标的数量,则标准化后的矩阵 \( R \) 可表示为:
\[
r_{ij} = \frac{x_{ij}}{\sqrt{\sum_{i=1}^{m} x_{ij}^2}}
\]
这一步骤确保了不同量纲的数据可以相互比较[^3]。
2. **计算标准差**
接下来,计算每个指标的标准差 \( S_j \),这反映了该指标下数值的变化程度:
\[
S_j = \sqrt{\frac{1}{m-1}\sum_{i=1}^{m}(r_{ij}-\bar{r}_j)^2}
\]
3. **计算负相关系数绝对值之和**
对于每一对不同的指标 \( j \) 和 \( k \),计算它们之间皮尔逊相关系数 \( C(j, k) \),并求得第 \( j \) 个指标与其他所有指标的相关系数绝对值总和 \( CC_j \):
\[
CC_j=\sum _{{k=1,k\neq j}}^{n}|C(j,k)|
\]
4. **确定各指标的重要度**
结合上述两步的结果,定义重要度 \( w_j \) 如下:
\[
w_j=S_j(1-\frac{CC_j}{\max(CC)})
\]
其中 \( \max(CC) \) 表示所有 \( CC_j \) 中的最大值。此表达式体现了两个方面的作用:一是高变异性(大标准差),二是低冗余性(小的相关性)。因此,具有较大变化范围且与其他属性关联较少的特征会被赋予更高的权重[^2]。
5. **归一化得到最终权重向量**
将所得的重要度转换成比例形式作为最后的权重分配结果:
\[
W_j=\frac{w_j}{\sum_{j=1}^{n}w_j}, \quad j=1,\ldots,n
\]
```python
import numpy as np
from scipy.stats import pearsonr
def critic_weight(matrix):
# Step 1: Normalize the matrix
norm_matrix = matrix / np.sqrt(np.sum(matrix**2, axis=0))
# Step 2: Calculate standard deviation of each criterion
std_devs = np.std(norm_matrix, ddof=1, axis=0)
# Step 3: Compute correlation coefficients and their absolute sum per column
corr_matrix = np.abs([pearsonr(norm_matrix[:, i], norm_matrix[:, j])[0] for i in range(len(std_devs)) for j in range(i+1, len(std_devs))])
abs_corr_sums = [np.sum(corr_matrix[i*len(std_devs):(i+1)*len(std_devs)-1]) for i in range(len(std_devs))]
# Step 4: Determine importance using contrast intensity & conflict between criteria
max_abs_corr_sum = max(abs_corr_sums or [0])
weights = std_devs * (1 - np.array(abs_corr_sums)/max_abs_corr_sum)
# Step 5: Normalization to get final weight vector
normalized_weights = weights/np.sum(weights)
return normalized_weights
```
critic 权重法
CRITIC权重法是一种客观赋权法,用于多指标多对象的综合评价问题。它利用两个指标,即对比强度和冲突性指标来确定指标的权重。对比强度使用标准差表示,标准差越大,说明波动越大,权重越高;而冲突性使用相关系数表示,相关系数越大,说明冲突性越小,权重越低。CRITIC法通过消除一些相关性较强的指标的影响,减少指标之间的信息重叠,从而更准确地得到评价结果。
与熵权法和标准离差法相比,CRITIC法更具优势。它考虑了指标的变异性和相关性,不仅仅根据数字大小来确定权重,而是更全面地利用数据自身的客观属性进行评价。对比强度是指同一指标下各个评价方案之间取值差距的大小,用标准差表示;而冲突性则用相关系数表示两个指标之间的相关性。在CRITIC法中,当标准差固定时,指标之间的冲突性越小,权重越小;冲突性越大,权重越大。此外,当两个指标之间的正相关程度越大时,即相关系数越接近1,冲突性越小,说明这两个指标在评价方案的优劣上反映的信息相似度较高。
为了计算CRITIC法的权重,需要对各个因素进行归一化处理,并根据信息量进行权重分配。具体的计算步骤可以参考引用中的信息量公式。根据信息量的大小,可以给予更大的权重给具有更大信息量的评价指标,从而更准确地反映其在整个评价指标体系中的作用。
阅读全文
相关推荐















