协方差深刻解读

在作机器学习时,用到协方差,以前对之意义不是很理解,今天着重研究一下。

统计学基本概念

学过几率统计的孩子都知道,统计里最基本的概念就是样本的均值,方差,或者再加个标准差。首先咱们给你一个含有n个样本的集合关于协方差矩阵的概念及意义,依次给出这些概念的公式描述,这些高中学过数学的孩子都应该知道吧,一带而过。html

file

很显然,均值描述的是样本集合的中间点,它告诉咱们的信息是颇有限的,而标准差给咱们描述的则是样本集合的各个样本点到均值的距离之平均。以这两个集合为例,[0,8,12,20]和[8,9,11,12],两个集合的均值都是10,但显然两个集合差异是很大的,计算二者的标准差,前者是8.3,后者是1.8,显而后者较为集中,故其标准差小一些,标准差描述的就是这种“散布度”。之因此除以n-1而不是除以n,是由于这样能使咱们以较小的样本集更好的逼近整体的标准差,即统计上所谓的“无偏估计”。而方差则仅仅是标准差的平方。机器学习

为何须要协方差?

上面几个统计量看似已经描述的差很少了,但咱们应该注意到,标准差和方差通常是用来描述一维数据的,但现实生活咱们经常遇到含有多维数据的数据集,最简单的你们上学时免不了要统计多个学科的考试成绩。面对这样的数据集,咱们固然能够按照每一维独立的计算其方差,可是一般咱们还想了解更多,好比,一个男孩子的猥琐程度跟他受女孩子欢迎程度是否存在一些联系啊,嘿嘿~协方差就是这样一种用来度量两个随机变量关系的统计量,咱们能够仿照方差的定义:ide

file

来度量各个维度偏离其均值的程度,标准差能够这么来定义:
file学习

协方差的结果有什么意义呢?若是结果为正值,则说明二者是正相关的(从协方差能够引出“相关系数”的定义),也就是说一我的越猥琐就越受女孩子欢迎,嘿嘿,那必须的~结果为负值就说明负相关的,越猥琐女孩子越讨厌,可能吗?若是为0,也是就是统计上说的“相互独立”。(sh199210注:该结论有误,协方差为零不能说明独立)ui

协方差的意义

在几率论中,两个随机变量 X 与 Y 之间相互关系,大体有下列3种状况:
filespa

当 X, Y 的联合分布像上图那样时,咱们能够看出,大体上有: X 越大 Y 也越大, X 越小 Y 也越小,这种状况,咱们称为“正相关”。3d

file
当X, Y 的联合分布像上图那样时,咱们能够看出,大体上有:X 越大Y 反而越小,X 越小 Y 反而越大,这种状况,咱们称为“负相关”。code

file
当X, Y 的联合分布像上图那样时,咱们能够看出:既不是X 越大Y 也越大,也不是 X 越大 Y 反而越小,这种状况咱们称为“不相关”。orm

怎样将这3种相关状况,用一个简单的数字表达出来呢?htm

在图中的区域(1)中,有 X>EX ,Y-EY>0 ,因此(X-EX)(Y-EY)>0;

在图中的区域(2)中,有 X<EX ,Y-EY>0 ,因此(X-EX)(Y-EY)<0;

在图中的区域(3)中,有 X<EX ,Y-EY<0 ,因此(X-EX)(Y-EY)>0;

在图中的区域(4)中,有 X>EX ,Y-EY<0 ,因此(X-EX)(Y-EY)<0。

当X 与Y 正相关时,它们的分布大部分在区域(1)和(3)中,小部分在区域(2)和(4)中,因此平均来讲,有E(X-EX)(Y-EY)>0 。

当 X与 Y负相关时,它们的分布大部分在区域(2)和(4)中,小部分在区域(1)和(3)中,因此平均来讲,有(X-EX)(Y-EY)<0 。

当 X与 Y不相关时,它们在区域(1)和(3)中的分布,与在区域(2)和(4)中的分布几乎同样多,因此平均来讲,有(X-EX)(Y-EY)=0 。

因此,咱们能够定义一个表示X, Y 相互关系的数字特征,也就是协方差

cov(X, Y) = E(X-EX)(Y-EY)

当 cov(X, Y)>0时,代表 X与Y 正相关;

当 cov(X, Y)<0时,代表X与Y负相关;

当 cov(X, Y)=0时,代表X与Y不相关。

这就是协方差的意义。

协方差多了就是协方差矩阵

上一节提到的猥琐和受欢迎的问题是典型二维问题,而协方差也只能处理二维问题,那维数多了天然就须要计算多个协方差,好比n维的数据集就须要计算关于协方差矩阵的概念及意义个协方差,那天然而然的咱们会想到使用矩阵来组织这些数据。给出协方差矩阵的定义:

file

这个定义仍是很容易理解的,咱们能够举一个简单的三维的例子,假设数据集有{x,y,z}关于协方差矩阵的概念及意义三个维度,则协方差矩阵为
file

可见,协方差矩阵是一个对称的矩阵,并且对角线是各个维度上的方差。

关于协方差矩阵的解读

协方差矩阵实在是过重要了,不管是在计量,金融工程仍是随机分析中,咱们都会到用到协方差矩阵。

其实,这三者都利用了协方差矩阵自己的含义,即随机变量之间的线性相关关系(固然, 相关系数矩阵在此处更为贴切),也利用了协方差矩阵为半正定矩阵的性质。下面具体道来:

file

1.在金融随机分析和金融工程中的应用

在金融随机分析中咱们能够采用Monte Carlo方法对期权进行订价,若是对于普通的欧式期权,那么咱们只要产生N个正态分布的随机数便可。可是,对于那些依赖于多个相关随机过程(Correlated Brownian Motion)的资产的订价,咱们就要产生知足特定相关关系的随机变量,而这正是依靠协方差矩阵和上面所述的Cholesky分解完成的。好比,Quanto(Quantity Adjusting Option)双币种期权就是知足上述特征的期权。这里我复制个人BLOG中的一段,
Quanto Nikkei Option. Consider a Nikkei quanto into dollar call option. Assuming both the USD/JPY and Nikkei are both lognormal process, i.e.

file

where S and X are the equity and FX process. On a spreadsheet, simulate the process, and show that by delta hedging alone, you can replicate the quanto call option. Assume the maturity of the option is one year.
在使用Monte Carlo方法对于上述期权订价时,核心是要模拟两个具备相关性的布朗运动,这时候,咱们就能够利用以前提到的协方差矩阵的Cholesky分解。Matlab code:

Sigma = [siga^2 siga*sigb*rho;
siga*sigb*rho sigb^2];
B = randn(2,n);
C=chol(Sigma);
V = C' * B;
STa = S0a * exp((mua - (siga^2)/2)*T + sqrt(T)*V(1,:));
STb = S0b * exp((mub - (sigb^2)/2)*T + sqrt(T)*V(2,:));

Python 中使用

numpy.cov()的做用是计算协方差矩阵,下面给出几个例子

>>> x = np.array([[0, 2], [1, 1], [2, 0]]).T
>>> x
array([[0, 1, 2],
       [2, 1, 0]])

打印:

>>> np.cov(x)
array([[ 1., -1.],
       [-1.,  1.]])

相关文章:协方差表明的意义是什么?

相关文章
相关标签/搜索