20.2.1 Covariance and correlation
The covariance of two random variables measures their connectedness;
i.e., whether they tend to change with each other. If X and Y are
two random variables, then the covariance is the expected value of
(X−X)(Y−Ȳ), where X and Ȳ are the means
of X and Y, respectively.
The covariance
command calculates covariances.
-
covariance takes two mandatory and one optional
argument:
-
X and Y, two lists.
- Optionally, W, a list of weights or a matrix (wjk)
where wjk is the weight of the pair (xj,yk).
If the arguments are all lists, then can be entered as the columns
of a single matrix.If the arguments consist of two lists and a matrix, to make it
simpler to enter data in a spreadsheet the lists X and Y and
the matrix W can be combined into a single matrix, by augmenting
W with the list Y on the top and the transpose of the list X
on the left, with a filler in the upper left hand corner:
For this, you have to give covariance a second argument of
-1.
- covariance(X,Y ⟨,W⟩) returns the
covariance of X and Y.
Examples
covariance([1,2,3,4],[1,4,9,16]) |
or:
covariance([[1,1],[2,4],[3,9],[4,16]]) |
covariance([1,2,3,4],[1,4,9,16],[3,1,5,2]) |
or:
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]]) |
or:
covariance([["XY",1,4,9,16],[1,3,0,5,0],[2,0,1,0,0],[3,0,0,5,0],[4,0,0,0,2]],-1) |
The linear correlation coefficient of two random variables is another
way to measure their connectedness. Given random variables X and
Y, their correlation is defined as cov(X,Y)/(σ(X)σ(Y)),
cov(X,Y) is the covariance of X and Y, and σ(X)
and σ(Y) are the standard deviations of X and Y, respectively.
The correlation
command finds the correlation of two lists and
take the same types of arguments as the covariance command.
-
correlation takes two mandatory and one optional
argument:
-
X and Y, two lists.
- Optionally, W, a list of weights or a matrix (wjk)
where wjk is the weight of the pair (xj,yk).
If the arguments are all lists, then can be entered as the columns
of a single matrix.If the arguments consist of two lists and a matrix, to make it
simpler to enter data in a spreadsheet the lists X and Y and
the matrix W can be combined into a single matrix, by augmenting
W with the list Y on the top and the transpose of the list X
on the left, with a filler in the upper left hand corner:
For this, you have to give correlation a second argument of
-1.
- correlation(X,Y ⟨,W⟩) returns the
correlation of X and Y.
Example
correlation([1,2,3,4],[1,4,9,16]) |
The covariance_correlation
command will compute both the covariance and correlation simultaneously, and return a list with both
values. This command takes the same type of arguments as the
covariance and correlation commands.
-
covariance_correlation takes two mandatory and one optional
argument:
-
X and Y, two lists.
- Optionally, W, a list of weights or a matrix (wjk)
where wjk is the weight of the pair (xj,yk).
If the arguments are all lists, then can be entered as the columns
of a single matrix.If the arguments consist of two lists and a matrix, to make it
simpler to enter data in a spreadsheet the lists X and Y and
the matrix W can be combined into a single matrix, by augmenting
W with the list Y on the top and the transpose of the list X
on the left, with a filler in the upper left hand corner:
For this, you have to give covariance_correlation a second argument of
-1.
- covariance_correlation(X,Y ⟨,W⟩)
returns a list consisting of the covariance and the correlation of X and Y.
Example
covariance_correlation([1,2,3,4],[1,4,9,16]) |