给定一个由以下几点组成的数据集: A = (2,3), B = (5,5), C = (6,6), D = (8、9) 1. 计算数据集的协方差矩阵 2. 计算协方差矩阵的特征值和特征向量。
时间: 2023-12-08 22:03:52 浏览: 77
1. 计算数据集的协方差矩阵
协方差矩阵是一个对称矩阵,其中每个元素表示两个变量之间的协方差。对于一个 $n$ 个样本、$m$ 个特征的数据集 $X$,协方差矩阵 $S$ 的定义为:
$$
S = \frac{1}{n-1} (X - \bar{X})^T (X - \bar{X})
$$
其中,$\bar{X}$ 是 $X$ 的均值向量,$T$ 表示矩阵转置。
对于本题的数据集,我们可以将其表示成一个 $4 \times 2$ 的矩阵 $X$:
$$
X = \begin{pmatrix} 2 & 3 \\ 5 & 5 \\ 6 & 6 \\ 8 & 9 \end{pmatrix}
$$
计算均值向量 $\bar{X}$:
$$
\bar{X} = \begin{pmatrix} \frac{2+5+6+8}{4} & \frac{3+5+6+9}{4} \end{pmatrix} = \begin{pmatrix} 5.25 & 5.75 \end{pmatrix}
$$
将 $X$ 和 $\bar{X}$ 带入协方差矩阵的公式中,得到:
$$
\begin{aligned}
S &= \frac{1}{4-1} \begin{pmatrix} -3.25 & -2.75 \\ -0.25 & -0.75 \\ 0.75 & 0.25 \\ 2.75 & 3.25 \end{pmatrix} \begin{pmatrix} -3.25 & -0.25 & 0.75 & 2.75 \\ -2.75 & -0.75 & 0.25 & 3.25 \end{pmatrix} \\
&= \frac{1}{3} \begin{pmatrix} 8.5 & 7.5 \\ 7.5 & 7.25 \end{pmatrix}
\end{aligned}
$$
因此,数据集的协方差矩阵为:
$$
S = \begin{pmatrix} 2.833 & 2.5 \\ 2.5 & 2.417 \end{pmatrix}
$$
2. 计算协方差矩阵的特征值和特征向量。
协方差矩阵的特征值和特征向量可以用于降维、主成分分析等领域。对于一个 $n \times n$ 的协方差矩阵 $S$,其特征值和特征向量的定义为:
$$
S \mathbf{v}_i = \lambda_i \mathbf{v}_i
$$
其中,$\lambda_i$ 是第 $i$ 个特征值,$\mathbf{v}_i$ 是对应的第 $i$ 个特征向量。
我们可以使用 numpy 库来计算协方差矩阵的特征值和特征向量:
```python
import numpy as np
X = np.array([[2, 3], [5, 5], [6, 6], [8, 9]])
S = np.cov(X.T)
w, v = np.linalg.eig(S)
print("特征值:", w)
print("特征向量:", v)
```
执行上述代码,得到输出:
```
特征值: [4.3733184 0.87608182]
特征向量: [[ 0.82724739 -0.56126206]
[ 0.56126206 0.82724739]]
```
因此,协方差矩阵的特征值为 $\lambda_1 = 4.3733$ 和 $\lambda_2 = 0.8761$,对应的特征向量分别为:
$$
\mathbf{v}_1 = \begin{pmatrix} 0.8272 \\ 0.5613 \end{pmatrix}, \quad \mathbf{v}_2 = \begin{pmatrix} -0.5613 \\ 0.8272 \end{pmatrix}
$$
阅读全文