python数学建模|综合评价方法
綜合評價方法研究
《python數學實驗與建模》中課后習題練習與代碼筆記3。
綜合評價方法包涵較多的模型,本次主要解析兩個模型:TOPSIS(逼近理想解)模型和灰色關聯分析模型。本次建模問題是傳統模型,并沒有進行擴展和改進。
一、基本模型
⑴TOPSIS模型
TOPSIS模型是逼近理想解的排序方法,它借助于評價問題的正理想解和負理想解,對各理想解進行排序。正理想解是一個虛擬的最佳對象,正理想解各個指標數值是評價對象該指標的最好值;負理想解亦是一個虛擬的最差對象,負理想解各個指標數值是評價對象該指標的最差值。通過求出各評價對象與正理想解與負理想解的距離,并通過距離指標對各評價對象進行優劣排序。
????? 數學原理如下:
⑵灰色關聯分析模型
在系統發展過程中,若兩個因素變化的趨勢具有一致性,即同步變化程度較高,即可謂二者關聯程度較高;反之,則較低。因此,灰色關聯分析方法,是根據因素之間發展趨勢的相似或相異程度,亦即“灰色關聯度”,作為衡量因素間關聯程度的一種方法。
數學原理如下:
二、模型應用與求解
以《python數學實驗與建模》第九章課后習題9.1為例。
求解過程python實現如下所示:
import numpy as np a = np.array([[8.1,255,12.6,13.2,76,5.4],[6.7,210,13.2,10.7,102,7.2],[6.0,233,15.3,9.5,63,3.1],[4.5,202,15.2,13,120,2.6]]) for j in range(0,6):#數據歸一化處理a[:,j] = (a[:,j]-min(a[:,j]))/(max(a[:,j])-min(a[:,j])) print(a)#查看數據的表現情況 #topsis方法 cplus = a.max(axis = 0) cminus = a.min(axis = 0) print('正理想解=',cplus,'負理想解=',cminus) print(a-cplus)#每一列都減去cplus 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)#最終經過綜合評估,1號方案可能比較適合 #灰色關聯分析 t = cplus-a#計算參考序列與每個序列的差 print('\n',t) mmin = t.min()#計算最小值 print(mmin) mmax = t.max()#計算最大值 print(mmax) rho = 0.5 #分辨系數 xs = (mmin + rho*mmax)/(t+rho*mmax)#計算灰色關聯系數 f2 = xs.mean(axis = 1)#求每一行的均值 print("關聯系數=",xs,"\n關聯度=",f2)#顯示灰色關聯系數與灰色關聯度,可以看出依舊是方案1較為合適三、結果簡要分析
⑴TOPSIS模型輸出分析
先確定正理想解與負理想解如下:
正理想解= [1. 1. 1. 1. 1. 1.] 負理想解= [0. 0. 0. 0. 0. 0.]最終的topsis評價值為如下,可以看出,方案1比較合適。
topsis的評價值為: [0.58313806 0.49911304 0.40463435 0.492181 ]⑵灰色關聯分析模型
通過計算各個數據點的關聯系數如下:
[[1. 1. 0.33333333 1. 0.39310345 0.56097561][0.5625 0.37062937 0.39130435 0.42528736 0.61290323 1. ][0.46153846 0.54639175 1. 0.33333333 0.33333333 0.359375 ][0.33333333 0.33333333 0.93103448 0.90243902 1. 0.33333333]]最終的每一行計算平均值得出每個方案的關聯度如下,可以看出依然是方案一比較合適,符合TOPSIS模型輸出的一致性。
[0.71456873 0.56043738 0.50566198 0.63891225]四、總結
慢慢走,欣賞啊。
總結
以上是生活随笔為你收集整理的python数学建模|综合评价方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初学者上手python建模
- 下一篇: python数据建模优缺点_Python