草庐IT

协方差(Covariance)

Uncertainty!! 2024-03-15 原文

协方差

1.协方差

笔记来源:Covariance, Clearly Explained!!!

在概率论与统计学中用于衡量两个随机变量的联合变化程度

协方差衡量的是一个变量的变化会如何影响另一个变量的变化,测量的是两个变量之间的线性相关程度

1.1 相关性

以细胞中的基因X和基因Y的数量为例,下面给出了5个细胞中,每个细胞分别含有的基因X和基因Y的数量,我们计算出了这5个细胞含基因X数量的样本均值 x ˉ \bar{x} xˉ 和含基因Y数量的样本均值 y ˉ \bar{y} yˉ,我们观察这细胞中基因X的数量和基因Y的数量有没有什么相关性


显然,如下图所示,大体上当细胞中基因X的数量增加时,基因Y的数量也在增加,这表现出一种正相关性

我们来看一看另一组样本数据

显然,如下图所示,大体上当细胞中基因X的数量增加时,基因Y的数量却在减小,这表现出一种负相关性

我们再来看另外两组样本数据
第一组样本数据:大体上当基因X的数量增加时,基因Y的数量基本保持不变,即二者几乎无相关性
第二组样本数据:大体上当基因Y的数量增加时,基因X的数量基本保持不变,即二者几乎无相关性

1.2 计算协方差

每个细胞中基因X的数量为 x x x、基因Y的数量为 y y y
5个细胞中所有基因X数量的平均值 x ˉ \bar{x} xˉ、所有基因Y数量的平均值 y ˉ \bar{y} yˉ
细胞数量为 n n n
无偏估计要除以 n − 1 n-1 n1,详见本人博客:有偏样本方差、无偏样本方差


由上我们观察到,这5个细胞中的基因X的数量和基因Y的数量呈现正相关性,而计算得到的协方差也为正,即我们得到:当协方差 > 0 \gt 0 >0时,数据呈现正相关性


类似的,当协方差 < 0 \lt 0 <0时,数据呈现负相关性


当协方差 = 0 = 0 =0时,数据没有相关性


无相关性的三种情况

1.3 协方差与相关性

协方差之正负号显示着变量的相关性

两组数据呈现正相关性,协方差 cov ( X , Y ) > 0 \text{cov}(X,Y)\gt 0 cov(X,Y)>0
两组数据呈现负相关性,协方差 cov ( X , Y ) < 0 \text{cov}(X,Y)\lt 0 cov(X,Y)<0
两组数据呈现无相关性,协方差 cov ( X , Y ) ≈ 0 \text{cov}(X,Y)\approx 0 cov(X,Y)0

1.4 协方差能让我们知道些什么信息?

协方差的值可以告诉我们样本数据与拟合直线的接近程度

协方差的值越大,样本数据离拟合直线越远

1.5 协方差无法让我们知道哪些信息?

协方差无法告知我们拟合直线的斜率大小


协方差无法告知我们样本数据的集中程度


协方差的应用之一:主成分分析(Principal Component Analysis,PCA)

有关协方差(Covariance)的更多相关文章

  1. 协方差矩阵与相关系数矩阵 - 2

    文章目录前言1.方差、协方差与相关系数2.协方差矩阵3.相关系数矩阵前言  本篇博客主要介绍一下方差、协方差及相关系数的相关知识,进而引入了协方差矩阵与相关系数矩阵,并结合相关实例进行说明。1.方差、协方差与相关系数  在《概率论与数理统计》中,方差用来度量单个随机变量XXX的离散程度,记为DXDXDX,计算公式如下:DX=E(X−EX)2=EX2−E2X\begin{aligned}DX&=E(X-EX)^2\\[3pt]&=EX^2-E^2X\end{aligned}DX​=E(X−EX)2=EX2−E2X​  数学表达式为:σ2(x)=1n−1∑i=1N(xi−xˉ)2\sigma^2(

  2. javascript - 改变鼠标移动的方差 - 2

    所以我在摆弄trianglify.js。我的目标是当鼠标移动时,我的三Angular形Canvas的方差会发生变化。理论上很好,但实际上并没有真正采用我已经尝试了几种不同的代码格式,但实际上似乎无法进行三Angular化以尊重新值。希望有人能指出我做错了什么。//DoTraingleCanvaswindow.onload=function(){varpattern=Trianglify({width:window.innerWidth,height:window.innerHeight,cell_size:120,stroke_width:1.3,variance:0.75,seed:

  3. regex - 查找具有零距离方差和记录的瓦特的条目 - 2

    我是一名自行车手和一名程序员。在我的骑行过程中,我使用基于手机的GPS跟踪器和功率计将数据记录到xml文件中。骑行后,我使用功率计软件合并数据,然后上传到网站。在网站上,生成的数据显示WR瓦特的数据非常不准确(它是加权平均值,也称为归一化功率,根据定义高于平均功率但低于我记录的最大瓦特数。请参阅http://ridewithgps.com/trips/4834566(导出TCX历史记录获取我所指的文件)。/\d{4,}不返回任何结果。Calories:1809MaxWatts:676Avg.Watts:213(170with0s)WRPower23487Work1681kJMaxSpe

  4. Otsu算法——最大类间方差法(大津算法) - 2

    Otsu算法,又被称为最大类间方差法(大津算法),是一种确定阈值的算法。1.算法理解Otsu算法之所以称为最大类间方差法是因为,该方法主要是通过阈值进行前后背景分割,而该方法确定最佳阈值的方法是该值使类间方差最大,它是按图像的灰度特性,将图像分成背景和前景两部分,使类间方差最大的分割意味着错分概率最小。2.算法原理以灰度图像为例,对于图像imgimgimg,我们可以将其看作一个M×NM\timesNM×N大小的矩阵,即图像中的像素,每一个值即为像素值,其中像素值在(0 255)(0~255)(0 255)之间。前景(即目标)和背景的分割阈值记作optimalthresholdoptimal_{

  5. 【什么是自相关矩阵,自协方差矩阵,互相关矩阵,互协方差矩阵?】 - 2

    目录写在前面的话前置知识自协方差矩阵具体样例自相关矩阵自相关矩阵与自协方差矩阵的关系互协方差矩阵互相关矩阵互相关矩阵与互协方差矩阵的关系性质相关系数写在前面的话最近看模式识别课程的时候卡在了一个地方,见下图:协方差矩阵倒还知道,自相关矩阵?怎么推导的?它有什么意义?上网查了资料,要么晦涩难懂,要么一堆废话,这里我想尽量用最简洁的语言讲清楚它们。前置知识向量的内积与外积场景:机器学习样本(n个样本,N个维度(特征)):X={x1,x2,...,xn}xi={wi,1,wi,2,...,wi,N}Ti∈[1,n]wj={w1,j,w2,j,...,wn,j}j∈[1,N]X=\left\{x_1,

  6. c# - 键值对协方差 - 2

    在这个例子中有没有更好的方法来模拟协方差?理想情况下我想这样做:privateIDictionary>foos;publicIEnumerable>Foos{get{returnfoos;}}但是KeyValuePair不是协变的。相反,我必须这样做:publicIEnumerable>>Foos{get{returnfoos.Select(x=>newKeyValuePair>(x.Key,x.Value));}}有更好/更清洁的方法吗? 最佳答案 不幸的是,KeyValuePair是一个结构;和结构在.NET中不会表现出差异。你

  7. c# - 为什么 C#/CLR 不支持方法重写协方差/反方差? - 2

    关于绕过C#不允许方法返回(和参数)类型被更改为兼容类型的覆盖的限制,有很多问题和答案,但是为什么存在这个限制,在C#编译器中还是在CLR中?如我所见,如果允许协方差/协方差,就没有什么可以破坏的,那么它背后的原因是什么?类似的问题可能会被问到扩大访问参数——例如用公共(public)方法覆盖protected内部方法(Java支持的东西,IIRC) 最佳答案 这个答案不是在谈论C#,但它帮助我更好地理解了问题,也许它会对其他人有所帮助:Whyistherenoparametercontra-varianceforoverridin

  8. c# - Casting List<T> - 协方差/逆变问题 - 2

    给定以下类型:publicinterfaceIMyClass{}publicclassMyClass:IMyClass{}我想知道如何转换List到List?我对协变/逆变主题不是很清楚,但我知道我不能因此而简单地使用List。我只能想出这个微不足道的解决方案;缺乏优雅,浪费资源:...publicListConvertItems(Listinput){varresult=newList(input.Count);foreach(varitemininput){result.Add(item);}returnresult;}....如何以更优雅/更高效的方式解决它?(请注意,我需要.N

  9. c# - 为什么数组协方差被认为如此可怕? - 2

    在.NET中,引用类型数组是协变的。这被认为是一个错误。但是,我不明白为什么这会如此糟糕,请考虑以下代码:string[]strings=new[]{"Heythere"};object[]objects=strings;objects[0]=newobject();噢,这会编译,但会在运行时失败。当我们试图将一个对象粘贴到一个字符串[]中时。好吧,我同意这很糟糕,但是T[]扩展了Array并且还实现了IList(和IList,我想知道它是否实现了IList...>。Array和IList都让我们犯了同样可怕的错误。string[]strings=new[]{"Heythere"};A

  10. c# - 为什么编译器不能在这种重载解析情况下告诉更好的转换目标? (协方差) - 2

    理解关于重载决议的C#语言规范显然很难,现在我想知道为什么这个简单的案例失败了:voidMethod(Funcf){}voidMethod(Funcf){}voidCall(){Method(()=>{thrownewNotSupportedException();});}这会产生编译时错误CS0121,以下方法或属性之间的调用不明确:后跟我的两个Method函数成员(重载)。我所期望的是Func是一个比Func更好的转换目标,然后应该使用第一个重载。自.NET4和C#4(2010)起,通用委托(delegate)类型Func在TResult中一直协变,因此存在从Func的隐式转换至F

随机推荐