摘要:一前言權重法是一種比熵權法和標準離差法更好的客觀賦權法它是基于評價指標的對比強度和指標之間的沖突性來綜合衡量指標的客觀權重。對比強度是指同一個指標各個評價方案之間取值差距的大小,以標準差的形式來表現。
CRITIC權重法是一種比熵權法和標準離差法更好的客觀賦權法:
它是基于評價指標的對比強度和指標之間的沖突性來綜合衡量指標的客觀權重。考慮指標變異性大小的同時兼顧指標之間的相關性,并非數字越大就說明越重要,完全利用數據自身的客觀屬性進行科學評價。
對比強度是指同一個指標各個評價方案之間取值差距的大小,以標準差的形式來表現。標準差越大,說明波動越大,即各方案之間的取值差距越大,權重會越高;
指標之間的沖突性,用相關系數進行表示,若兩個指標之間具有較強的正相關,說明其沖突性越小,權重會越低。
對于 CRITIC 權重法而言,在標準差一定時,指標間沖突性越小,權重也越小;沖突性越大,權重也越大;另外,當兩個指標間的正相關程度越大時,(相關系數越接近1),沖突性越小,這表明這兩個指標在評價方案的優劣上反映的信息有較大的相似性。
在用 Python 復現 CRITIC 權重法時,需要計算變異系數,以標準差的形式來表現,如下所示:
Sj表示第 j 個指標的標準差,在 CRITIC 權重法中使用標準差來表示各指標的內取值的差異波動情況,標準差越大表示該指標的數值差異越大,越能放映出更多的信息,該指標本身的評價強度也就越強,應該給該指標分配更多的權重。
研究收集到湖南省某醫院 2011 年 5 個科室的數據,共有 6 個指標,當前希望通過已有數據分析各個指標的權重情況如何,便于醫院對各個指標設立權重進行后續的綜合評價,用于各個科室的綜合比較等。數據如下:
初始化一個簡單的矩陣:
a = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ])a
分別計算整體的均值、每一列的均值和每一行的均值:
print("整體的均值:", np.mean(a)) # 整體的均值print("每一列的均值:", np.mean(a, axis=0)) # 每一列的均值print("每一行的均值:", np.mean(a, axis=1)) # 每一行的均值
分別計算整體的標準差、每一列的標準差和每一行的標準差:
print("整體的方差:", np.std(a)) # 整體的標準差print("每一列的方差:", np.std(a, axis=0)) # 每一列的標準差print("每一列的方差:", np.std(a, axis=1)) # 每一行的標準差
結果如下:
導入需要的依賴庫:
import numpy as npimport pandas as pd
提取數據:
df = pd.read_excel("./datas/result03.xlsx")dfdatas = df.iloc[:, 1:]datas
如下所示:
數據正向和逆向化處理:
X = datas.valuesxmin = X.min(axis=0)xmax = X.max(axis=0)xmaxmin = xmax - xminn, m = X.shapeprint(m, n)for i in range(n): for j in range(m): if j == 5: X[i, j] = (xmax[j] - X[i, j]) / xmaxmin[j] # 越小越好 else: X[i, j] = (X[i, j] - xmin[j]) / xmaxmin[j] # 越大越好X = np.round(X, 5)print(X)
如下所示:
按列計算每個指標數據的標準差:
發現結果與文檔不一致:
原因:numpy默認是除以樣本數,求的是母體標準差;而除以樣本-1,得到的才是樣本標準差,這時設置參數 ddof=1 即可!
如上圖所示,這下與文檔里的結果一致了!
推薦閱讀:
CRITIC權重法
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/124107.html
小編寫這篇文章的主要目的,主要是給大家進行介紹,關于NumPy與Python內置列表計算標準差區別的相關介紹,希望可以給各位讀者帶來幫助。 1什么是Numpy NumPy,是NumericalPython的通稱,用以性能卓越計算機的應用和數據統計分析的前提包,像數理科學專用工具(pandas)和架構(Scikit-learn)中都采用上了NumPy這個包。 NumPy中的基本數據結構是n...
摘要:下面是二維空間的高斯分布函數公式這個公式被稱作高斯核。高斯模糊使用高斯平均算子來實現的圖像模糊叫高斯模糊,也叫高斯平滑被認為是一種最優的圖像平滑處理。 SciPy庫 SciPy庫,與之前我們使用的NumPy和Matplotlib,都是scipy.org提供的用于科學計算方面的核心庫。相對NumPy,SciPy庫提供了面向更高層應用的算法和函數(其實也是基于NumPy實現的),并以子模塊...
小編寫這篇文章的目的,主要是給大家來做一個比較詳細的解答,解答一下其具體的相關知識,還有一些相關的代碼解析,下面就給大家進行一個比較詳細的解答。 什么是Numpy NumPy,是Numerical Python的簡稱,用于性能比較高的基礎分析數據包,可以對其進行用來進行數據分析,像數學科學工具(pandas)和框架(Scikit-learn)中都使用到了NumPy這個包。 NumPy中的...
摘要:上一個筆記主要是講了的原理,并給出了二維圖像降一維的示例代碼。當我使用這種方法實現時,程序運行出現錯誤,發現是對負數開平方根產生了錯誤,也就是說對協方差矩陣求得的特征值中包含了負數。而能夠用于任意乘矩陣的分解,故適用范圍更廣。 上一個筆記主要是講了PCA的原理,并給出了二維圖像降一維的示例代碼。但還遺留了以下幾個問題: 在計算協方差和特征向量的方法上,書上使用的是一種被作者稱為com...
閱讀 2670·2021-11-25 09:43
閱讀 2579·2021-11-22 09:34
閱讀 2822·2021-11-12 10:34
閱讀 1430·2021-10-20 13:46
閱讀 2300·2019-08-30 13:21
閱讀 928·2019-08-30 11:21
閱讀 482·2019-08-30 11:20
閱讀 2185·2019-08-29 17:20