matlab 中的cov等的统计函数的用法;假设X={xij}是一个p*n的矩阵,即有p个变元,n次观察,如何求协方差矩

学习 时间:2026-04-02 09:50:25 阅读:5473
matlab 中的cov等的统计函数的用法;假设X={xij}是一个p*n的矩阵,即有p个变元,n次观察,如何求协方差矩以及X的平均值(算出来应该是一个p维的列向量)我用cov和mean算出来是不一样的,是不是行列互换的问题呢?如果我看懂了,绝对会加倍算上悬赏值!cov算出来的结果跟我手写的结果是不一样的.而且平均值得到的是一个n维的向量,想要得到的是p维的啊

最佳回答

细腻的台灯

靓丽的高山

2026-04-02 09:50:25

>> a=[1 2 3;2 5 6]a =     1     2     3     2     5     6>> b=mean(a)%%mean是按列求平均值,从b中的值可以看出b =    1。5000    3。5000    4。5000>> c=mean(a')%%所以要按行求平均值,直接转置求取,最后对c再求转置即可得到p维列向量c =    2。0000    4。3333%%%%%%%%%%%%%%%%%%%%%%%%%%>> M=rand(4,3)M =    0。9501    0。8913    0。8214    0。2311    0。7621    0。4447    0。6068    0。4565    0。6154    0。4860    0。0185    0。7919>> m=cov(M)m =   0。0892    0。0330    0。0405    0。0330    0。1505   -0。0186    0。0405   -0。0186    0。0305%%%%%%%%可以看出最后得到的协方差是3*3,由此知cov也是按列计算的,m对角线的元素是每列的方差,其余元素是列与列之间的协方差>> n=cov(M')n =    0。0042   -0。0061   -0。0006   -0。0110   -0。0061    0。0714   -0。0214   -0。0714   -0。0006   -0。0214    0。0080    0。0326   -0。0110   -0。0714    0。0326    0。1517%%转置后计算协方差,n为4*4,那么对角线元素就是行的方差,其余元素就是行与行之间的协方差。%%%%%%%%%%%%%%%%%关于cov计算的结果和手算的结果不同,这里的原因是:matlab在计算相关矩阵时,把每一列的数作为一个随机变量的样本,每一行作为一个这几个随机变量的联合样本,即第i个随机变量取第k行的样本值时,第j个随机变量也取第k行的样本值。利用这个性质,我们就可以用协方差的公式代入来计算协方差矩阵了。      然而,由于矩阵中给出只是这些随机变量的样本,根据概率论的知识我们知道,由于我们不知道这些随机变量的概率分布(或联合概率分布),我们是不可能计算出这些随机变量的期望、方差或是协方差的,而只能计算出它们的一个无偏估计,即样本均值、样本方差与样本协方差。其计算公式如下所示:

最新回答共有2条回答

  • 干净的鼠标
    回复
    2026-04-02 09:50:25

    >> a=[1 2 3;2 5 6]a =     1     2     3     2     5     6>> b=mean(a)%%mean是按列求平均值,从b中的值可以看出b =    1。5000    3。5000    4。5000>> c=mean(a')%%所以要按行求平均值,直接转置求取,最后对c再求转置即可得到p维列向量c =    2。0000    4。3333%%%%%%%%%%%%%%%%%%%%%%%%%%>> M=rand(4,3)M =    0。9501    0。8913    0。8214    0。2311    0。7621    0。4447    0。6068    0。4565    0。6154    0。4860    0。0185    0。7919>> m=cov(M)m =   0。0892    0。0330    0。0405    0。0330    0。1505   -0。0186    0。0405   -0。0186    0。0305%%%%%%%%可以看出最后得到的协方差是3*3,由此知cov也是按列计算的,m对角线的元素是每列的方差,其余元素是列与列之间的协方差>> n=cov(M')n =    0。0042   -0。0061   -0。0006   -0。0110   -0。0061    0。0714   -0。0214   -0。0714   -0。0006   -0。0214    0。0080    0。0326   -0。0110   -0。0714    0。0326    0。1517%%转置后计算协方差,n为4*4,那么对角线元素就是行的方差,其余元素就是行与行之间的协方差。%%%%%%%%%%%%%%%%%关于cov计算的结果和手算的结果不同,这里的原因是:matlab在计算相关矩阵时,把每一列的数作为一个随机变量的样本,每一行作为一个这几个随机变量的联合样本,即第i个随机变量取第k行的样本值时,第j个随机变量也取第k行的样本值。利用这个性质,我们就可以用协方差的公式代入来计算协方差矩阵了。      然而,由于矩阵中给出只是这些随机变量的样本,根据概率论的知识我们知道,由于我们不知道这些随机变量的概率分布(或联合概率分布),我们是不可能计算出这些随机变量的期望、方差或是协方差的,而只能计算出它们的一个无偏估计,即样本均值、样本方差与样本协方差。其计算公式如下所示:

上一篇 iraq是什么意思

下一篇 “第七营养素”指的是什么?