Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

vslSSEditRobustCovariance

Modifies pointers to arrays related to a robust covariance matrix.

Syntax

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

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

Include Files

  • mkl_vsl.f90

Input Parameters

Name

Type

Description

task

Fortran: TYPE(VSL_SS_TASK)

Descriptor of the task

rcov_storage

Fortran: INTEGER

Pointer to the storage format of a robust covariance matrix

nparams

Fortran: INTEGER

Pointer to the number of method parameters

params

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

vslssseditrobustcovariance

REAL(KIND=8) DIMENSION(*) for

vsldsseditrobustcovariance

Pointer to the array of method parameters

rmean

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

vslssseditrobustcovariance

REAL(KIND=8) DIMENSION(*) for

vsldsseditrobustcovariance

Pointer to the array of robust means

rcov

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

vslssseditrobustcovariance

REAL(KIND=8) DIMENSION(*) for

vsldsseditrobustcovariance

Pointer to a robust covariance matrix

Output Parameters

Name

Type

Description

status

Fortran: INTEGER

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 you pass a value of NULL for a specific input parameter, the value of that parameter in the task descriptor is unchanged.

Intel® oneAPI Math Kernel Library (oneMKL) 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® oneAPI Math Kernel Library (oneMKL) requires that the number of observationsn be greater than twice the number of variables: n > 2p.

See additional details of the algorithm usage model in the Intel® oneAPI Math Kernel Library (oneMKL) Summary Statistics Application Notes document [SS Notes].