本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

cov

协方差

说明

示例

C = cov(A) 返回协方差

  • 如果 A 是由观测值组成的向量,则 C 为标量值方差

  • 如果 A 是其列表示随机变量或行表示观测值的矩阵,则 C 为对应的列方差沿着对角线排列的协方差矩阵。

  • C 按观测值数量 -1 实现归一化。如果仅有一个观测值,应按 1 进行归一化。

  • 如果 A 是标量,则 cov(A) 返回 0。如果 A 是空数组,则 cov(A) 返回 NaN

示例

C = cov(A,B) 返回两个随机变量 AB 之间的协方差。

  • 如果 AB 是长度相同的观测值向量,则 cov(A,B)2×2 协方差矩阵。

  • 如果 AB 是观测值矩阵,则 cov(A,B)AB 视为向量,并等价于 cov(A(:),B(:))AB 的大小必须相同。

  • 如果 AB 为标量,则 cov(A,B) 返回零的 2×2 块。如果 AB 为空数组,则 cov(A,B) 返回 NaN2×2 块。

示例

C = cov(___,w) 为之前的任何语法指定归一化权重。如果 w = 0(默认值),则 C 按观测值数量 -1 实现归一化。w = 1 时,按观测值数量对它实现归一化。

示例

C = cov(___,nanflag) 指定一个条件,用于在之前的任何语法的计算中忽略 NaN 值。例如,cov(A,'omitrows') 将忽略 A 的具有一个或多个 NaN 元素的所有行。

示例

全部折叠

创建一个 3×4 矩阵并计算它的协方差。

A = [5 0 3 7; 1 -5 7 3; 4 9 8 10];
C = cov(A)
C = 4×4

    4.3333    8.8333   -3.0000    5.6667
    8.8333   50.3333    6.5000   24.1667
   -3.0000    6.5000    7.0000    1.0000
    5.6667   24.1667    1.0000   12.3333

由于 A 的列数是 4,结果为 4×4 矩阵。

创建两个向量并计算它们的 2×2 协方差矩阵。

A = [3 6 4];
B = [7 12 -9];
cov(A,B)
ans = 2×2

    2.3333    6.8333
    6.8333  120.3333

创建两个大小相同的矩阵并计算它们的 2×2 协方差。

A = [2 0 -9; 3 4 1];
B = [5 2 6; -4 4 9];
cov(A,B)
ans = 2×2

   22.1667   -6.9333
   -6.9333   19.4667

创建一个矩阵并计算按行数归一化的协方差。

A = [1 3 -7; 3 9 2; -5 4 6];
C = cov(A,1)
C = 3×3

   11.5556    5.1111  -10.2222
    5.1111    6.8889    5.2222
  -10.2222    5.2222   29.5556

创建一个矩阵并计算它的协方差,排除包含 NaN 值的任何行。

A = [1.77 -0.005 3.98; NaN -2.95 NaN; 2.54 0.19 1.01]
A = 3×3

    1.7700   -0.0050    3.9800
       NaN   -2.9500       NaN
    2.5400    0.1900    1.0100

C = cov(A,'omitrows')
C = 3×3

    0.2964    0.0751   -1.1435
    0.0751    0.0190   -0.2896
   -1.1435   -0.2896    4.4104

输入参数

全部折叠

输入数组,指定为向量或矩阵。

数据类型: single | double

附加的输入矩阵,指定为向量或矩阵。B 的大小必须与 A 相同。

数据类型: single | double

归一化权重,指定为下列值之一:

  • 0 - 输出按观测值数量 -1 实现归一化。如果仅有一个观测值,应按 1 进行归一化。

  • 1 - 输出按观测值数量实现归一化。

数据类型: single | double

NaN 条件,指定为下列值之一:

  • 'includenan' - 计算协方差之前包含输入中的所有 NaN 值。

  • 'omitrows' - 计算协方差之前忽略包含一个或多个 NaN 值的任何输入行。

  • 'partialrows' - 对于每个双列协方差计算结果,仅忽略那些成对的 NaN 行。

数据类型: char

输出参数

全部折叠

协方差,指定为标量或矩阵。

  • 对于单矩阵输入,C 基于用 A 表示的随机变量数(列数)提供大小 [size(A,2) size(A,2)]。列的方差沿着对角线排列。如果 A 是行或列向量,则 C 为标量值方差。

  • 对于二向量或二矩阵输入,C 是介于两个随机变量之间的 2×2 协方差矩阵。方差沿着 C 的对角线排列。

详细信息

全部折叠

协方差

对于两个随机可变向量 A 和 B,协方差定义为

cov(A,B)=1N1i=1N(AiμA)*(BiμB)

,其中,μA 是 A 的均值,μB 是 B 的均值,* 表示复共轭。

两个随机变量的协方差矩阵是每个变量间成对的协方差计算结果的矩阵,

C=(cov(A,A)cov(A,B)cov(B,A)cov(B,B)).

对于矩阵 A,它的列是由观测值组成的随机变量,其协方差矩阵就是每个列组合之间的成对协方差计算结果。换言之,C(i,j)=cov(A(:,i),A(:,j))

方差

对于由 N 个标量观测值组成的随机可变向量 A,方差被定义为

V=1N1i=1N|Aiμ|2

,其中,μ 是 A 的均值,

μ=1Ni=1NAi.

某些方差定义使用 N(而不是 N-1)的归一化因子,可以通过将 w 设置为 1 来指定该因子。在任一情况下,都假定均值包含常见的归一化因子 N。

扩展功能

另请参阅

| | | | | |

在 R2006a 之前推出