### 8.2.1 La covariance : `covariance`

La covariance de deux variables aléatoires X et Y est :
cov(X,Y)=E((X−X)(Y−Ȳ)).
`covariance` a différentes sortes d’arguments :

- quand les effectifs sont égaux à 1,
`covariance` a pour argument deux listes de même longueur ou une matrice ayant deux colonnes.
`covariance` calcule la covariance numérique des deux listes ou deux colonnes de cette matrice.
On tape :

`covariance([1,2,3,4],[1,4,9,16])`

On obtient :

`25/4`

On tape :

`covariance([[1,1],[2,4],[3,9],[4,16]])`

On obtient :

`25/4`

Car on a :
1/4*(1+8+27+64)-75/4=25/4
On tape (on a `A:=[0,1,2,3,4,5,6,7,8,9,10,11]`) :

`covariance(A,A```^```2)`

On obtient :

`1573/12`

- quand les effectifs sont différents de 1 :
- si les couples a[j],b[j] ont pour effectif n[j] (j=0..p−1), `covariance` a pour argument trois listes a, b, n de même longueur p, ou une matrice de trois colonnes a, b, n et de p lignes [a[j],b[j],n[j]].
`covariance` calcule la covariance numérique des deux premières listes pondérées par la liste donnée comme dernier argument ou des deux colonnes de cette matrice pondérées par la troisiéme colonne.
On tape :

`covariance([1,2,3,4],[1,4,9,16],[3,1,5,2])`

Ou on tape :

`covariance([[1,1,3],[2,4,1],[3,9,5],[4,16,2]])`

On obtient :

`662/121`

- si les couples a[j],b[k] ont pour effectif N[j,k] (j=0..p−1,k=0..q−1), `covariance` a pour argument deux listes a, b de longueurs respectives p et q et une matrice N de p lignes et q colonnes ou encore,
afin de pouvoir écrire les données de façon plaisante dans le tableur, `covariance` peut aussi avoir deux arguments, une matrice M et -1.
M est alors un tableau à deux entrées égal à :

M= | ⎡ ⎢ ⎢ ⎢ ⎣ |
a ∖ b | b[0] | ... | b[q−1]
a[0] | N[0,0] | ... | N[0,q−1]
... | ... | ... | ...
a[p−1] | N[p−1,0] | ... | N[p−1,q−1]
|  | ⎤ ⎥ ⎥ ⎥ ⎦

`covariance(a,b,N)` ou `covariance(M,-1)` calcule la covariance numérique des couples a[j],b[k] pondérés par Nj,k.
On tape :

`covariance([1,2,3,4],[1,4,9,16],[[3,0,0,0],`
`[0,1,0,0],[0,0,5,0],[0,0,0,2]])`

On obtient :

`662/121`

On tape :

`covariance([[b``∖``a,1,2,3,4],[1,3,0,0,0],`
`[4,0,1,0,0],[9,0,0,5,0],[16,0,0,0,2]],-1)`

On obtient :

`662/121`