python皮爾遜相關(guān)性數(shù)據(jù)分析分析及實(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ì)在我專(zhuān)欄里面寫(xiě)齊全。目前關(guān)于數(shù)學(xué)建模的專(zhuān)欄已經(jīng)將傳統(tǒng)的機(jī)器學(xué)習(xí)預(yù)測(cè)算法、維度算法、時(shí)序預(yù)測(cè)算法和權(quán)重算法寫(xiě)的七七八八了,有這個(gè)需求興趣的同學(xué)可以去看看。
數(shù)值類(lèi)型
之前在我上篇文章說(shuō)過(guò)關(guān)于數(shù)據(jù)特征是一個(gè)很重要的例子,任何分析算法都需要建立在其符合使用場(chǎng)景之上,我們需要對(duì)癥下藥,從數(shù)據(jù)特征開(kāi)始分析。
按照數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)格式可以歸納為兩類(lèi):
按照特征數(shù)據(jù)含義又可分為:
- 離散型隨機(jī)變量:取值只能是可取范圍內(nèi)的指定數(shù)值類(lèi)型的隨機(jī)變量,比如年齡、車(chē)流量此類(lèi)數(shù)據(jù)。
- 連續(xù)隨機(jī)變量:按照測(cè)量或者計(jì)算方法得到,在某個(gè)范圍內(nèi)連取n個(gè)值,此類(lèi)數(shù)據(jù)可化為定類(lèi)數(shù)據(jù)。
- 二分類(lèi)數(shù)據(jù):此類(lèi)數(shù)據(jù)僅只有兩類(lèi):例如是與否、成功與失敗。
- 多分類(lèi)數(shù)據(jù):此類(lèi)數(shù)據(jù)有多類(lèi):例如天氣出太陽(yáng)、下雨、陰天。
- 周期型數(shù)據(jù):此類(lèi)數(shù)據(jù)存在一個(gè)周期循環(huán):例如周數(shù)月數(shù)。
那么問(wèn)題來(lái)了,關(guān)于這三種系數(shù)到底適用于哪種數(shù)據(jù)場(chǎng)景呢?
皮爾遜系數(shù)使用場(chǎng)景
首先使用皮爾遜系數(shù)的情況包含以下三種特性,我們從scipy的函數(shù)pearsonr的相關(guān)說(shuō)明就可以看出:
The Pearson correlation coefficient [1] measures the linear relationship between two datasets. Like other correlation coefficients, this one varies between -1 and +1 with 0 implying no correlation. Correlations of -1 or +1 imply an exact linear relationship. Positive correlations imply that as x increases, so does y. Negative correlations imply that as x increases, y decreases.
也就是說(shuō):皮爾遜相關(guān)系數(shù)測(cè)量?jī)蓚€(gè)數(shù)據(jù)集之間的線(xiàn)性關(guān)系。與其他相關(guān)系數(shù)一樣,該系數(shù)在-1和+1之間變化,0表示不相關(guān)。-1或+1的相關(guān)性意味著精確的線(xiàn)性關(guān)系。正相關(guān)意味著x增加,y也增加。負(fù)相關(guān)意味著隨著x增加,y減少。 總結(jié)一下對(duì)于皮爾遜相關(guān)系數(shù)的使用場(chǎng)景,有三種必要的特性使用皮爾遜系數(shù)最佳:
- 連續(xù)數(shù)據(jù)
- 正態(tài)分布
- 線(xiàn)性關(guān)系
上述三個(gè)條件均滿(mǎn)足才能使用pearson相關(guān)系數(shù),否則就用spearman相關(guān)系數(shù)。定序數(shù)據(jù)之間也只用spearman相關(guān)系數(shù),不能用pearson相關(guān)系數(shù)。
皮爾遜相關(guān)系數(shù)(Pearson correlation)
1.定義
兩個(gè)變量之間的皮爾遜相關(guān)系數(shù)定義為兩個(gè)變量之間的協(xié)方差和標(biāo)準(zhǔn)差的商:
變量相關(guān)強(qiáng)度:
相關(guān)程度 | 極強(qiáng)相關(guān) | 強(qiáng)相關(guān) | 中等強(qiáng)度相關(guān) | 弱相關(guān) | 極弱相關(guān)或無(wú)相關(guān) |
---|---|---|---|---|---|
相關(guān)系數(shù)絕對(duì)值 | 1-0.8 | 0.8-0.6 | 0.6-0.4 | 0.4-0.2 | 0.2-0 |
2.線(xiàn)性關(guān)系判定
一般可以利用散點(diǎn)圖加上最小二乘法擬合大體看出線(xiàn)性關(guān)系:
3.正態(tài)檢驗(yàn)
1.KS檢驗(yàn)
假設(shè)檢驗(yàn)的基本思想:
若對(duì)總體的某個(gè)假設(shè)是真實(shí)的,那么不利于或者不能支持這一假設(shè)的事件A在一次試驗(yàn)中是幾乎不可能發(fā)生的。如果事件A真的發(fā)生了,則有理由懷疑這一假設(shè)的真實(shí)性,從而拒絕該假設(shè)。
實(shí)質(zhì)分析: 假設(shè)檢驗(yàn)實(shí)質(zhì)上是對(duì)原假設(shè)是否正確進(jìn)行檢驗(yàn),因此檢驗(yàn)過(guò)程中要使原假設(shè)得到維護(hù),使之不輕易被拒絕;否定原假設(shè)必須有充分的理由。同時(shí),當(dāng)原假設(shè)被接受時(shí),也只能認(rèn)為否定該假設(shè)的根據(jù)不充分,而不是認(rèn)為它絕對(duì)正確。
借助假設(shè)檢驗(yàn)的思想,利用K-S檢驗(yàn)可以對(duì)數(shù)列的性質(zhì)進(jìn)行檢驗(yàn):
def normal_test(data): u = data.mean() std = data.std() result = stats.kstest(data, 'norm', (u, std)) print(result) normal_test()
此時(shí),pvalue > 0.05,不拒絕原假設(shè)。因此數(shù)據(jù)服從正態(tài)分布。
4.計(jì)算代碼
若以上驗(yàn)證均成功則采取皮爾遜相關(guān)系數(shù)進(jìn)行相關(guān)性分析,可以使用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ù)。
rho =df_test.corr(method='pearson') rho
plt.rcParams['font.family'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False sns.heatmap(rho, annot=True) plt.title('Heat Map', fontsize=18)
以上就是python皮爾遜相關(guān)性分析及實(shí)例代碼的詳細(xì)內(nèi)容,更多關(guān)于python皮爾遜相關(guān)性的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
pytorch 網(wǎng)絡(luò)參數(shù) weight bias 初始化詳解
這篇文章主要介紹了pytorch 網(wǎng)絡(luò)參數(shù) weight bias 初始化詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06Python實(shí)現(xiàn)根據(jù)Excel生成Model和數(shù)據(jù)導(dǎo)入腳本
最近遇到一個(gè)需求,有幾十個(gè)Excel,每個(gè)的字段都不一樣,然后都差不多是第一行是表頭,后面幾千上萬(wàn)的數(shù)據(jù),需要把這些Excel中的數(shù)據(jù)全都加入某個(gè)已經(jīng)上線(xiàn)的Django項(xiàng)目。所以我造了個(gè)自動(dòng)生成?Model和導(dǎo)入腳本的輪子,希望對(duì)大家有所幫助2022-11-11Python處理文件的方法(mimetypes和chardet)
這篇文章主要介紹了Python處理文件的方法(mimetypes和chardet),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09基于Python實(shí)現(xiàn)錄音功能的示例代碼
今天我們來(lái)介紹一個(gè)好玩且實(shí)用的東西,我們使用python來(lái)實(shí)現(xiàn)一個(gè)錄音的功能。文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2023-02-02python實(shí)現(xiàn)單張圖像拼接與批量圖片拼接
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)單張圖像拼接與批量圖片拼接,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03pygame實(shí)現(xiàn)俄羅斯方塊游戲(基礎(chǔ)篇1)
這篇文章主要為大家介紹了pygame實(shí)現(xiàn)俄羅斯方塊游戲基礎(chǔ)的第1篇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10BeautifulSoup獲取指定class樣式的div的實(shí)現(xiàn)
這篇文章主要介紹了BeautifulSoup獲取指定class樣式的div的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12pycharm2020上部署配置AutoGPT4.0(保姆級(jí)教程)
本文主要介紹了pycharm2020上部署配置AutoGPT4.0,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06