欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Numpy實(shí)現(xiàn)計(jì)算矩陣的均值和標(biāo)準(zhǔn)差詳解

 更新時(shí)間:2021年11月22日 09:55:16   作者:葉庭云  
NumPy(Numerical Python)是Python的一種開源的數(shù)值計(jì)算擴(kuò)展。這種工具可用來存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表結(jié)構(gòu)要高效的多。本文主要介紹用NumPy實(shí)現(xiàn)計(jì)算矩陣的均值和標(biāo)準(zhǔn)差,感興趣的小伙伴可以了解一下

一、前言

CRITIC權(quán)重法是一種比熵權(quán)法和標(biāo)準(zhǔn)離差法更好的客觀賦權(quán)法:

  • 它是基于評(píng)價(jià)指標(biāo)的對(duì)比強(qiáng)度和指標(biāo)之間的沖突性來綜合衡量指標(biāo)的客觀權(quán)重??紤]指標(biāo)變異性大小的同時(shí)兼顧指標(biāo)之間的相關(guān)性,并非數(shù)字越大就說明越重要,完全利用數(shù)據(jù)自身的客觀屬性進(jìn)行科學(xué)評(píng)價(jià)。
  • 對(duì)比強(qiáng)度是指同一個(gè)指標(biāo)各個(gè)評(píng)價(jià)方案之間取值差距的大小,以標(biāo)準(zhǔn)差的形式來表現(xiàn)。標(biāo)準(zhǔn)差越大,說明波動(dòng)越大,即各方案之間的取值差距越大,權(quán)重會(huì)越高;

指標(biāo)之間的沖突性,用相關(guān)系數(shù)進(jìn)行表示,若兩個(gè)指標(biāo)之間具有較強(qiáng)的正相關(guān),說明其沖突性越小,權(quán)重會(huì)越低。

對(duì)于 CRITIC 權(quán)重法而言,在標(biāo)準(zhǔn)差一定時(shí),指標(biāo)間沖突性越小,權(quán)重也越小;沖突性越大,權(quán)重也越大;另外,當(dāng)兩個(gè)指標(biāo)間的正相關(guān)程度越大時(shí),(相關(guān)系數(shù)越接近1),沖突性越小,這表明這兩個(gè)指標(biāo)在評(píng)價(jià)方案的優(yōu)劣上反映的信息有較大的相似性。

在用 Python 復(fù)現(xiàn) CRITIC 權(quán)重法時(shí),需要計(jì)算變異系數(shù),以標(biāo)準(zhǔn)差的形式來表現(xiàn),如下所示:

Sj表示第 j 個(gè)指標(biāo)的標(biāo)準(zhǔn)差,在 CRITIC 權(quán)重法中使用標(biāo)準(zhǔn)差來表示各指標(biāo)的內(nèi)取值的差異波動(dòng)情況,標(biāo)準(zhǔn)差越大表示該指標(biāo)的數(shù)值差異越大,越能放映出更多的信息,該指標(biāo)本身的評(píng)價(jià)強(qiáng)度也就越強(qiáng),應(yīng)該給該指標(biāo)分配更多的權(quán)重。

研究收集到湖南省某醫(yī)院 2011 年 5 個(gè)科室的數(shù)據(jù),共有 6 個(gè)指標(biāo),當(dāng)前希望通過已有數(shù)據(jù)分析各個(gè)指標(biāo)的權(quán)重情況如何,便于醫(yī)院對(duì)各個(gè)指標(biāo)設(shè)立權(quán)重進(jìn)行后續(xù)的綜合評(píng)價(jià),用于各個(gè)科室的綜合比較等。數(shù)據(jù)如下:

二、詳解計(jì)算均值和標(biāo)準(zhǔn)差

初始化一個(gè)簡單的矩陣:

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

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

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

分別計(jì)算整體的標(biāo)準(zhǔn)差、每一列的標(biāo)準(zhǔn)差和每一行的標(biāo)準(zhǔn)差:

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

結(jié)果如下:

三、實(shí)踐:CRITIC權(quán)重法計(jì)算變異系數(shù)

導(dǎo)入需要的依賴庫:

import numpy as np
import pandas as pd

提取數(shù)據(jù):

df = pd.read_excel("./datas/result03.xlsx")
df

datas = df.iloc[:, 1:]
datas

如下所示:

數(shù)據(jù)正向和逆向化處理:

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)

如下所示:

按列計(jì)算每個(gè)指標(biāo)數(shù)據(jù)的標(biāo)準(zhǔn)差:

發(fā)現(xiàn)結(jié)果與文檔不一致:

原因:numpy默認(rèn)是除以樣本數(shù),求的是母體標(biāo)準(zhǔn)差;而除以樣本-1,得到的才是樣本標(biāo)準(zhǔn)差,這時(shí)設(shè)置參數(shù) ddof=1 即可!

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

以上就是Python Numpy實(shí)現(xiàn)計(jì)算矩陣的均值和標(biāo)準(zhǔn)差詳解的詳細(xì)內(nèi)容,更多關(guān)于Python計(jì)算矩陣均值標(biāo)準(zhǔn)差的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python pygame實(shí)現(xiàn)擋板彈球游戲

    python pygame實(shí)現(xiàn)擋板彈球游戲

    這篇文章主要為大家詳細(xì)介紹了python pygame實(shí)現(xiàn)擋板彈球游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 使用Python實(shí)現(xiàn)將list中的每一項(xiàng)的首字母大寫

    使用Python實(shí)現(xiàn)將list中的每一項(xiàng)的首字母大寫

    今天小編就為大家分享一篇使用Python實(shí)現(xiàn)將list中的每一項(xiàng)的首字母大寫,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python爬蟲使用requests發(fā)送post請(qǐng)求示例詳解

    python爬蟲使用requests發(fā)送post請(qǐng)求示例詳解

    這篇文章主要介紹了python爬蟲使用requests發(fā)送post請(qǐng)求示例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 教你怎么用python selenium實(shí)現(xiàn)自動(dòng)化測(cè)試

    教你怎么用python selenium實(shí)現(xiàn)自動(dòng)化測(cè)試

    今天帶大家學(xué)習(xí)怎么用python selenium實(shí)現(xiàn)自動(dòng)化測(cè)試,文中有非常詳細(xì)的介紹及代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • django進(jìn)階之cookie和session的使用示例

    django進(jìn)階之cookie和session的使用示例

    這篇文章主要介紹了django進(jìn)階之cookie和session的使用示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • PyCharm永久激活方式(推薦)

    PyCharm永久激活方式(推薦)

    這篇文章主要介紹了PyCharm永久激活方式,本文通過圖文并茂的方式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python?ORM框架之SQLAlchemy?的基礎(chǔ)用法

    Python?ORM框架之SQLAlchemy?的基礎(chǔ)用法

    這篇文章主要介紹了Python?ORM框架之SQLAlchemy?的基礎(chǔ)用法,ORM全稱?Object?Relational?Mapping對(duì)象關(guān)系映射,更多詳細(xì)內(nèi)容需要的小伙伴課題參考下面文章介紹。希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • Python使用Tkinter制作一個(gè)進(jìn)制轉(zhuǎn)換工具

    Python使用Tkinter制作一個(gè)進(jìn)制轉(zhuǎn)換工具

    在平時(shí)工作學(xué)習(xí)當(dāng)中,我們經(jīng)常會(huì)編寫一些簡單的 Python GUI 工具,以此來完成各種各樣的自動(dòng)化任務(wù),下面我們就來看看如何使用Python制作一個(gè)進(jìn)制轉(zhuǎn)換工具吧
    2024-01-01
  • Django后端發(fā)送小程序微信模板消息示例(服務(wù)通知)

    Django后端發(fā)送小程序微信模板消息示例(服務(wù)通知)

    今天小編就為大家分享一篇Django后端發(fā)送小程序微信模板消息示例(服務(wù)通知),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • pycharm運(yùn)行scrapy過程圖解

    pycharm運(yùn)行scrapy過程圖解

    這篇文章主要介紹了pycharm運(yùn)行scrapy過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11

最新評(píng)論