本期:相關係數問題研究
如果有兩個變量:X、Y,最終計算出的相關係數的含義可以有如下理解:當相關係數為0時,X和Y兩變量無關係。當X的值增大(減小),Y值增大(減小),兩個變量為正相關,相關係數在0.00與1.00之間。當X的值增大(減小),Y值減小(增大),兩個變量為負相關,相關係數在-1.00與0.00之間。相關係數的絕對值越大,相關性越強,相關係數越接近於1或-1,相關度越強,相關係數越接近於0,相關度越弱。通常情況下通過以下取值範圍判斷變量的相關強度,若係數在0.8-1.0 之間,則代表有極強的相關性,若係數在0.6-0.8 之間,則代表強相關。若係數在0.4-0.6 ,則代表中等程度相關。若係數在0.2-0.4 間,則代表弱相關。若在0.0-0.2之間,則代表極弱相關或無相關。皮爾遜相關也稱為積差相關(或積矩相關)是英國統計學家皮爾遜於20世紀提出的一種計算直線相關的方法。假設有兩個變量X、Y,那麼兩變量間的皮爾遜相關係數可通過以下公式計算:
可以使用matlab或者Python操作,附上matlab相關代碼:
function coeff = myPearson(X , Y)
% 本函數實現了皮爾遜相關係數的計算操作
%
% 輸入:
% X:輸入的數值序列
% Y:輸入的數值序列
%
% 輸出:
% coeff:兩個輸入數值序列X,Y的相關係數
%
if length(X) ~= length(Y)
error('兩個數值數列的維數不相等');
return;
end
fenzi = sum(X .* Y) - (sum(X) * sum(Y)) / length(X);
fenmu = sqrt((sum(X .^2) - sum(X)^2 / length(X)) * (sum(Y .^2) - sum(Y)^2 / length(X)));
coeff = fenzi / fenmu;
end %函數myPearson結束
還有其他的相關係數方法,比如直接計算cof。
用matlab軟體還可以作出一些代表相關係數情況的圖形,比如下面這些圖形:
或者還有這種:
上面這個很炫酷的三維圖的代碼為:
data=xlsread('data.xlsx')data1 = log(data)x = data1(:,2:end-1)y = data1(:,end)[b,bint,r,rint,stats] = regress(y,x)r = corrcoef(x);surf(r)colormap jetcolorbarzlabel('相關係數')Learning Power 學習計劃