vslSSEditRobustCovariance

Modifies pointers to arrays related to a robust covariance matrix.

Syntax

Fortran:

status = vslssseditrobustcovariance(task, rcov_storage, nparams, params, rmean, rcov)

status = vsldsseditrobustcovariance(task, rcov_storage, nparams, params, rmean, rcov)

C:

status = vslsSSEditRobustCovariance(task, rcov_storage, nparams, params, rmean, rcov);

status = vsldSSEditRobustCovariance(task, rcov_storage, nparams, params, rmean, rcov);

Include Files

  • Fortran 90: mkl_vsl.f90
  • C: mkl.h

Input Parameters

Name

Type

Description

task

Fortran: TYPE(VSL_SS_TASK)

C: VSLSSTaskPtr

Descriptor of the task

rcov_storage

Fortran: INTEGER

C: const MKL_INT*

Pointer to the storage format of a robust covariance matrix

nparams

Fortran: INTEGER

C: const MKL_INT*

Pointer to the number of method parameters

params

Fortran: REAL(KIND=4) DIMENSION(*) for

vslssseditrobustcovariance

REAL(KIND=8) DIMENSION(*) for

vsldsseditrobustcovariance

C: const float* for vslsSSEditRobustCovariance

const double* for vsldSSEditRobustCovariance

Pointer to the array of method parameters

rmean

Fortran: REAL(KIND=4) DIMENSION(*) for

vslssseditrobustcovariance

REAL(KIND=8) DIMENSION(*) for

vsldsseditrobustcovariance

C: const float* for vslsSSEditRobustCovariance

const double* for vsldSSEditRobustCovariance

Pointer to the array of robust means

rcov

Fortran: REAL(KIND=4) DIMENSION(*) for

vslssseditrobustcovariance

REAL(KIND=8) DIMENSION(*) for

vsldsseditrobustcovariance

C: const float* for vslsSSEditRobustCovariance

const double* for vsldSSEditRobustCovariance

Pointer to a robust covariance matrix

Output Parameters

Name

Type

Description

status

Fortran: INTEGER

C: int

Current status of the task

Description

The vslSSEditRobustCovariance routine uses values passed as parameters of the routine to replace:

  • pointers to covariance matrix storage

  • pointers to the number of method parameters and to the array of the method parameters of size nparams

  • pointers to the arrays that hold robust means and covariance

See Table "Storage formats of a variance-covariance/correlation matrix" for possible values of the rcov_storage parameter. If an input parameter is NULL, the corresponding parameter in the task descriptor remains unchanged.

Intel MKL provides a Translated Biweight S-estimator (TBS) for robust estimation of a variance-covariance matrix and mean [Rocke96]. Use one iteration of the Maronna algorithm with the reweighting step [Maronna02] to compute the initial point of the algorithm. Pack the parameters of the TBS algorithm into the params array and pass them into the editor. Table "Structure of the Array of TBS Parameters" describes the params structure.

Structure of the Array of TBS Parameters

Array Position

Algorithm Parameter

Description

0

ε

Breakdown point, the number of outliers the algorithm can hold. By default, the value is (n-p)/(2n).

1

α

Asymptotic rejection probability, see details in [Rocke96]. By default, the value is 0.001.

2

δ

Stopping criterion: the algorithm is terminated if weights are changed less than δ. By default, the value is 0.001.

3

max_iter

Maximum number of iterations. The algorithm terminates after max_iter iterations. By default, the value is 10.

If you set this parameter to zero, the function returns a robust estimate of the variance-covariance matrix computed using the Maronna method [Maronna02] only.

The robust estimator of variance-covariance implementation in Intel MKL requires that the number of observations n be greater than twice the number of variables: n > 2p.

See additional details of the algorithm usage model in the Intel® MKL Summary Statistics Library Application Notes document [SSL Notes].

For more complete information about compiler optimizations, see our Optimization Notice.