Skip to content

MahalanobisDistance

Defined in: ds/src/ml/outliers.js:937

Mahalanobis distance-based outlier detection Compatible with sklearn.covariance.EllipticEnvelope approach

Detects outliers based on statistical distance from the mean, accounting for covariance structure. Uses pseudoinverse to handle singular/near-singular covariance matrices.

Example

const md = new MahalanobisDistance({ contamination: 0.1 });
md.fit(X_train);
const predictions = md.predict(X_test);

Constructors

Constructor

new MahalanobisDistance(options?): MahalanobisDistance

Defined in: ds/src/ml/outliers.js:943

Parameters

options?
contamination

number = 0.1

Expected proportion of outliers (default: 0.1)

use_chi2

boolean = true

Use chi-squared distribution for threshold (default: true)

Returns

MahalanobisDistance

Properties

_tableColumns

_tableColumns: any

Defined in: ds/src/ml/outliers.js:955


contamination

contamination: number

Defined in: ds/src/ml/outliers.js:948


label_column

label_column: any

Defined in: ds/src/ml/outliers.js:950


mean_

mean_: any[]

Defined in: ds/src/ml/outliers.js:951


nFeatures_

nFeatures_: number

Defined in: ds/src/ml/outliers.js:954


precision_

precision_: Matrix

Defined in: ds/src/ml/outliers.js:952


threshold_

threshold_: number

Defined in: ds/src/ml/outliers.js:953


use_chi2

use_chi2: boolean

Defined in: ds/src/ml/outliers.js:949

Accessors

mahalanobis_distances

Get Signature

get mahalanobis_distances(): number[]

Defined in: ds/src/ml/outliers.js:1191

Get Mahalanobis distances for fitted data

Returns

number[]

Mahalanobis distances

Methods

_mahalanobis_distances()

_mahalanobis_distances(X): number[]

Defined in: ds/src/ml/outliers.js:1059

Compute Mahalanobis distances for samples

Parameters

X

number[][]

Data

Returns

number[]

Mahalanobis distances


fit()

fit(X): MahalanobisDistance

Defined in: ds/src/ml/outliers.js:963

Fit the detector on training data

Parameters

X

any

Training data (2D array, {data, columns}, or array of objects)

Returns

MahalanobisDistance

this


fit_predict()

fit_predict(X): number[]

Defined in: ds/src/ml/outliers.js:1159

Fit and predict in one step

Parameters

X

any

Data

Returns

number[]

Predictions: -1 for outliers, 1 for inliers


fit_transform()

fit_transform(X): any[] | number[]

Defined in: ds/src/ml/outliers.js:1183

Fit and transform in one step (parity with IsolationForest).

Parameters

X

any

Data

Returns

any[] | number[]

Labels or table with outlier column


predict()

predict(X): number[]

Defined in: ds/src/ml/outliers.js:1144

Predict if samples are outliers

Parameters

X

any

Data

Returns

number[]

Predictions: -1 for outliers, 1 for inliers


score_samples()

score_samples(X): number[]

Defined in: ds/src/ml/outliers.js:1089

Compute Mahalanobis distances for samples

Parameters

X

any

Data to score (2D array, {data, columns}, or array of objects)

Returns

number[]

Negative Mahalanobis distances (outliers have lower scores)


transform()

transform(X): any[] | number[]

Defined in: ds/src/ml/outliers.js:1171

Transform data by adding outlier labels (parity with IsolationForest). Table or array-of-objects input -> original rows augmented with the label column, realigned to every original row (rows dropped for missing values default to inlier). 2D-array input -> bare -1/1 label array (sklearn-style).

Parameters

X

any

Data

Returns

any[] | number[]

Labels or table with outlier column