当前位置: 首页 > 面试题库 >

用Python和Numpy计算协方差

慕铭
2023-03-14
问题内容

我试图弄清楚如何使用PythonNumpy函数cov计算协方差。当我将其传递给两个一维数组时,我得到了一个2x2的结果矩阵。我不知道该怎么办。我不太擅长统计,但我相信在这种情况下的协方差应该是一个整数。
这就是我想要的。我写了我自己的:

def cov(a, b):

    if len(a) != len(b):
        return

    a_mean = np.mean(a)
    b_mean = np.mean(b)

    sum = 0

    for i in range(0, len(a)):
        sum += ((a[i] - a_mean) * (b[i] - b_mean))

    return sum/(len(a)-1)

可以,但是我认为Numpy版本要有效得多,如果我能弄清楚如何使用它的话。

有人知道如何使Numpy cov函数像我写的那样执行吗?

谢谢,


问题答案:

ab是一维序列时,numpy.cov(a,b)[0][1]等效于cov(a,b)

返回的2x2数组的np.cov(a,b)元素等于

cov(a,a)  cov(a,b)

cov(a,b)  cov(b,b)

(再次cov是您在上面定义的功能。)



 类似资料:
  • 问题内容: 我正在使用Python和Numpy计算任意次数的最佳拟合多项式。我传递了x值,y值以及要拟合的多项式的阶数(线性,二次等)的列表。 这很有效,但是我还想计算r(相关系数)和r- 平方(确定系数)。我正在将我的结果与Excel的最佳拟合趋势线功能及其计算的r平方值进行比较。使用这个,我知道我正在为线性最佳拟合(度等于1)正确计算r平方。但是,我的函数不适用于度数大于1的多项式。 Exce

  • 本文向大家介绍Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算,包括了Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算的使用技巧和注意事项,需要的朋友参考一下 使用numpy可以做很多事情,在这篇文章中简单介绍一下如何使用numpy进行方差/标准方差/样本标准方差/协方差的计算。 variance: 方差 方差(Variance)是概率论中最基础

  • 本文向大家介绍python科学计算之numpy——ufunc函数用法,包括了python科学计算之numpy——ufunc函数用法的使用技巧和注意事项,需要的朋友参考一下 写在前面 ufunc是universal function的缩写,意思是这些函数能够作用于narray对象的每一个元素上,而不是针对narray对象操作,numpy提供了大量的ufunc的函数。这些函数在对narray进行运算的

  • 本文向大家介绍Python科学计算之NumPy入门教程,包括了Python科学计算之NumPy入门教程的使用技巧和注意事项,需要的朋友参考一下 前言 NumPy是Python用于处理大型矩阵的一个速度极快的数学库。它允许你在Python中做向量和矩阵的运算,而且很多底层的函数都是用C写的,你将获得在普通Python中无法达到的运行速度。这是由于矩阵中每个元素的数据类型都是一样的,这也就减少了运算过

  • 问题内容: 我在3D中有两点: 我想计算距离: 使用NumPy或一般使用Python的最佳方法是什么?我有: 问题答案: 用途 背后的理论:如数据挖掘导论所述 之所以有效,是因为欧几里得距离为l2范数,并且 中ord参数的默认值为2。

  • 问题内容: 我有一维列表如下: 我要列出以下元组,并分别计算每个元组的平均值。 预期结果应为: 这样做更简单的方法是什么? 问题答案: 将数据放入形状为(2,2,2,2)的4-d numpy数组中,然后取轴1和3上该数组的平均值: 如果需要最终结果作为一维数组,则可以使用该方法: 请参阅如何对numpy数组的2x2子数组的平均值进行矢量化处理?对于类似的问题。