本文首次在公眾號【零妖閣】上發(fā)表,為了方便閱讀和分享,我們將在其他平臺進行自動同步。由于不同平臺的排版格式可能存在差異,為了避免影響閱讀體驗,建議如有排版問題,可前往公眾號查看原文。感謝您的閱讀和支持!
corr:Pearson 線性相關系數(shù)矩陣
兩個隨機變量
x
x
x、
y
y
y 的 Pearson 線性相關系數(shù)的計算公式為
ρ
=
E
{
(
x
?
E
[
x
]
)
(
y
?
E
[
y
]
)
}
E
[
(
x
?
E
[
x
]
)
]
2
E
[
(
y
?
E
[
y
]
)
]
2
=
E
{
(
x
?
μ
x
)
(
y
?
μ
y
)
}
σ
x
σ
y
\begin{aligned} \rho &= \frac{ E\left\{( x - E[ x]) ( y - E[ y])\right\} } { \sqrt{ E[( x - E[ x])]^2 E[( y - E[ y])]^2 } } \\ &= \frac{ E\left\{( x - \mu_x) ( y - \mu_y)\right\} } { \sigma_x \sigma_y } \end{aligned}
ρ?=E[(x?E[x])]2E[(y?E[y])]2?E{(x?E[x])(y?E[y])}?=σx?σy?E{(x?μx?)(y?μy?)}??
corr 用于計算 Pearson 線性相關系數(shù),其語法如下:
rho = corr(X) % = corr(X, X)
rho = corr(X, Y)
X \bf X X、 Y \bf Y Y 為觀測值矩陣,矩陣大小分別為 n × k 1 n\times k_1 n×k1? 和 n × k 2 n\times k_2 n×k2?。
Pearson 線性相關系數(shù)矩陣 rho 的第
(
a
,
b
)
(a, b)
(a,b) 個元素為
X
\bf X
X 第
a
a
a 個列向量(
X
a
\mathbf X_a
Xa?)和
Y
\bf Y
Y 第
b
b
b 個列向量(
Y
b
\mathbf Y_b
Yb?)之間的 Pearson 線性相關系數(shù),對應的計算公式為
KaTeX parse error: Expected group after '_' at position 26: … = \frac{ \sum_?\limits{i=1}^{n…
相關系數(shù)的值的范圍是從 –1 到 +1。 –1 表示完全負相關,而 +1 表示完全正相關。 0 表示列之間沒有相關性。
- corr 的功能也可用下面的代碼實現(xiàn)
X = rand(5, 3) + 1j*rand(5, 3);
Y = rand(5, 3) + 1j*rand(5, 3);
rho1 = corr(X, Y)
rho2 = my_corr(X, Y)
function rho = my_corr(X, Y)
N = size(X, 1);
X1 = (X - mean(X)) ./ std(X);
Y1 = (Y - mean(Y)) ./ std(Y);
rho = (X1'*Y1)./(N-1);
corrcoef:Pearson 線性相關系數(shù)
當 corrcoef 的輸入只有一個矩陣時,其結(jié)果與 corr 一致。
X = randn(5, 3);
rho1 = corr(X)
rho2 = corrcoef(X) % rho1 = rho2
當 corrcoef 的輸入有兩個矩陣時,計算這兩個矩陣對應的列向量的相關系數(shù)矩陣,返回矩陣大小為 2 × 2 2\times 2 2×2。
X = randn(5, 3);
Y = randn(5, 3);
rho3 = corr(X(:), Y(:))
rho4 = corrcoef(X, Y)
rho5 = corrcoef([X(:), Y(:)]) % rho4 = rho5
rho4 的非對角線元素等于 rho3,對角線元素為 1 。
xcorr:計算互相關或自相關
r = xcorr(x, y)
r = xcorr(x)
xcorr 的結(jié)果可以解釋為兩個隨機序列之間的相關性估計,也可以解釋為兩個確定性信號之間的確定相關性。
兩個聯(lián)合平穩(wěn)隨機過程
x
n
x_n
xn? 和
y
n
y_n
yn? 的互相關序列由下式給出
R
x
y
(
m
)
=
E
{
x
n
+
m
y
n
?
}
=
E
{
x
n
y
n
?
m
?
}
R_{xy}(m) = E\{x_{n+m}y_n^*\} = E\{x_{n}y_{n-m}^*\}
Rxy?(m)=E{xn+m?yn??}=E{xn?yn?m??}
一般情況下,相關性函數(shù)需要歸一化來生成準確的估計,可以通過使用輸入?yún)?shù) scaleopt 來控制相關性的歸一化。
- xcorr 的功能也可用下面的代碼實現(xiàn)
x = rand(5, 1) + 1j*rand(5, 1);
[c1, lags1] = xcorr(x)
[c2, lags2] = my_xcorr(x)
function [c, lags] = my_xcorr(x)
N = size(x, 1);
c = zeros(2*N-1, 1);
for idx = -N+1:N-1
y = circshift(x, idx);
c(idx+N) = y'*x;
end
lags = -N+1:N-1;
cov:計算協(xié)方差矩陣
兩個隨機變量
A
A
A 和
B
B
B 的協(xié)方差定義為
c
o
v
(
A
,
B
)
=
1
N
?
1
∑
i
=
1
N
(
A
i
?
μ
A
)
?
(
B
i
?
μ
B
)
\mathrm{cov}(A, B) = \frac{1}{N-1} \sum\limits_{i=1}^{N} (A_i-\mu_A)^* (B_i-\mu_B)
cov(A,B)=N?11?i=1∑N?(Ai??μA?)?(Bi??μB?)
當 cov 的輸入只有一個矩陣( M × N M\times N M×N)時,返回矩陣中不同列向量之間的協(xié)方差矩陣,大小為 N × N N\times N N×N。文章來源:http://www.zghlxwxcb.cn/news/detail-441163.html
當 cov 的輸入有兩個矩陣時,計算這兩個矩陣對應的列向量之間的協(xié)方差矩陣,返回矩陣大小為 2 × 2 2\times 2 2×2 。文章來源地址http://www.zghlxwxcb.cn/news/detail-441163.html
X = rand(5, 3);
Y = rand(5, 3);
C1 = cov(X, Y)
C2 = cov([X(:), Y(:)]) % C1 和 C2 結(jié)果相同
- cov 的功能也可用下面的代碼實現(xiàn)
X = rand(5, 3) + 1j*rand(5, 3);
C1 = cov(X)
C2 = my_cov(X)
function C = my_cov(X)
N = size(X, 1);
X1 = X - mean(X);
C = (X1'*X1)./(N-1);
到了這里,關于計算兩個或多個向量之間的相關性(Matlab 實現(xiàn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!