Pourquoi cet ensemble de données n'a-t-il pas de covariance?


8

Ma compréhension du fonctionnement de la covariance est que les données qui sont corrélées devraient avoir une covariance quelque peu élevée. Je suis tombé sur une situation où mes données semblent corrélées (comme le montre le diagramme de dispersion) mais la covariance est proche de zéro. Comment la covariance des données peut-elle être nulle si elles sont corrélées?

import numpy as np
x1 = np.array([ 0.03551153,  0.01656052,  0.03344669,  0.02551755,  0.02344788,
        0.02904475,  0.03334179,  0.02683399,  0.02966126,  0.03947681,
        0.02537157,  0.03015175,  0.02206443,  0.03590149,  0.03702152,
        0.02697212,  0.03777607,  0.02468797,  0.03489873,  0.02167536])
x2 = np.array([ 0.0372599 ,  0.02398212,  0.03649548,  0.03145494,  0.02925334,
        0.03328783,  0.03638871,  0.03196318,  0.03347346,  0.03874528,
        0.03098697,  0.03357531,  0.02808358,  0.03747998,  0.03804655,
        0.03213286,  0.03827639,  0.02999955,  0.0371424 ,  0.0279254 ])
print np.cov(x1, x2)

array([[  3.95773132e-05,   2.59159589e-05],
       [  2.59159589e-05,   1.72006225e-05]])

entrez la description de l'image ici


4
Astuce: que se passe-t-il lorsque vous regardez la corrélation? Quelle est la différence entre la covariance et la corrélation?
aleshing

2
Si vous mesurez des nombres qui semblent petits ou proches les uns des autres sur une échelle particulière, les différences entre eux sembleront également petites et les produits des différences semblent encore plus petits. Essayez de multiplier toutes vos données par , puis de refaire les calculs; la covariance devrait être 1000000 fois plus importante10001000000
Henry

Réponses:


14

L'amplitude de la covariance dépend de l'ampleur des données et de la proximité de ces points de données dispersés autour de la moyenne de ces données. C'est facile à voir quand on regarde la formule:

covX,y=(Xje-X¯)(yje-y¯)n-1

Dans votre cas, la déviance des données x1et x2indique la moyenne de x1et x2sont:

x1-mean(x1)
 [1]  0.006043341 -0.012907669  0.003978501 -0.003950639 -0.006020309 -0.000423439  0.003873601
 [8] -0.002634199  0.000193071  0.010008621 -0.004096619  0.000683561 -0.007403759  0.006433301
[15]  0.007553331 -0.002496069  0.008307881 -0.004780219  0.005430541 -0.007792829

x2-mean(x2)
 [1]  0.0039622385 -0.0093155415  0.0031978185 -0.0018427215 -0.0040443215 -0.0000098315
 [7]  0.0030910485 -0.0013344815  0.0001757985  0.0054476185 -0.0023106915  0.0002776485
[13] -0.0052140815  0.0041823185  0.0047488885 -0.0011648015  0.0049787285 -0.0032981115
[19]  0.0038447385 -0.0053722615

Maintenant, si vous multipliez ces deux vecteurs, vous obtenez évidemment des nombres assez petits:

(x1-mean(x1)) * (x2-mean(x2))
 [1] 2.394516e-05 1.202419e-04 1.272252e-05 7.279927e-06 2.434807e-05 4.163041e-09 1.197349e-05
 [8] 3.515290e-06 3.394159e-08 5.452315e-05 9.466023e-06 1.897897e-07 3.860380e-05 2.690611e-05
[15] 3.586993e-05 2.907425e-06 4.136268e-05 1.576570e-05 2.087901e-05 4.186512e-05

n-1

sum((x1-mean(x1)) * (x2-mean(x2))) / (length(x1)-1)
[1] 2.591596e-05

C'est la raison pour laquelle l'ampleur de la covariance ne dit pas grand-chose sur la force du comment x1et la x2co-variation. En standardisant (ou en normalisant) la covariance, c'est-à-dire en la divisant par le produit de l'écart type de x1et x2(très similaire à la covariance, c'est-à-dire 2.609127e-05),

r=covX,ysXsy=(X1-X¯)(yje-y¯)(n-1)sXsy

r=0,99


7

Parlons de ce qui peut être vu d'un rapide coup d'œil sur l'intrigue et de quelques vérifications du caractère raisonnable (ce sont le genre de choses que l'on peut faire naturellement en regardant des données, simplement en étant armé de quelques faits de base):

nn-1

104

Par conséquent, les valeurs observées des variances dans votre sortie ont un sens; ils sont tous les deux moins que cela, mais plus d'un dixième.

14

0,02(0.02)2/4=104

De cette analyse très approximative, rien ne semble surprenant.


0,0230,0158.6×dix-5

2.9×dix-5

2.9×dix-52.6×dix-5

(Pas si mal pour un calcul rapide de retour d'enveloppe commençant par des gammes à deux chiffres significatifs!)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.