Skip to content

实现常见的综合评价法,如AHP、熵权法、Critic、变异系数法。

License

Notifications You must be signed in to change notification settings

MGzhou/Comprehensive_Evaluation_Method

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

综合评价法

实现常见的综合评价法。综合评价法主要分为主观赋权法和客观赋权法。

【1】主观赋权法

主观赋权法适合没有样本数据或样本数据非常少的情况。

优点是通过专家制定,可以集合自身经验和知识对不同指标赋予权重,也可以明确地反映出决策者的偏好。

缺点是依赖专家判断,不同专家可能会有不同看法,导致一定程度的主观随意性和不确定性。当面临复杂系统的评估时,主观赋权法可能难以准确处理和反映系统中众多因素的关系。

算法 是否实现
AHP 层次分析法

【2】客观赋权法

客观赋权法适合样本数据多的情况。

优点是客观性强,减少了主观判断的影响。

缺点是对数据敏感,对数据的异常值和噪声非常敏感。

客观赋权法是一种以数据驱动为主的权重分配方法,它在确保评价过程的客观性方面具有明显优势,但同时也需要对其局限性保持警惕。在实际应用中,可能需要结合主观赋权法等其他方法来弥补这些不足,以达到更加全面和准确的评价效果。

算法 是否实现
Critic
熵权法
变异系数法

使用例子

使用Critic方法,算法实现是 src/critic.py。用法如 src/demo.py

命令行环境切换到src目录运行demo.py

cd src

python demo.py

代码

import numpy as np
from objective_method.critic import Critic

# 1建立critic对象
critic = Critic()

# 2 样本数据,有6个样本,8个评价指标
data = [[162.519, 1069.70, 55.789, 196.906, 3894.9, 6470.51, 2.635, 1.55],
        [113.073, 763.16, 70.677, 61.947, 1033.9, 7490.32, 1.986, 0.59],
        [245.158, 3962.42, 163.893, 178.782, 536.0, 2288.19, 1.276, 0.14],
        [112.376, 1738.90, 70.731, 104.945, 147.6, 1522.79, 0.242, 0.08],
        [143.599, 1249.30, 103.652, 54.426, 119.4, 342.36, 0.209, 0.05],
        [105.688, 1337.80, 74.417, 58.843, 220.5, 746.94, 0.223, 0.13]]
data = np.array(data)
# 3 归一化
X, min_val, max_val = critic.min_max_scaler_pos(data)

# 4 运行算法计算权重
W = critic.fit(X)
print(f"权重W = {W}")

# 5计算样本数据评分
test = [117.028, 2532.60, 90.876, 71.531, 315.6, 1301.04, 0.977, 0.17]
X = np.array(test)
X, _, _ = critic.min_max_scaler_pos(X, min_val, max_val)  # 标准化
Z = critic.predict(X)
print(f"预测得分:{Z}")

About

实现常见的综合评价法,如AHP、熵权法、Critic、变异系数法。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages