协方差矩阵C的正定性
设协方差矩阵 C = [ σ 1 2 ρ 12 σ 1 σ 2 ρ 12 σ 1 σ 2 σ 2 2 ] C=\begin{bmatrix}\sigma_1^2&\rho_{12}\sigma_1\sigma_2\\\rho_{12}\sigma_1\sigma_2&\sigma_2^2\end{bmatrix} C=[σ12ρ12σ1σ2ρ12σ1σ2σ22],其中 σ 1 \sigma_1 σ1和 σ 2 \sigma_2 σ2分别为两个变量的标准差, ρ 12 \rho_{12} ρ12为两个变量之间的相关系数。
1. 什么条件下 C C C是正定矩阵?
由于协方差矩阵是实对称矩阵,满足 C = C T C = C^T C=CT。对于一个 n × n n\times n n×n的实对称矩阵A,它是正定矩阵的充要条件是它的所有顺序主子式都大于零
。
计算顺序主子式
- 一阶顺序主子式
矩阵 C C C的一阶顺序主子式为其左上角的元素,即 D 1 = σ 1 2 D_1 = \sigma_1^2 D1=σ12。因为标准差 σ 1 > 0 \sigma_1\gt0 σ1>0,所以 σ 1 2 > 0 \sigma_1^2\gt0 σ12>0。 - 二阶顺序主子式
矩阵 C C C的二阶顺序主子式为矩阵 C C C的行列式,即
D 2 = ∣ σ 1 2 ρ 12 σ 1 σ 2 ρ 12 σ 1 σ 2 σ 2 2 ∣ D_2=\begin{vmatrix}\sigma_1^2&\rho_{12}\sigma_1\sigma_2\\\rho_{12}\sigma_1\sigma_2&\sigma_2^2\end{vmatrix} D2= σ12ρ12σ1σ2ρ12σ1σ2σ22
根据二阶行列式的计算公式 ∣ a b c d ∣ = a d − b c \begin{vmatrix}a&b\\c&d\end{vmatrix}=ad - bc acbd =ad−bc,可得: D 2 = σ 1 2 σ 2 2 − ( ρ 12 σ 1 σ 2 ) 2 = σ 1 2 σ 2 2 ( 1 − ρ 12 2 ) D_2 = \sigma_1^2\sigma_2^2 - (\rho_{12}\sigma_1\sigma_2)^2=\sigma_1^2\sigma_2^2(1 - \rho_{12}^2) D2=σ12σ22−(ρ12σ1σ2)2=σ12σ22(1−ρ122)。
确定正定矩阵的条件
要使矩阵C为正定矩阵,则需满足 D 1 > 0 D_1\gt0 D1>0且 D 2 > 0 D_2\gt0 D2>0。
- 由 D 1 = σ 1 2 > 0 D_1 = \sigma_1^2\gt0 D1=σ12>0,可得 σ 1 ≠ 0 \sigma_1\neq0 σ1=0。
- 由 D 2 = σ 1 2 σ 2 2 ( 1 − ρ 12 2 ) > 0 D_2 = \sigma_1^2\sigma_2^2(1 - \rho_{12}^2)\gt0 D2=σ12σ22(1−ρ122)>0,因为 σ 1 2 > 0 \sigma_1^2\gt0 σ12>0, σ 2 2 > 0 \sigma_2^2\gt0 σ22>0(标准差大于零),所以 1 − ρ 12 2 > 0 1 - \rho_{12}^2\gt0 1−ρ122>0,即 ρ 12 2 < 1 \rho_{12}^2\lt1 ρ122<1,也就是 − 1 < ρ 12 < 1 - 1\lt\rho_{12}\lt1 −1<ρ12<1。
综上,当 σ 1 ≠ 0 \sigma_1\neq0 σ1=0, σ 2 ≠ 0 \sigma_2\neq0 σ2=0且 − 1 < ρ 12 < 1 -1\lt\rho_{12}\lt1 −1<ρ12<1时,给定的 2 × 2 2\times2 2×2协方差矩阵是正定矩阵。
相关性系数 ρ 12 \rho_{12} ρ12的取值范围
已知协方差矩阵 C = [ σ 1 2 ρ 12 σ 1 σ 2 ρ 12 σ 1 σ 2 σ 2 2 ] C = \begin{bmatrix}\sigma_1^2&\rho_{12}\sigma_1\sigma_2\\\rho_{12}\sigma_1\sigma_2&\sigma_2^2\end{bmatrix} C=[σ12ρ12σ1σ2ρ12σ1σ2σ22],由于协方差矩阵是半正定矩阵(对于样本协方差矩阵通常是正定矩阵)。根据正定矩阵的性质,其行列式大于零(对于非奇异情况)。协方差矩阵C的行列式为 ∣ C ∣ = σ 1 2 σ 2 2 − ρ 12 2 σ 1 2 σ 2 2 = σ 1 2 σ 2 2 ( 1 − ρ 12 2 ) > 0 \vert C\vert=\sigma_1^2\sigma_2^2-\rho_{12}^2\sigma_1^2\sigma_2^2=\sigma_1^2\sigma_2^2(1 - \rho_{12}^2)\gt0 ∣C∣=σ12σ22−ρ122σ12σ22=σ12σ22(1−ρ122)>0(当 σ 1 ≠ 0 \sigma_1\neq0 σ1=0且 σ 2 ≠ 0 \sigma_2\neq0 σ2=0),同时考虑到相关系数的定义,可得 − 1 ⩽ ρ 12 ⩽ 1 - 1\leqslant\rho_{12}\leqslant1 −1⩽ρ12⩽1。
- 当 ρ 12 = 1 \rho_{12} = 1 ρ12=1时,两个变量完全正相关;
- 当 ρ 12 = − 1 \rho_{12}=-1 ρ12=−1时,两个变量完全负相关;
- 当 ρ 12 = 0 \rho_{12}=0 ρ12=0时,两个变量不相关。
二元函数 f ( x 1 , x 2 ) = X T C X f(x_1,x_2)=X^TCX f(x1,x2)=XTCX的图像
设 X = [ x 1 x 2 ] X=\begin{bmatrix}x_1\\x_2\end{bmatrix} X=[x1x2],则 f ( x 1 , x 2 ) = [ x 1 x 2 ] [ σ 1 2 ρ 12 σ 1 σ 2 ρ 12 σ 1 σ 2 σ 2 2 ] [ x 1 x 2 ] f(x_1,x_2)=\begin{bmatrix}x_1&x_2\end{bmatrix}\begin{bmatrix}\sigma_1^2&\rho_{12}\sigma_1\sigma_2\\\rho_{12}\sigma_1\sigma_2&\sigma_2^2\end{bmatrix}\begin{bmatrix}x_1\\x_2\end{bmatrix} f(x1,x2)=[x1x2][σ12ρ12σ1σ2ρ12σ1σ2σ22][x1x2]
f ( x 1 , x 2 ) = σ 1 2 x 1 2 + 2 ρ 12 σ 1 σ 2 x 1 x 2 + σ 2 2 x 2 2 f(x_1,x_2)=\sigma_1^2x_1^2 + 2\rho_{12}\sigma_1\sigma_2x_1x_2+\sigma_2^2x_2^2 f(x1,x2)=σ12x12+2ρ12σ1σ2x1x2+σ22x22
这是一个二次型函数,其图像是一个三维空间中的抛物面。当C是正定矩阵时(即 − 1 < ρ 12 < 1 -1 < \rho_{12}<1 −1<ρ12<1且 σ 1 ≠ 0 , σ 2 ≠ 0 \sigma_1\neq0,\sigma_2\neq0 σ1=0,σ2=0),抛物面开口向上,并且在原点 ( 0 , 0 ) (0,0) (0,0)处取得最小值 f ( 0 , 0 ) = 0 f(0,0) = 0 f(0,0)=0。
当 σ 1 = σ 2 = 1 \sigma_1=\sigma_2 = 1 σ1=σ2=1时,二元函数等高线形状随 ρ 12 \rho_{12} ρ12的变化
σ 1 = σ 2 = 1 \sigma_1=\sigma_2 = 1 σ1=σ2=1时, f ( x 1 , x 2 ) = x 1 2 + 2 ρ 12 x 1 x 2 + x 2 2 f(x_1,x_2)=x_1^2 + 2\rho_{12}x_1x_2+x_2^2 f(x1,x2)=x12+2ρ12x1x2+x22。等高线方程为 x 1 2 + 2 ρ 12 x 1 x 2 + x 2 2 = k x_1^2 + 2\rho_{12}x_1x_2+x_2^2 = k x12+2ρ12x1x2+x22=k( k > 0 k>0 k>0),这是一个二次曲线方程。
- ρ 12 = 0 \rho_{12}=0 ρ12=0时:
此时 f ( x 1 , x 2 ) = x 1 2 + x 2 2 f(x_1,x_2)=x_1^2 + x_2^2 f(x1,x2)=x12+x22,等高线方程为 x 1 2 + x 2 2 = k x_1^2 + x_2^2=k x12+x22=k,这是一个以原点为圆心的圆。因为此时两个变量不相关,在平面上各个方向的变化是相互独立且对称的。 - 0 < ρ 12 < 1 0<\rho_{12}<1 0<ρ12<1时:
等高线是一个椭圆,椭圆的长轴和短轴发生倾斜。随着 ρ 12 \rho_{12} ρ12从0增大到1,椭圆变得越来越扁,长轴沿着 x 1 = x 2 x_1 = x_2 x1=x2这条直线的方向(正相关方向)。因为 ρ 12 > 0 \rho_{12}>0 ρ12>0表示两个变量正相关,一个变量增大时另一个变量也倾向于增大,所以在正相关方向上数据的变化更为明显,导致椭圆被拉长。 - − 1 < ρ 12 < 0 - 1<\rho_{12}<0 −1<ρ12<0时:
等高线同样是椭圆,椭圆的长轴和短轴也发生倾斜。随着 ρ 12 \rho_{12} ρ12从0减小到 − 1 -1 −1,椭圆变得越来越扁,长轴沿着 x 1 = − x 2 x_1=-x_2 x1=−x2这条直线的方向(负相关方向)。因为 ρ 12 < 0 \rho_{12}<0 ρ12<0表示两个变量负相关,一个变量增大时另一个变量倾向于减小,所以在负相关方向上数据的变化更为明显,导致椭圆在这个方向上被拉长。 - ρ 12 = 1 \rho_{12}=1 ρ12=1时:
f ( x 1 , x 2 ) = ( x 1 + x 2 ) 2 f(x_1,x_2)=(x_1 + x_2)^2 f(x1,x2)=(x1+x2)2,等高线方程为 ( x 1 + x 2 ) 2 = k (x_1 + x_2)^2=k (x1+x2)2=k,即 x 1 + x 2 = ± k x_1 + x_2=\pm\sqrt{k} x1+x2=±k,此时等高线退化为两条平行直线,这是因为两个变量完全正相关,它们之间存在线性关系 x 2 = − x 1 ± k x_2=-x_1\pm\sqrt{k} x2=−x1±k。 - ρ 12 = − 1 \rho_{12}=-1 ρ12=−1时:
f ( x 1 , x 2 ) = ( x 1 − x 2 ) 2 f(x_1,x_2)=(x_1 - x_2)^2 f(x1,x2)=(x1−x2)2,等高线方程为 ( x 1 − x 2 ) 2 = k (x_1 - x_2)^2=k (x1−x2)2=k,即 x 1 − x 2 = ± k x_1 - x_2=\pm\sqrt{k} x1−x2=±k,此时等高线也退化为两条平行直线,因为两个变量完全负相关,它们之间存在线性关系 x 2 = x 1 ± k x_2=x_1\pm\sqrt{k} x2=x1±k。
import numpy as np
import matplotlib.pyplot as pltrho_12_values = [-1.0,-0.9, -0.5, 0, 0.5, 0.9,1.0]# 生成网格点
x1 = np.linspace(-3, 3, 100)
x2 = np.linspace(-3, 3, 100)
X1, X2 = np.meshgrid(x1, x2)# 绘制不同 rho_12 下的等高线图
for rho_12 in rho_12_values:f = X1 ** 2 + 2 * rho_12 * X1 * X2 + X2 ** 2# 创建一个正方形的图形plt.figure(figsize=(6, 6))plt.contour(X1, X2, f, levels=20)# 设置坐标轴比例相等plt.axis('equal')plt.title(rf"Contour Plot for $\rho_{{12}}$ = {rho_12}")plt.xlabel('$x_1$')plt.ylabel('$x_2$')plt.show()