协方差矩阵与二维高斯分布

多维高斯分布:

f ( x ) = 1 ( 2 π ) d 2 ∣ Σ ∣ 1 2 exp ⁡ [ − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ] f(\mathbf x )= \frac{1}{{(2\pi)}^{\frac{d}{2}}{\begin{vmatrix}\mathbf\Sigma\end{vmatrix}}^{\frac{1}{2}}}\exp[-\frac{1}{2}(\mathbf x-\mu)^{T}\mathbf\Sigma^{-1}(\mathbf x-\mu)] f(x)=(2π)2d Σ 211exp[21(xμ)TΣ1(xμ)]

协方差矩阵 Σ \mathbf\Sigma Σ 是一个对称矩阵,对角线外的元素表示了 x i x_i xi x j x_j xj 分量之间的协方差,因而决定了多维高斯分布的形状。

二维高斯分布为例,即: x = [ x , y ] T \mathbf x=[x,y]^T x=[x,y]T,包含以下要点

  1. 协方差矩阵的对角线元素为 x x x y y y 轴的方差
  2. 反斜对角线上的两个值为协方差,表明 x x x y y y线性相关程度(正值时: x x x 增大, y y y 也随之增大;负值时: x x x 增大, y y y 随之减小)

以下是二维高斯分布的不同协方差矩阵时的平面图:
在这里插入图片描述
( 左 ) [ 50 0 0 50 ]      ( 右 ) [ 10 0 0 10 ] \qquad\qquad\quad\qquad\qquad\begin{matrix}(左) \begin{bmatrix} 50 & 0 \\ 0 & 50 \end{bmatrix} \qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\ \ \ \ (右) \begin{bmatrix} 10 & 0 \\ 0 & 10 \end{bmatrix} \end{matrix} ()[500050]    ()[100010]
\qquad

在这里插入图片描述
( 左 ) [ 5 0 0 1 ]          ( 右 ) [ 10 0 0 50 ] \qquad\qquad\quad\qquad\qquad\begin{matrix}(左) \begin{bmatrix} 5 & 0 \\ 0 & 1 \end{bmatrix}\ \ \ \qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\ \ \ \ (右) \begin{bmatrix} 10 & 0 \\ 0 & 50 \end{bmatrix} \end{matrix} ()[5001]       ()[100050]
\qquad

在这里插入图片描述
( 左 ) [ 50 0 0 10 ]     ( 右 ) [ 1 0 0 5 ] \qquad\qquad\quad\qquad\qquad\begin{matrix}(左) \begin{bmatrix} 50 & 0 \\ 0 & 10 \end{bmatrix} \qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\ \ \ (右) \begin{bmatrix} 1 & 0 \\ 0 & 5 \end{bmatrix} \end{matrix} ()[500010]   ()[1005]
\qquad

在这里插入图片描述
( 左 ) [ 50 − 10 − 10 50 ]       ( 右 ) [ 10 − 5 − 5 10 ] \qquad\qquad\quad\qquad\qquad\begin{matrix}(左) \begin{bmatrix} 50 & -10 \\ -10 & 50 \end{bmatrix} \qquad\qquad\qquad\qquad\qquad\qquad\qquad\ \ \ \ \ (右) \begin{bmatrix} 10 & -5 \\ -5 & 10 \end{bmatrix} \end{matrix} ()[50101050]     ()[105510]
\qquad

在这里插入图片描述
( 左 ) [ 50 − 30 − 30 50 ]       ( 右 ) [ 10 − 8 − 8 10 ] \qquad\qquad\quad\qquad\qquad\begin{matrix}(左) \begin{bmatrix} 50 & -30 \\ -30 & 50 \end{bmatrix} \qquad\qquad\qquad\qquad\qquad\qquad\qquad\ \ \ \ \ (右) \begin{bmatrix} 10 & -8 \\ -8 & 10 \end{bmatrix} \end{matrix} ()[50303050]     ()[108810]
\qquad

在这里插入图片描述
( 左 ) [ 50 10 10 50 ]      ( 右 ) [ 10 5 5 10 ] \qquad\qquad\quad\qquad\qquad\begin{matrix}(左) \begin{bmatrix} 50 & 10 \\ 10 & 50 \end{bmatrix} \qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\ \ \ \ (右) \begin{bmatrix} 10 & 5 \\ 5 & 10 \end{bmatrix} \end{matrix} ()[50101050]    ()[105510]
\qquad

在这里插入图片描述
( 左 ) [ 50 30 30 50 ] ( 右 ) [ 10 8 8 10 ] \qquad\qquad\quad\qquad\qquad\begin{matrix}(左) \begin{bmatrix} 50 & 30 \\ 30 & 50 \end{bmatrix} \qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\quad (右) \begin{bmatrix} 10 & 8 \\ 8 & 10 \end{bmatrix} \end{matrix} ()[50303050]()[108810]
\qquad

matlab代码:

clear;close all;
Num = 500;
[x,y] = meshgrid(linspace(-20,20,Num)',linspace(-20,20,Num)');
X = [x(:) y(:)];
mu = [0 0];							%中心在原点
Sigma = [50 -30; -30 50];			%定义协方差矩阵
z = mvnpdf(X, mu, Sigma);
figure,mesh(x,y,reshape(z,Num,Num));
colormap jet;
xlabel('x');ylabel('y');axis equal;
view(0,90);

python代码:

import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
from scipy.stats import multivariate_normal
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
X = np.arange(-20, 20, 0.2)
Y = np.arange(-20, 20, 0.2)
x, y = np.meshgrid(X, Y)
pos = np.empty(x.shape + (2,))
pos[:, :, 0] = x
pos[:, :, 1] = y
mu = [0, 0]
Sigma = [[50,30],[30,50]]
z = multivariate_normal(mu, Sigma)
surf = ax.plot_surface(x, y, z.pdf(pos), cmap=cm.jet,
                       linewidth=0, antialiased=False)
ax.view_init(elev=90., azim=90)
fig.colorbar(surf, shrink=0.5, aspect=5)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()

在这里插入图片描述

推荐材料:协方差矩阵的几何解释

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值