本文主要是介绍椭圆的标准方程与协方差矩阵的特征值和特征向量的关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
椭圆的标准方程与协方差矩阵的特征值和特征向量的关系
flyfish
-
单位圆 :单位圆表示在标准正交基下的分布。
-
椭圆 :通过协方差矩阵的特征向量和特征值变换得到的椭圆,表示数据在新的坐标系下的分布。
-
特征向量 :红色箭头表示特征向量方向,即椭圆的主要轴方向。
-
特征值 :红色箭头的长度表示特征值大小,即椭圆沿主要轴的伸缩程度。
import numpy as np
import matplotlib.pyplot as plt# 示例协方差矩阵
covariance_matrix = np.array([[4, 2], [2, 3]])# 计算特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eigh(covariance_matrix)# 生成单位圆
theta = np.linspace(0, 2 * np.pi, 100)
circle = np.array([np.cos(theta), np.sin(theta)])# 变换单位圆以得到椭圆
ellipsoid = eigenvectors @ np.diag(np.sqrt(eigenvalues)) @ circle# 绘制单位圆和椭圆
plt.plot(circle[0], circle[1], label='Unit Circle')
plt.plot(ellipsoid[0], ellipsoid[1], label='Ellipse')# 绘制特征向量
mean = np.array([0, 0])
for i in range(len(eigenvalues)):eigval = np.sqrt(eigenvalues[i])eigvec = eigenvectors[:, i]start, end = mean, mean + eigval * eigvec * 2 # 伸长因子plt.annotate('', xy=end, xytext=start, arrowprops=dict(facecolor='red', width=2.0))# 设置图表
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Unit Circle and Transformed Ellipse')
plt.legend()
plt.grid()
plt.axis('equal')
plt.show()
椭圆方程的推导
-
协方差矩阵的定义 :
对于一个随机向量 x = ( x y ) \mathbf{x} = \begin{pmatrix} x \\ y \end{pmatrix} x=(xy),协方差矩阵 Σ \Sigma Σ 表示其分布的协方差信息: Σ = ( σ x x σ x y σ y x σ y y ) \Sigma = \begin{pmatrix} \sigma_{xx} & \sigma_{xy} \\ \sigma_{yx} & \sigma_{yy} \end{pmatrix} Σ=(σxxσyxσxyσyy)
其中, σ x x \sigma_{xx} σxx 和 σ y y \sigma_{yy} σyy 是 x x x 和 y y y 的方差 σ x y = σ y x \sigma_{xy} = \sigma_{yx} σxy=σyx 是 x x x 和 y y y 的协方差。 -
特征值和特征向量 :
通过求解特征方程 det ( Σ − λ I ) = 0 \det(\Sigma - \lambda I) = 0 det(Σ−λI)=0,可以得到协方差矩阵的特征值 λ 1 \lambda_1 λ1 和 λ 2 \lambda_2 λ2,以及对应的特征向量 v 1 \mathbf{v}_1 v1$ 和 v 2 \mathbf{v}_2 v2。 -
椭圆方程 :
椭圆在二维空间中的一般方程为: x T Σ − 1 x = 1 \mathbf{x}^T \Sigma^{-1} \mathbf{x} = 1 xTΣ−1x=1
其中, x = ( x y ) \mathbf{x} = \begin{pmatrix} x \\ y \end{pmatrix} x=(xy), Σ − 1 \Sigma^{-1} Σ−1 是协方差矩阵的逆矩阵。
几何意义
-
特征向量 :表示椭圆的主要轴方向。
-
特征值 :表示椭圆沿特征向量方向的伸缩因子。
椭圆方程的几何解释
考虑一个标准单位圆的方程:
z T z = 1 \mathbf{z}^T \mathbf{z} = 1 zTz=1
其中, z \mathbf{z} z 是在标准正交基下的坐标向量。通过线性变换 x = L z \mathbf{x} = L \mathbf{z} x=Lz,其中 L L L 是由协方差矩阵的特征值和特征向量构成的变换矩阵,可以将单位圆变换成椭圆: x = L z \mathbf{x} = L \mathbf{z} x=Lz
变换后的方程为:
x T ( L − 1 ) T L − 1 x = 1 \mathbf{x}^T (L^{-1})^T L^{-1} \mathbf{x} = 1 xT(L−1)TL−1x=1
由于 Σ = L L T \Sigma = L L^T Σ=LLT,得到: x T Σ − 1 x = 1 \mathbf{x}^T \Sigma^{-1} \mathbf{x} = 1 xTΣ−1x=1
这篇关于椭圆的标准方程与协方差矩阵的特征值和特征向量的关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!