python斯皮爾曼spearman相關(guān)性分析實(shí)例
前言
相關(guān)性分析算是很多算法以及建模的基礎(chǔ)知識(shí)之一了,十分經(jīng)典。關(guān)于許多特征關(guān)聯(lián)關(guān)系以及相關(guān)趨勢(shì)都可以利用相關(guān)性分析計(jì)算表達(dá)。其中常見(jiàn)的相關(guān)性系數(shù)就有三種:person相關(guān)系數(shù),spearman相關(guān)系數(shù),Kendall's tau-b等級(jí)相關(guān)系數(shù)。各有各自的用法和使用場(chǎng)景。當(dāng)然關(guān)于這以上三種相關(guān)系數(shù)的計(jì)算算法和原理+代碼我都會(huì)在我專欄里面寫(xiě)齊全。目前關(guān)于數(shù)學(xué)建模的專欄已經(jīng)將傳統(tǒng)的機(jī)器學(xué)習(xí)預(yù)測(cè)算法、維度算法、時(shí)序預(yù)測(cè)算法和權(quán)重算法寫(xiě)的七七八八了,有這個(gè)需求興趣的同學(xué)可以去看看。 皮爾遜相關(guān)性分析一文詳解+python實(shí)例代碼
一、定義
經(jīng)常用希臘字母ρ表示。 它是衡量?jī)蓚€(gè)變量的依賴性的非參數(shù)指標(biāo)。 它利用單調(diào)方程評(píng)價(jià)兩個(gè)統(tǒng)計(jì)變量的相關(guān)性。 如果數(shù)據(jù)中沒(méi)有重復(fù)值, 并且當(dāng)兩個(gè)變量完全單調(diào)相關(guān)時(shí),斯皮爾曼相關(guān)系數(shù)則為+1或−1。斯皮爾曼相關(guān)系數(shù)被定義成等級(jí)變量之間的皮爾遜相關(guān)系數(shù)。對(duì)于樣本容量為n的樣本,n個(gè)原始數(shù)據(jù)被轉(zhuǎn)換成等級(jí)數(shù)據(jù),相關(guān)系數(shù)ρ為:
其中,di為Xi和Yi之間的等級(jí)差。 di的計(jì)算方式為:
二、斯皮爾曼相關(guān)使用場(chǎng)景
斯皮爾曼相關(guān)系數(shù)的適用條件比皮爾遜相關(guān)系數(shù)要廣,只需兩個(gè)變量的觀測(cè)值是成對(duì)的等級(jí)評(píng)定數(shù)據(jù),或者是由連續(xù)變量觀測(cè)數(shù)據(jù)轉(zhuǎn)化得到的等級(jí)數(shù)據(jù),不論兩個(gè)變量的總體分布形態(tài)、樣本容量的大小如何,都可以用斯皮爾曼等級(jí)相關(guān)系數(shù)來(lái)進(jìn)行研究。只要數(shù)據(jù)滿足單調(diào)關(guān)系(例如線性函數(shù)、指數(shù)函數(shù)、對(duì)數(shù)函數(shù)等)就能夠使用。
斯皮爾曼相關(guān)系數(shù)對(duì)于異常值不太敏感,因?yàn)樗谂判蛭淮芜M(jìn)行計(jì)算,實(shí)際數(shù)值之間的差異大小對(duì)于計(jì)算結(jié)果沒(méi)有直接影響。
三、斯皮爾曼相關(guān)系數(shù)計(jì)算
和上期文章使用的函數(shù)一樣,可以使用pandas的函數(shù)corr:
DataFrame.corr(method='pearson', min_periods=1, numeric_only=_NoDefault.no_default)
參數(shù)說(shuō)明:
method: {‘pearson’, ‘kendall’, ‘spearman’} or callable。Method of correlation。
- pearson : standard correlation coefficient,皮爾遜系數(shù)
- kendall : Kendall Tau correlation coefficient,肯德?tīng)栂禂?shù)
- spearman :Spearman rank correlation,斯皮爾曼系數(shù)
min_periods:int, optional。每對(duì)列所需的最小樣本數(shù)。目前僅適用于Pearson和Spearman相關(guān)性。
numeric_only:bool, default True。僅包含浮點(diǎn)、整型或布爾型數(shù)據(jù)。
實(shí)現(xiàn)起來(lái)很簡(jiǎn)單
rho =df_test.corr(method='spearman') rho
熱力圖
plt.rcParams['font.family'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False sns.heatmap(rho, annot=True) plt.title('Heat Map', fontsize=18)
或者使用scipy的state函數(shù),效果是一樣的:
import numpy as np from scipy import stats stats.spearmanr(data1,data2)
四、斯皮爾曼相關(guān)系數(shù)的假設(shè)檢驗(yàn)
分為兩種情況:小樣本和大樣本
小樣本情況(n ≤ 30),直接查臨界值表H0:rs = 0; H1:rs ≠ 0
使用得出的斯皮爾曼相關(guān)系數(shù) r 與對(duì)應(yīng)的臨界值進(jìn)行比較。
大樣本情況下,統(tǒng)計(jì)量
H0:rs = 0; H1:rs ≠ 0,計(jì)算檢驗(yàn)值z(mì)*,并求出對(duì)應(yīng)的p值與0.05比較即可。
以上就是python斯皮爾曼spearman相關(guān)性分析實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于python spearman相關(guān)性分析的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Django Channel實(shí)時(shí)推送與聊天的示例代碼
這篇文章主要介紹了Django Channel實(shí)時(shí)推送與聊天的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Python新手在作用域方面經(jīng)常容易碰到的問(wèn)題
這篇文章主要介紹了Python新手在作用域方面經(jīng)常容易碰到的問(wèn)題,全局變量和局部變量方面的知識(shí)在Python學(xué)習(xí)當(dāng)中是基礎(chǔ)中的基礎(chǔ),需要的朋友可以參考下2015-04-04Python實(shí)現(xiàn)清理重復(fù)文件功能的示例代碼
在電腦上或多或少的存在一些重復(fù)文件,體積小的倒沒(méi)什么,如果體積大的就很占內(nèi)存了。本文用python制作了一個(gè)刪除重復(fù)文件的小工具,核心代碼很簡(jiǎn)單,希望對(duì)你有所幫助2022-07-07python使用WMI檢測(cè)windows系統(tǒng)信息、硬盤信息、網(wǎng)卡信息的方法
這篇文章主要介紹了python使用WMI檢測(cè)windows系統(tǒng)信息、硬盤信息、網(wǎng)卡信息的方法,涉及Python針對(duì)系統(tǒng)信息的相關(guān)操作技巧,需要的朋友可以參考下2015-05-05分布式爬蟲(chóng)scrapy-redis的實(shí)戰(zhàn)踩坑記錄
最近用scrapy-redis嘗試了分布式爬蟲(chóng),使用過(guò)程中也遇到了不少問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于分布式爬蟲(chóng)scrapy-redis的實(shí)戰(zhàn)踩坑記錄,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08詳談python中冒號(hào)與逗號(hào)的區(qū)別
下面小編就為大家分享一篇詳談python中冒號(hào)與逗號(hào)的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Python 3中print函數(shù)的使用方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于Python 3中print函數(shù)的使用方法,python3中的print函數(shù)和之前版本的用法相差很多,本文通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-08-08利用anaconda作為python的依賴庫(kù)管理方法
今天小編就為大家分享一篇利用anaconda作為python的依賴庫(kù)管理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08python返回?cái)?shù)組索引的方法實(shí)現(xiàn)
本文介紹了三種在Python中返回?cái)?shù)組索引的方法,主要包括index()方法,enumerate()方法及使用numpy庫(kù)的argwhere()函數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01