《python数学实验与建模》(九)综合评价

  • 本章节的评价模型:

    • TOPSIS
    • 熵值法
    • 秩和比综合评价法
    • 灰色关联分析
    • 层次分析法(在习题中无法使用:不知道指标的含义无法比较)
  • 9.1 某公司需要对其信息化建设方案进行评估,方案偶4家信息咨询公司分别提供,记为方案1(S1),

    方案2(S2),方案3(S3),方案4(S4).每套方案的评估标准包括以下的6项内容:x1(目标指标),

    x2(经济成本),x3(实施可能性),x4(技术可能性),x5(人力资源成本),x6(抗风险能力)。其中,

    x2,x5时成本型指标,其他为效益型指标。这里每个方案所对应的属性值均由评估专家打分给出,表9.9列出了专家对各方案属性的评分结果,请对4个方案进行综合评价

    方案x1x2x3x4x5x6
    0S18.125512.613.2765.4
    1S26.721013.210.71027.2
    2S3623315.39.5633.1
    3S44.520215.2131202.6
    • 先将成本型指标转化为效益型指标

    • 统一量纲

    • 选择评价模型:

      • 理想解法
      # 将DataFrame 转化为二维矩阵 注意读取的数据类型要设置为浮点型
      data = pd.read_excel(r'C:\Users\lenovo\Desktop\9.1.xlsx',usecols=[1,2,3,4,5,6],dtype='float').values
      # x2,x5转化为效益型指标(取倒数)
      data[:,1]= 1/data[:,1];data[:,4]=1/data[:,4]
      
      #统一量纲:向量化处理
      for i in range(data.shape[1]):
          data[:,i]=data[:,i]/np.linalg.norm(data[:,i])
      
      cplus=data.max(axis=0)   #逐列求最大值
      cminus=data.min(axis=0)  #逐列求最小值
      d1=np.linalg.norm(data-cplus, axis=1)  #求到正理想解的距离
      d2=np.linalg.norm(data-cminus, axis=1) #求到负理想解的距离
      print(d1, d2)   #显示到正理想解和负理想解的距离
      f1=d2/(d1+d2); print("TOPSIS的评价值为:", f1)
      
      TOPSIS的评价值为: [0.64411549 0.62847897 0.42283182 0.25088623]
      
  • 9.2 对一个企业的经济效益评价也是一个复杂的问题,能够反映企业经济效益的主要指标有4项:x1(总产值/消耗),x2(净产值),x3(盈利/资金占有),x4(销售收入/成本)。先设有二十家企业经济指标如表9.10所示,试运用两种以上的综合评价方法,对20家企业经济效益进行综合评价

    企业x1x2x3x4
    A11.61110.590.691.67
    A21.4299.440.611.5
    A31.4475.970.241.25
    A41.57210.780.751.71
    A51.48310.990.751.44
    A61.3716.460.411.31
    A71.66510.510.531.52
    A81.4036.110.171.32
    A92.6221.511.42.59
    A102.03324.151.81.89
    A112.01526.861.932.02
    A121.5019.740.871.48
    A131.57814.521.121.47
    A141.73514.641.211.91
    A151.45312.880.871.52
    A161.76517.940.891.4
    A171.53229.422.521.8
    A181.4889.230.811.45
    A192.58616.070.821.83
    A201.9922.631.011.89
  • 确定评价方法

    • TOPSIS
    • 熵值法
    • 秩序和比
    • 灰色关联分析
import pandas as pd
import numpy as np
from scipy.stats import rankdata
# 将DataFrame 转化为二维矩阵
a = pd.read_excel(r'C:\Users\lenovo\Desktop\9.10.xlsx',usecols=[1,2,3,4],dtype='float').values

cplus=a.max(axis=0)   #逐列求最大值
cminus=a.min(axis=0)  #逐列求最小值
print("正理想解=",cplus,"负理想解=",cminus)

d1=np.linalg.norm(a-cplus, axis=1)  #求到正理想解的距离
d2=np.linalg.norm(a-cminus, axis=1) #求到负理想解的距离
print(d1, d2)   #显示到正理想解和负理想解的距离
f1=d2/(d1+d2); print("TOPSIS的评价值为:", f1)

t=cplus-a   #计算参考序列与每个序列的差
mmin=t.min(); mmax=t.max()  #计算最小差和最大差
rho=0.5  #分辨系数
xs=(mmin+rho*mmax)/(t+rho*mmax)  #计算灰色关联系数
f2=xs.mean(axis=1)  #求每一行的均值
print("\n关联系数=", xs,'\n关联度=',f2)  #显示灰色关联系数和灰色关联度

[n, m]=a.shape
cs=a.sum(axis=0)  #逐列求和
P=1/cs*a   #求特征比重矩阵
e=-(P*np.log(P)).sum(axis=0)/np.log(n)  #计算熵值
g=1-e   #计算差异系数
w = g / sum(g)  #计算权重
F = P @ w       #计算各对象的评价值
print("熵值法:\nP={}\n,e={}\n,g={}\n,w={}\nF={}".format(P,e,g,w,F))

R=[rankdata(a[:,i]) for i in np.arange(a.shape[1])]  #求每一列的秩
R=np.array(R).T   #构造秩矩阵
print("\n秩矩阵为:\n",R)
RSR=R.mean(axis=1)/n; print("RSR=", RSR)


  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python数学实验建模PDF是一本介绍Python数学实验建模方面应用的电子书。本书主要包括了Python数学库以及相关的实验建模案例。 首先,Python作为一种强大的编程语言,具有丰富的数学库可以用于进行各种数学计算和实验。例如,NumPy库可以进行向量化计算,而SciPy库提供了丰富的科学计算函数,可用于解方程、优化问题等。本书会详细介绍这些库的使用方法,并通过实例帮助读者理解和掌握。 其次,本书还会介绍Python建模方面的应用。数学建模是通过数学方法对现实问题进行抽象和分析,以便预测和解决问题。Python提供了一些常用的建模工具,如SymPy库可以进行符号计算,而Pandas库则可以用于处理数据。通过本书的学习,读者可以了解并掌握这些建模工具的使用技巧,并学会将其应用于实际问题的分析和求解。 最后,本书还会通过一些实际案例来展示Python数学实验建模方面的应用。例如,可以介绍如何使用Python进行统计学分析、机器学习等。这些案例既能帮助读者巩固所学的知识,又能让他们了解到Python数学实验建模领域的潜力和广泛应用。 综上所述,Python数学实验建模PDF是一本介绍Python数学实验建模方面应用的电子书,通过介绍Python数学库和相关实例,帮助读者学习和掌握Python数学实验建模方面的应用技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值