python去求相關係數(python去求相關係數矩陣)

本文目錄一覽:

如何利用python進行數據的相關性分析

1. 運算優先級

括號、指數、乘、除、加、減

2

如果你使用了非 ASCII 字符而且碰到了編碼錯誤,記得在最頂端加一行 # — coding: utf-8 —

3. Python格式化字符

使用更多的格式化字符。例如 %r 就是是非常有用的一個,它的含義是「不管什麼都打印出來」。

%s — string

%% 百分號標記 #就是輸出一個%

%c 字符及其ASCII碼

%s 字符串

%d 有符號整數(十進制)

%u 無符號整數(十進制)

%o 無符號整數(八進制)

%x 無符號整數(十六進制)

%X 無符號整數(十六進制大寫字符)

%e 浮點數字(科學計數法)

%E 浮點數字(科學計數法,用E代替e)

%f 浮點數字(用小數點符號)

%g 浮點數字(根據值的大小採用%e或%f)

%G 浮點數字(類似於%g)

%p 指針(用十六進制打印值的內存地址)

%n 存儲輸出字符的數量放進參數列表的下一個變量中

%c 轉換成字符(ASCII 碼值,或者長度為一的字符串)

%r 優先用repr()函數進行字符串轉換(Python2.0新增)

%s 優先用str()函數進行字符串轉換

%d / %i 轉成有符號十進制數

%u 轉成無符號十進制數

%o 轉成無符號八進制數

%x / %X (Unsigned)轉成無符號十六進制數(x / X 代表轉換後的十六進制字符的大小寫)

%e / %E 轉成科學計數法(e / E控制輸出e / E)

%f / %F 轉成浮點數(小數部分自然截斷)

%g / %G : %e和%f / %E和%F 的簡寫

%% 輸出%

輔助符號 說明

* 定義寬度或者小數點精度

– 用做左對齊

+ 在正數前面顯示加號(+)

sp 在正數前面顯示空格

# 在八進制數前面顯示零(0),在十六進制前面顯示「0x」或者「0X」(取決於用的是「x」還是「X」)

0 顯示的數字前面填充「0」而不是默認的空格

m.n m 是顯示的最小總寬度,n 是小數點後的位數(如果可用的話)

相關性係數介紹+python代碼實現 correlation analysis

參考文獻:

1. python 皮爾森相關係數

2. 統計學之三大相關性係數(pearson、spearman、kendall)

皮爾森係數

重點關注第一個等號後面的公式,最後面的是推導計算,暫時不用管它們。看到沒有,兩個變量(X, Y)的皮爾森相關性係數(ρX,Y)等於它們之間的協方差cov(X,Y)除以它們各自標準差的乘積(σX, σY)。

公式的分母是變量的標準差,這就意味着計算皮爾森相關性係數時,變量的標準差不能為0(分母不能為0),也就是說你的兩個變量中任何一個的值不能都是相同的。如果沒有變化,用皮爾森相關係數是沒辦法算出這個變量與另一個變量之間是不是有相關性的。

皮爾森相關係數(Pearson correlation coefficient)也稱皮爾森積矩相關係數(Pearson product-moment correlation coefficient) ,是一種線性相關係數。皮爾森相關係數是用來反映兩個變量線性相關程度的統計量。相關係數用r表示,其中n為樣本量,分別為兩個變量的觀測值和均值。r描述的是兩個變量間線性相關強弱的程度。r的絕對值越大表明相關性越強。

簡單的相關係數的分類

0.8-1.0 極強相關

0.6-0.8 強相關

0.4-0.6 中等程度相關

0.2-0.4 弱相關

0.0-0.2 極弱相關或無相關

r描述的是兩個變量間線性相關強弱的程度。r的取值在-1與+1之間,若r0,表明兩個變量是正相關,即一個變量的值越大,另一個變量的值也會越大;若r0,表明兩個變量是負相關,即一個變量的值越大另一個變量的值反而會越小。r 的絕對值越大表明相關性越強,要注意的是這裡並不存在因果關係。

斯皮爾曼相關性係數,通常也叫斯皮爾曼秩相關係數。「秩」,可以理解成就是一種順序或者排序,那麼它就是根據原始數據的排序位置進行求解,這種表徵形式就沒有了求皮爾森相關性係數時那些限制。下面來看一下它的計算公式:

計算過程就是:首先對兩個變量(X, Y)的數據進行排序,然後記下排序以後的位置(X』, Y』),(X』, Y』)的值就稱為秩次,秩次的差值就是上面公式中的di,n就是變量中數據的個數,最後帶入公式就可求解結果

帶入公式,求得斯皮爾曼相關性係數:ρs= 1-6 (1+1+1+9)/6 35=0.657

而且,即便在變量值沒有變化的情況下,也不會出現像皮爾森係數那樣分母為0而無法計算的情況。另外,即使出現異常值,由於異常值的秩次通常不會有明顯的變化(比如過大或者過小,那要麼排第一,要麼排最後),所以對斯皮爾曼相關性係數的影響也非常小!

由於斯皮爾曼相關性係數沒有那些數據條件要求,適用的範圍就廣多了。

肯德爾相關性係數,又稱肯德爾秩相關係數,它也是一種秩相關係數,不過它所計算的對象是分類變量。

分類變量可以理解成有類別的變量,可以分為

無序的,比如性別(男、女)、血型(A、B、O、AB);

有序的,比如肥胖等級(重度肥胖,中度肥胖、輕度肥胖、不肥胖)。

通常需要求相關性係數的都是有序分類變量。

舉個例子。比如評委對選手的評分(優、中、差等),我們想看兩個(或者多個)評委對幾位選手的評價標準是否一致;或者醫院的尿糖化驗報告,想檢驗各個醫院對尿糖的化驗結果是否一致,這時候就可以使用肯德爾相關性係數進行衡量。

pandas.DataFrame.corr()

DataFrame.corr(method=’pearson’, min_periods=1)[source]

Compute pairwise correlation of columns, excluding NA/null values

Parameters:

method : {『pearson』, 『kendall』, 『spearman』}

pearson : standard correlation coefficient

kendall : Kendall Tau correlation coefficient

spearman : Spearman rank correlation

min_periods : int, optional

Minimum number of observations required per pair of columns to have a valid result. Currently only available for pearson and spearman correlation

Returns:

y : DataFrame

numpy.corrcoef(x,y = None,rowvar = True,bias = class’numpy._globals._NoValue’,ddof = class’numpy._globals._NoValue’ )

返回Pearson乘積矩相關係數。

cov有關更多詳細信息,請參閱文檔。相關係數矩陣R和協方差矩陣C之間的關係為

R的值在-1和1之間(含)。

參數:

x:array_like

包含多個變量和觀察值的1維或2維數組。x的每一行代表一個變量,每一列都是對所有這些變量的單獨觀察。另請參閱下面的rowvar。

y:array_like,可選

一組額外的變量和觀察。y的形狀與x相同。

rowvar:布爾,可選

如果rowvar為True(默認),則每行表示一個變量,並在列中有觀察值。否則,該關係將被轉置:每列表示一個變量,而行包含觀察值。

bias : _NoValue, optional Has no effect, do not use. Deprecated since version 1.10.0.

ddof : _NoValue, optional Has no effect, do not use. Deprecated since version 1.10.0.

返回:

R:ndarray 變量的相關係數矩陣。

python計算多個數組的相關性

線性相關:主要採用皮爾遜相關係數來度量連續變量之間的線性相關強度;

線性相關係數|r| 相關程度

0=|r|0.3 低度相關

0.3=|r|0.8 中度相關

0.8=|r|1 高度相關

1 函數

相關分析函數:

DataFrame.corr()

Series.corr(other)

說明:

如果由數據框調用corr方法,那麼將會計算每個列兩兩之間的相似度

如果由序列調用corr方法,那麼只是計算該序列與傳入序列之間的相關度

返回值:

dataFrame調用:返回DataFrame

Series調用: 返回一個數值型,大小為相關度

2 案例

import pandas

data=pandas.read_csv(‘C:\\Users\\Desktop\\test.csv’)

print(data.corr())

#由數據框調用corr方法,將會計算每個列兩兩之間的相似度,返回的是一個矩形

print(data[‘人口’].corr(data[‘文盲率’]))

#由某一列調用corr方法,只是計算該序列與傳入序列(本例中的’文盲率’)之間的相關度

print(data[‘超市購物率’,’網上購物率’,’文盲率’,’人口’]).corr()

python相關性分析如何生成兩個相關性最強的兩門?

方法/步驟

第一步我們首先需要知道相關性主要有兩個方向,一個是正方向一個是負方向,相關性係數是衡量兩個變量之間影響程度,如下圖所示:

請點擊輸入圖片描述

第二步下面通過公式計算兩個變量之間相關性係數,代碼如下:

import numpy

import pandas

X = [52,19,7,33,2]

Y = [162,61,22,100,6]

#公式計算#均值XMean = numpy.mean(X)

YMean = numpy.mean(Y)

#標準差XSD = numpy.std(X)

YSD = numpy.std(Y)

#z分數ZX = (X-XMean)/XSD

ZY = (Y-YMean)/YSD#相關係數

r = numpy.sum(ZX*ZY)/(len(X))

print(r)

請點擊輸入圖片描述

第三步運行程序,可以得到相關性係數r ,r的值是0.999674032661831,相關性非常高,如下圖所示:

請點擊輸入圖片描述

第四步我們也可以通過numpy的corrcoef方法計算相關性係數,輸入代碼

t=numpy.corrcoef(X,Y)

print(t)

可以看到X與Y和Y與X的相關性係數,如下圖所示:

請點擊輸入圖片描述

請點擊輸入圖片描述

第五步我們也可以通過pandas的corr方法計算相關性係數,代碼

data = pandas.DataFrame({‘X’:X,’Y’:Y})

t2=data.corr()

print(t2)

得到了相同的結果,如下圖所示:

請點擊輸入圖片描述

請點擊輸入圖片描述

如何用python進行相關性分析

用python進行相關性分析應該主要根據數據的內容進行分析,如果是帶標註的數據可以通過模型訓練的方式來獲取進行分析,找出對目標結果有最大影響的因素。如果沒有標註的話,可以用python構建網絡知識圖譜手動分析,或者自己構建數據表格,人為觀察數據分佈圖找到其中規律。一般來說相關性分析,主要依靠人為的觀察,並用數據和模型來輔助計算,從而獲得相對準確的結果。

初學python,怎樣用python做pearson相關係數的檢驗呢,求指導啊

scipy.stats.pearsonr(x, y)

x和y為相同長度的兩組數據

返回值 r, p-value

r是相關係數,取值-1~1. 表示線性相關程度

p-value越小,表示相關程度越顯著。按照文檔的說法「The p-values are not entirely reliable but are probably reasonable for datasets larger than 500 or so.」,p-value在500個樣本值以上有較高的可靠性

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/198749.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 10:27
下一篇 2024-12-04 10:27

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論