Scatter Matrix and Covariance
This package implements functions for computing scatter matrix, as well as weighted covariance matrix.
#
StatsBase.scattermat
— Function
scattermat(X, [wv::AbstractWeights]; mean=nothing, dims=1)
Compute the scatter matrix, which is an unnormalized covariance matrix. A weighting vector wv
can be specified to weight the estimate.
Arguments
-
mean=nothing
: a known mean value.nothing
indicates that the mean is unknown, and the function will compute the mean. Specifyingmean=0
indicates that the data are centered and hence there’s no need to subtract the mean. -
dims=1
: the dimension along which the variables are organized. Whendims = 1
, the variables are considered columns with observations in rows; whendims = 2
, variables are in rows with observations in columns.
#
Statistics.cov
— Function
cov(X, w::AbstractWeights, vardim=1; mean=nothing, corrected=false)
Compute the weighted covariance matrix. Similar to var
and std
the biased covariance matrix (corrected=false
) is computed by multiplying scattermat(X, w)
by to normalize. However, the unbiased covariance matrix (corrected=true
) is dependent on the type of weights used:
-
AnalyticWeights
: -
FrequencyWeights
: -
ProbabilityWeights
: where equalscount(!iszero, w)
-
Weights
:ArgumentError
(bias correction not supported)
#
Statistics.cov
— Method
cov(ce::CovarianceEstimator, x::AbstractVector; mean=nothing)
Compute a variance estimate from the observation vector x
using the estimator ce
.
#
Statistics.cov
— Method
cov(ce::CovarianceEstimator, x::AbstractVector, y::AbstractVector)
Compute the covariance of the vectors x
and y
using estimator ce
.
#
Statistics.cov
— Method
cov(ce::CovarianceEstimator, X::AbstractMatrix, [w::AbstractWeights]; mean=nothing, dims::Int=1)
Compute the covariance matrix of the matrix X
along dimension dims
using estimator ce
. A weighting vector w
can be specified. The keyword argument mean
can be:
-
nothing
(default) in which case the mean is estimated and subtracted from the dataX
, -
a precalculated mean in which case it is subtracted from the data
X
. Assumingsize(X)
is(N,M)
,mean
can either be:-
when
dims=1
, anAbstractMatrix
of size(1,M)
, -
when
dims=2
, anAbstractVector
of lengthN
or anAbstractMatrix
of size(N,1)
.
-
#
Statistics.var
— Method
var(ce::CovarianceEstimator, x::AbstractVector; mean=nothing)
Compute the variance of the vector x
using the estimator ce
.
#
Statistics.std
— Method
std(ce::CovarianceEstimator, x::AbstractVector; mean=nothing)
Compute the standard deviation of the vector x
using the estimator ce
.
#
Statistics.cor
— Function
cor(X, w::AbstractWeights, dims=1)
Compute the Pearson correlation matrix of X
along the dimension dims
with a weighting w
.
cor(ce::CovarianceEstimator, x::AbstractVector, y::AbstractVector)
Compute the correlation of the vectors x
and y
using estimator ce
.
cor( ce::CovarianceEstimator, X::AbstractMatrix, [w::AbstractWeights]; mean=nothing, dims::Int=1 )
Compute the correlation matrix of the matrix X
along dimension dims
using estimator ce
. A weighting vector w
can be specified. The keyword argument mean
can be:
-
nothing
(default) in which case the mean is estimated and subtracted from the dataX
, -
a precalculated mean in which case it is subtracted from the data
X
. Assumingsize(X)
is(N,M)
,mean
can either be:-
when
dims=1
, anAbstractMatrix
of size(1,M)
, -
when
dims=2
, anAbstractVector
of lengthN
or anAbstractMatrix
of size(N,1)
.
-
#
StatsBase.mean_and_cov
— Function
mean_and_cov(x, [wv::AbstractWeights,] vardim=1; corrected=false) -> (mean, cov)
Return the mean and covariance matrix as a tuple. A weighting vector wv
can be specified. vardim
that designates whether the variables are columns in the matrix (1
) or rows (2
). Finally, bias correction is applied to the covariance calculation if corrected=true
. See cov
documentation for more details.
#
StatsBase.cov2cor
— Function
cov2cor(C::AbstractMatrix, [s::AbstractArray])
Compute the correlation matrix from the covariance matrix C
and, optionally, a vector of standard deviations s
. Use StatsBase.cov2cor!
for an in-place version.
#
StatsBase.cor2cov
— Function
cor2cov(C, s)
Compute the covariance matrix from the correlation matrix C
and a vector of standard deviations s
. Use StatsBase.cor2cov!
for an in-place version.
#
StatsBase.CovarianceEstimator
— Type
CovarianceEstimator
Abstract type for covariance estimators.
#
StatsBase.SimpleCovariance
— Type
SimpleCovariance(;corrected::Bool=false)
Simple covariance estimator. Estimation calls cov(x; corrected=corrected)
, cov(x, y; corrected=corrected)
or cov(X, w, dims; corrected=corrected)
where x
, y
are vectors, X
is a matrix and w
is a weighting vector.