Python | Numpy:詳解計算矩陣的均值和標準差

      網友投稿 1182 2025-03-31

      一、前言

      CRITIC權重法是一種比熵權法和標準離差法更好的客觀賦權法:

      它是基于評價指標的對比強度和指標之間的沖突性來綜合衡量指標的客觀權重。考慮指標變異性大小的同時兼顧指標之間的相關性,并非數字越大就說明越重要,完全利用數據自身的客觀屬性進行科學評價。

      對比強度是指同一個指標各個評價方案之間取值差距的大小,以標準差的形式來表現。標準差越大,說明波動越大,即各方案之間的取值差距越大,權重會越高;

      指標之間的沖突性,用相關系數進行表示,若兩個指標之間具有較強的正相關,說明其沖突性越小,權重會越低。

      對于 CRITIC 權重法而言,在標準差一定時,指標間沖突性越小,權重也越小;沖突性越大,權重也越大;另外,當兩個指標間的正相關程度越大時,(相關系數越接近1),沖突性越小,這表明這兩個指標在評價方案的優劣上反映的信息有較大的相似性。

      在用 Python 復現 CRITIC 權重法時,需要計算變異系數,以標準差的形式來表現,如下所示:

      Sj表示第 j 個指標的標準差,在 CRITIC 權重法中使用標準差來表示各指標的內取值的差異波動情況,標準差越大表示該指標的數值差異越大,越能放映出更多的信息,該指標本身的評價強度也就越強,應該給該指標分配更多的權重。

      研究收集到湖南省某醫院 2011 年 5 個科室的數據,共有 6 個指標,當前希望通過已有數據分析各個指標的權重情況如何,便于醫院對各個指標設立權重進行后續的綜合評價,用于各個科室的綜合比較等。數據如下:

      二、詳解計算均值和標準差

      初始化一個簡單的矩陣:

      a = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) a

      1

      2

      3

      4

      5

      6

      分別計算整體的均值、每一列的均值和每一行的均值:

      print("整體的均值:", np.mean(a)) # 整體的均值 print("每一列的均值:", np.mean(a, axis=0)) # 每一列的均值 print("每一行的均值:", np.mean(a, axis=1)) # 每一行的均值

      1

      2

      3

      分別計算整體的標準差、每一列的標準差和每一行的標準差:

      print("整體的方差:", np.std(a)) # 整體的標準差 print("每一列的方差:", np.std(a, axis=0)) # 每一列的標準差 print("每一列的方差:", np.std(a, axis=1)) # 每一行的標準差

      1

      2

      3

      結果如下:

      三、實踐:CRITIC權重法計算變異系數

      導入需要的依賴庫:

      import numpy as np import pandas as pd

      Python | Numpy:詳解計算矩陣的均值和標準差

      1

      2

      提取數據:

      df = pd.read_excel("./datas/result03.xlsx") df datas = df.iloc[:, 1:] datas

      1

      2

      3

      4

      5

      如下所示:

      數據正向和逆向化處理:

      X = datas.values xmin = X.min(axis=0) xmax = X.max(axis=0) xmaxmin = xmax - xmin n, m = X.shape print(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)

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      如下所示:

      按列計算每個指標數據的標準差:

      發現結果與文檔不一致:

      原因:numpy默認是除以樣本數,求的是母體標準差;而除以樣本-1,得到的才是樣本標準差,這時設置參數 ddof=1 即可!

      如上圖所示,這下與文檔里的結果一致了!

      推薦閱讀:

      CRITIC權重法

      Numpy Python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:進銷存管理工具(2分鐘之前已更新)
      下一篇:wps如何啟用宏(vba)(wps如何啟用宏功能 未安裝vba)
      相關文章
      亚洲宅男精品一区在线观看| 亚洲狠狠狠一区二区三区| 亚洲网址在线观看| 亚洲AV日韩AV天堂一区二区三区 | 丁香亚洲综合五月天婷婷| 国产精品亚洲综合五月天| 麻豆亚洲AV永久无码精品久久| 亚洲AV无码乱码国产麻豆| 亚洲日韩精品A∨片无码| 国产午夜亚洲精品理论片不卡 | 久久久久亚洲精品中文字幕| 亚洲爽爽一区二区三区| 亚洲无码精品浪潮| 亚洲欧洲日本在线| 亚洲国产免费综合| 国产综合精品久久亚洲| 国产亚洲精AA在线观看SEE| 亚洲人成伊人成综合网久久久| 中文字幕精品亚洲无线码一区 | 久久亚洲精品无码观看不卡| 国产亚洲视频在线播放| 亚洲日韩国产精品第一页一区| 亚洲日韩国产精品第一页一区| 亚洲国产精品无码久久久不卡 | 亚洲精品国产成人专区| 亚洲色欲或者高潮影院| 亚洲av永久无码精品天堂久久| 亚洲avav天堂av在线网爱情| 亚洲影视自拍揄拍愉拍| 亚洲精品国产首次亮相| 全亚洲最新黄色特级网站 | 亚洲成a人片在线观看精品| 日韩亚洲国产综合高清| 亚洲欧洲免费无码| 无码欧精品亚洲日韩一区夜夜嗨 | 2022年亚洲午夜一区二区福利| 亚洲国产视频网站| 亚洲中文字幕无码中文| 亚洲第一se情网站| 国产偷国产偷亚洲高清日韩| 亚洲av午夜成人片精品网站|