最近在看地理建模題目,其中提到了建立回歸模型後計算相關係數;當時有點疑問,這個相關係數是從原始資料算出,還是用回歸後的擬合資料計算。
後來想了想應該是原始資料計算的,用回歸方程算出的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...