How is the numpy.cov () function implemented?

I have my own implementation of the covariance function based on the equation:

enter image description here

''' Calculate the covariance coefficient between two variables. ''' import numpy as np X = np.array([171, 184, 210, 198, 166, 167]) Y = np.array([78, 77, 98, 110, 80, 69]) # Expected value function. def E(X, P): expectedValue = 0 for i in np.arange(0, np.size(X)): expectedValue += X[i] * (P[i] / np.size(X)) return expectedValue # Covariance coefficient function. def covariance(X, Y): ''' Calculate the product of the multiplication for each pair of variables values. ''' XY = X * Y # Calculate the expected values for each variable and for the XY. EX = E(X, np.ones(np.size(X))) EY = E(Y, np.ones(np.size(Y))) EXY = E(XY, np.ones(np.size(XY))) # Calculate the covariance coefficient. return EXY - (EX * EY) # Display matrix of the covariance coefficient values. covMatrix = np.array([[covariance(X, X), covariance(X, Y)], [covariance(Y, X), covariance(Y, Y)]]) print("My function:", covMatrix) # Display standard numpy.cov() covariance coefficient matrix. print("Numpy.cov() function:", np.cov([X, Y])) 

But the problem is that I get different values ​​from my function and from numpy.cov() , numpy.cov() .:

 My function: [[ 273.88888889 190.61111111] [ 190.61111111 197.88888889]] Numpy.cov() function: [[ 328.66666667 228.73333333] [ 228.73333333 237.46666667]] 

Why? How is the numpy.cov() function implemented? If the numpy.cov() function is well implemented, what am I doing wrong? I will simply say that the results of my covariance() function are consistent with the results from paper examples on the Internet for calculating the covariance coefficient, for example http://www.naukowiec.org/wzory/statystyka/kowariancja_11.html .

+7
python numpy scipy
source share
1 answer

The numpy function has a different normalization to your default setting. Try instead

 >>> np.cov([X, Y], ddof=0) array([[ 273.88888889, 190.61111111], [ 190.61111111, 197.88888889]]) 

Literature:

+15
source share

All Articles