1. 正态分布等高线的基本原理
当我们谈论二维正态分布的等高线时,实际上是在讨论概率密度函数的等值线。对于均值为μ、协方差矩阵为Σ的二维正态分布,其概率密度函数可以表示为:
f(x) = (1/(2π|Σ|^(1/2))) * exp(-1/2 (x-μ)^T Σ^(-1) (x-μ))
这里的等高线就是使得f(x)等于某个常数的所有点x的集合。由于指数函数的单调性,这等价于求解:
(x-μ)^T Σ^(-1) (x-μ) = C
这个方程描述的就是一个二次曲线,具体来说是一个椭圆(因为协方差矩阵Σ是正定的)。
1.1 协方差矩阵与椭圆形状的关系
协方差矩阵Σ决定了这个椭圆的形状和方向。一个通用的二维协方差矩阵可以表示为:
Σ = [σ₁² ρσ₁σ₂]
[ρσ₁σ₂ σ₂²]
其中:
- σ₁和σ₂分别是两个维度的标准差
- ρ是相关系数,取值范围在[-1,1]之间
这个矩阵的特征值和特征向量直接决定了等高线椭圆的形状和方向。
2. 正椭圆与斜椭圆的条件
2.1 正椭圆的情况(主轴与坐标轴对齐)
当协方差矩阵Σ是对角矩阵时,即ρ=0(两个变量不相关),等高线椭圆的主轴将与坐标轴对齐。此时的协方差矩阵简化为:
Σ = [σ₁² 0]
[0 σ₂²]
这种情况下,椭圆的方程为:
(x₁-μ₁)²/σ₁² + (x₂-μ₂)²/σ₂² = C
这是一个标准的正椭圆,其长轴和短轴分别平行于x轴和y轴。
注意:即使σ₁=σ₂,即椭圆变成圆,也属于正椭圆的一种特殊情况,因为圆可以看作所有方向都是主轴的正椭圆。
2.2 斜椭圆的情况(主轴与坐标轴有夹角)
当协方差矩阵Σ不是对角矩阵时,即ρ≠0(两个变量相关),等高线椭圆将会旋转,其主轴不再与坐标轴对齐。这种情况下,椭圆的方向由协方差矩阵的特征向量决定。
具体来说,椭圆的主轴方向是协方差矩阵的特征向量方向,而轴长与特征值的平方根成正比。旋转角度θ可以通过以下公式计算:
θ = 1/2 * arctan(2ρσ₁σ₂ / (σ₁² - σ₂²))
这个角度表示椭圆的长轴与x轴之间的夹角。
3. 数学推导与几何解释
3.1 特征分解视角
要深入理解椭圆的方向,我们可以对协方差矩阵进行特征分解:
Σ = QΛQ^T
其中Q是正交矩阵(列向量为特征向量),Λ是对角矩阵(对角线元素为特征值)。这个分解告诉我们:
- 椭圆的轴长由特征值决定:半轴长度为√(λᵢC)
- 椭圆的方向由特征向量决定:特征向量指示主轴方向
3.2 具体示例分析
假设我们有以下两个协方差矩阵:
案例1(正椭圆):
Σ₁ = [4 0]
[0 1]
案例2(斜椭圆):
Σ₂ = [4 1.5]
[1.5 1]
对于Σ₁:
- 特征值:λ₁=4,λ₂=1
- 特征向量:[1,0]和[0,1](与坐标轴一致)
- 等高线是正椭圆,长轴在x方向,短轴在y方向
对于Σ₂:
- 特征值:λ₁≈4.3,λ₂≈0.7
- 特征向量:≈[0.92,0.39]和[-0.39,0.92]
- 等高线是旋转约23.2度的椭圆
4. 实际应用中的判断方法
4.1 快速判断准则
在实际应用中,我们可以通过以下方法快速判断等高线椭圆是否倾斜:
-
检查协方差矩阵的非对角元素:
- 如果全部为0 → 正椭圆
- 如果有非零元素 → 斜椭圆
-
检查变量间的相关系数:
- ρ=0 → 正椭圆
- ρ≠0 → 斜椭圆
4.2 可视化验证技巧
当可视化二维正态分布的等高线时,可以注意以下特征:
-
正椭圆:
- 椭圆的长轴/短轴完全水平或垂直
- 对称轴与坐标轴平行
-
斜椭圆:
- 椭圆明显倾斜
- 对称轴与坐标轴成一定角度
- 倾斜方向指示变量间的正/负相关关系
5. 特殊情况与边界条件
5.1 圆形等高线
当σ₁=σ₂且ρ=0时,等高线退化为圆形。这是一种特殊的正椭圆,所有方向都是主轴方向。
5.2 退化情况
当|ρ|=1时,协方差矩阵是奇异的,等高线"椭圆"退化为一条直线,表示两个变量完全线性相关。
5.3 高维推广
在更高维度中,正态分布的等高线将变成椭球面或超椭球面,其方向同样由协方差矩阵的特征向量决定,形状由特征值决定。
6. 计算实例与代码验证
6.1 Python实现示例
我们可以用Python来验证上述理论。以下是使用matplotlib绘制正态分布等高线的示例代码:
python复制import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import multivariate_normal
# 正椭圆案例
mean = [0, 0]
cov1 = [[4, 0], [0, 1]] # 对角线协方差矩阵
# 斜椭圆案例
cov2 = [[4, 1.5], [1.5, 1]] # 非对角线协方差矩阵
# 创建网格
x, y = np.mgrid[-5:5:.01, -5:5:.01]
pos = np.dstack((x, y))
# 创建分布实例
rv1 = multivariate_normal(mean, cov1)
rv2 = multivariate_normal(mean, cov2)
# 绘制等高线
plt.figure(figsize=(12, 6))
plt.subplot(121)
plt.contour(x, y, rv1.pdf(pos))
plt.title('正椭圆等高线')
plt.grid(True)
plt.subplot(122)
plt.contour(x, y, rv2.pdf(pos))
plt.title('斜椭圆等高线')
plt.grid(True)
plt.show()
6.2 计算结果分析
运行上述代码可以清楚地看到:
- 左侧图形显示正椭圆,主轴与坐标轴对齐
- 右侧图形显示斜椭圆,主轴与坐标轴成一定角度
7. 实用判断流程
在实际工作中,可以按照以下步骤判断正态分布等高线的方向:
- 获取协方差矩阵Σ
- 检查非对角元素:
- 如果全部为0 → 正椭圆
- 如果有非零元素 → 进行下一步
- 计算相关系数ρ:
- ρ=0 → 正椭圆(尽管协方差矩阵可能有非零元素)
- ρ≠0 → 斜椭圆
- 如需精确确定旋转角度,计算:
θ = 1/2 * arctan(2ρσ₁σ₂ / (σ₁² - σ₂²))
8. 常见误区与注意事项
-
误区:认为非对角协方差矩阵一定导致斜椭圆
- 实际上,如果σ₁²=σ₂²且ρ=0,即使非对角元素为0,也是正椭圆(圆形)
-
误区:忽视特征值的相对大小
- 椭圆倾斜程度不仅取决于ρ,还与σ₁和σ₂的相对大小有关
-
注意事项:
- 当σ₁²-σ₂²接近0时,arctan计算可能不稳定
- 在实际数据中,样本协方差矩阵可能不完全对称,需要适当处理
-
可视化建议:
- 绘制等高线时,选择合适的层级数量
- 添加坐标网格便于观察椭圆方向
- 可以叠加绘制特征向量方向以验证
9. 数学证明补充
对于感兴趣的读者,这里简要说明为什么协方差矩阵的特征向量决定椭圆方向:
从等高线方程出发:
(x-μ)^T Σ^(-1) (x-μ) = C
做变量替换 y = Q^T(x-μ),其中Q是Σ的特征向量矩阵:
y^T Λ^(-1) y = C
这表示在新的坐标系y下,等高线方程为:
y₁²/λ₁ + y₂²/λ₂ = C
这是一个标准的正椭圆方程,说明在原坐标系中椭圆是通过旋转这个标准椭圆得到的。