Python計算相關係數

2021-10-20 10:44:04 字數 1495 閱讀 6840

最近在看地理建模題目,其中提到了建立回歸模型後計算相關係數;當時有點疑問,這個相關係數是從原始資料算出,還是用回歸後的擬合資料計算。

後來想了想應該是原始資料計算的,用回歸方程算出的x,y肯定在一條直線上,相關係數直接就是1了。雖然想法有些耿直,但是為了驗證一下,同時也順路寫寫**,於是使用python計算相關係數。

提前將資料整理為csv格式了,四列分別為id、原始y、原始x、和擬合y。

原始x和y的散點圖顯示x與y呈現線性相關關係。因此可以建立線性回歸模型。

這是相關係數計算公式。據此計算相關關係。

根據公式寫出計算**:

import pandas as pd

from numpy import mean

#相關係數計算公式

defr_square

(x,y)

: p1=x2=y2=

0.0#計算平均值

x_=mean(x)

y_=mean(y)

#迴圈讀取每個值,計算對應值的累和

for i in

range

(len

(x))

: p1+=

(x[i]

-x_)

*(y[i]

-y_)

x2+=

(x[i]

-x_)**2

y2+=

(y[i]

-y_)**2

#print(p1,x2,y2)

#計算相關係數

r=p1/

((x2**

0.5)

*(y2**

0.5)

)return r

#讀取資料

df=pd.read_csv(

"data.csv"

,encoding=

'utf-8'

)x=df[

'x']

.tolist(

)y=df[

'y']

.tolist(

)#呼叫並輸出相關係數

print

(r_square(x,y)

)

上面為擬合值與x的相關係數,下面為原始x、y的相關係數。結果與設想的一樣。

皮爾森相關係數 皮爾森相關係數的計算

在 變數關係大揭秘 一 我們提到了皮爾森相關係數r 先來兩個散點圖,左圖中x和y不相關,右圖中x和y高度正相關,差別在哪?讓我們在左右兩圖各畫乙個 田 字,田 字中心的座標是 x的平均值,y的平均值 比較左右兩圖,我們知道 當散點在a b c d均勻分布,x和y不相關 當a和c的點越多,並且b和d的...

MATLAB相關係數計算

matlab中計算相關係數的函式及其語法 plain view plain copy r corrcoef x r corrcoef x,y r,p corrcoef r,p,rlo,rup corrcoef corrcoef param1 val1,param2 val2,下面以例項來進行說明。p...

相關係數矩陣計算 期望 方差 協方差 相關係數

第一部分 理論部分 注 對以上的擴充套件涉及到矩 協方差矩陣 第二部分 實驗部分 編譯器 python 3.6 作 者 寒木雅 計算樣本期望 均值 方差 標準差 協方差 相關係數import numpy as np 生成隨機樣本x,yx np.random.randint 0,10,100 y np...