熵權(quán)法!數(shù)據(jù)分析中的權(quán)重分配利器

數(shù)據(jù)分析是在當(dāng)今信息爆炸的時(shí)代中應(yīng)用廣泛的技術(shù)之一。為了從大量的數(shù)據(jù)中提取有價(jià)值的信息,我們需要一種有效的方法來(lái)對(duì)不同的指標(biāo)進(jìn)行權(quán)重分配,熵權(quán)法可以作為一個(gè)客觀的綜合評(píng)價(jià)方法,比如根據(jù)河流的不同指標(biāo),評(píng)估不同河流的水質(zhì)。熵權(quán)法能夠幫助我們確定不同指標(biāo)的權(quán)重,使得我們能夠更準(zhǔn)確地評(píng)估數(shù)據(jù)的價(jià)值和重要性。本文將介紹熵權(quán)法其原理、應(yīng)用(excel&python)和評(píng)估方式。

為什么要用熵權(quán)法?或者說(shuō)具體什么場(chǎng)景下應(yīng)用。如果你很熟悉業(yè)務(wù)指標(biāo),可以根據(jù)你的經(jīng)驗(yàn),主觀去給指標(biāo)賦權(quán)重,并且指標(biāo)就幾個(gè),這種情況就不需要用熵權(quán)法。但是當(dāng)你不熟悉,無(wú)法根據(jù)過(guò)往經(jīng)驗(yàn)給權(quán)重,那么我們就需要用熵權(quán)法。例如,在投資決策中,可以使用熵權(quán)法來(lái)確定不同投資指標(biāo)的重要性,從而指導(dǎo)投資策略的制定。接下來(lái)我們看什么是熵權(quán)法。

一、熵權(quán)法的原理

熵是信息理論中表示信息量的概念。熵對(duì)不同指標(biāo)的權(quán)重進(jìn)行分配,指標(biāo)越混亂熵越大,越有秩序熵越小。那么,熵權(quán)法是通過(guò)計(jì)算每個(gè)指標(biāo)的熵值來(lái)衡量其隨機(jī)性和不確定性,然后根據(jù)熵值的大小來(lái)確定每個(gè)指標(biāo)的權(quán)重,基本思路是根據(jù)指標(biāo)變異性的大小來(lái)確定客觀權(quán)重。總的來(lái)說(shuō),指標(biāo)數(shù)據(jù)變異程度越高,熵越大,給的權(quán)重也越高。

二、熵權(quán)法的應(yīng)用

1. 準(zhǔn)備數(shù)據(jù)

①缺失值處理

數(shù)據(jù)要保證沒(méi)有缺失值,如果有缺失值,可以考慮用均值,中位數(shù)等進(jìn)行填充。


②確定指標(biāo)類型

在所有的指標(biāo)中,可能有正向,可能有負(fù)向。正向是數(shù)值越大越好,負(fù)向是數(shù)值越小越好。比如用戶分層模型,R最近消費(fèi)間隔,數(shù)值越小越好;F消費(fèi)頻次,M消費(fèi)金額越大越好。那么R就是負(fù)向指標(biāo),F(xiàn)M就是正向指標(biāo)。在本案例數(shù)據(jù)中p1-P13是正向指標(biāo),n1-n2是負(fù)向指標(biāo)。

③數(shù)據(jù)標(biāo)準(zhǔn)化

確定數(shù)據(jù)類型,就是在標(biāo)準(zhǔn)化這一步來(lái)使用的,標(biāo)準(zhǔn)化是來(lái)解決量綱不一致的問(wèn)題。看到我們的案例數(shù)據(jù),最大的單位有百萬(wàn),最小的是十。我們需要根據(jù)公式對(duì)正向和負(fù)向指標(biāo)分別標(biāo)準(zhǔn)化。公式如下:

  • xij : 對(duì)于i個(gè)樣本,j個(gè)指標(biāo),則xij為第i個(gè)樣本的第j個(gè)指標(biāo);比如這里的x14表示第一個(gè)樣本的第四個(gè)指標(biāo)數(shù)據(jù),也就是為0.3724
2. 實(shí)現(xiàn)過(guò)程【excel】

①新建輔助行 ,type標(biāo)記正向指標(biāo)、負(fù)向指標(biāo)

②計(jì)算出每個(gè)指標(biāo)的max,min,max-min

③標(biāo)準(zhǔn)化數(shù)據(jù)

公式:=IF(type="p",(B3-min)/max_min,(max-B3)/max_min)

④將值為0的調(diào)成0.00001,因?yàn)橄乱徊接?jì)算熵值時(shí),需要進(jìn)行l(wèi)og取數(shù),若數(shù)值=0,則得出的值就會(huì)是無(wú)限大,在程序體現(xiàn)就是NaN。為了避免這種情況,若計(jì)算結(jié)果等于0的情況,則將值稍微調(diào)大一點(diǎn),調(diào)成0.00001。

公式:=IF(B16=0,B16+0.00001,B16)

⑤計(jì)算指標(biāo)比重Pij

image.png

公式:=B27/SUM(B27:B35)

⑥計(jì)算熵值

image.png

首先計(jì)算k,公式:=-1/LN(9),這里因?yàn)橛?行數(shù)據(jù),所以用LN(9)

計(jì)算熵值ej,公式:=C46*SUMPRODUCT(B37:B45,LN(B37:B45))

⑦計(jì)算變異系數(shù)

image.png

公式:1-B47

⑧根據(jù)變異系數(shù),計(jì)算各指標(biāo)權(quán)重

公式:=B48/SUM(B48:Q48)

⑨線性加權(quán),計(jì)算綜合得分 xij為標(biāo)準(zhǔn)化之前的數(shù)據(jù)

最后將各指標(biāo)的加權(quán)得分相加,計(jì)算出綜合得分。

3.實(shí)現(xiàn)過(guò)程【python】

①讀取數(shù)據(jù)

import pandas as pd
import numpy as np
df= pd.read_excel('data_shiyan - 副本.xlsx')
df.head()

②空值處理

df.isnull().sum()

③標(biāo)準(zhǔn)化數(shù)據(jù)

df = df.set_index(df['時(shí)間'])
def data_Standardization(d):
    for i in list(d.columns):
        Max =np.max(d[i])
        Min = np.min(d[i])
        if (i=='n1') or (i=='n2'):
            d[i] = (Max - d[i]) / (Max - Min)
        else:
            d[i] = (d[i] - Min) / (Max - Min)
    return d
df = data_Standardization(df)
df

④將值為0的調(diào)成0.00001,因?yàn)橄乱徊接?jì)算熵值時(shí),需要進(jìn)行l(wèi)og取數(shù),若數(shù)值=0,則得出的值就會(huì)是無(wú)限大,在程序體現(xiàn)就是NaN。為了避免這種情況,若計(jì)算結(jié)果等于0的情況,則將值稍微調(diào)大一點(diǎn),調(diào)成0.00001。

df = df.replace(0,0.00001)

⑤計(jì)算指標(biāo)比重Pij


image.png
for col in df.columns:
    df[col] = df[col] / sum(df[col])
df

⑥計(jì)算熵值


image.png
k = 1 /np.log(9)
entropy = [(-k) * sum([pij*np.log(pij) for pij in df[col]]) for col in df.columns]
s_entropy = pd.Series(entropy,index=df.columns,name='指標(biāo)的熵值')
s_entropy

⑦計(jì)算變異系數(shù)dj

image.png
s_by = pd.Series(1-s_entropy,index=df.columns,name='變異系數(shù)')

⑧根據(jù)變異系數(shù),計(jì)算各指標(biāo)權(quán)重

s_weight = s_by/sum(s_by)

s_weight.sort_values(ascending=False)

⑨線性加權(quán),計(jì)算綜合得分 xij為標(biāo)準(zhǔn)化之前的數(shù)據(jù)

df_dict ={}
for idx in range(len(df.columns)):
    df_dict[df_gz.iloc[:,idx].name] = df_gz.iloc[:,idx] * s_weight[idx]

df_gz['最終得分'] = pd.DataFrame(df_dict).sum(axis=1).round(2)

df_gz.sort_values('最終得分',ascending=False)

最后將各指標(biāo)的加權(quán)得分相加,計(jì)算出綜合得分。

4. 得出結(jié)論

從各指標(biāo)權(quán)重占比來(lái)看,Top3分別是指標(biāo)p7、n2、p5。2010-2018年期間,綜合得分逐年上漲。

三、總結(jié)

結(jié)語(yǔ):本文介紹了熵權(quán)法作為一種數(shù)據(jù)分析方法的原理、excel & python 應(yīng)用和評(píng)估方式。通過(guò)理解和應(yīng)用熵權(quán)法,我們可以更好地利用數(shù)據(jù),做出更準(zhǔn)確和可靠的決策。希望本文能對(duì)讀者對(duì)熵權(quán)法的理解和運(yùn)用有所幫助。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,034評(píng)論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評(píng)論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,337評(píng)論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,883評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評(píng)論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,114評(píng)論 0 286
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,625評(píng)論 1 332
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,555評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,737評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評(píng)論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 43,973評(píng)論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評(píng)論 1 280
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,343評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,699評(píng)論 2 370