Package 'MOutliers'

Title: Multivariate Outlier Detection Methods
Description: Provides tools for detecting multivariate outliers in numeric datasets using Mahalanobis distance, robust Minimum Covariance Determinant (MCD), and Principal Component Analysis (PCA)-based methods. The Mahalanobis distance calculations are performed using an efficient C++ backend via Rcpp.
Authors: Senuri Yasara [aut, cre]
Maintainer: Senuri Yasara <[email protected]>
License: MIT + file LICENSE
Version: 0.0.0.9000
Built: 2026-06-16 09:49:00 UTC
Source: https://github.com/senuyasara/multivariate_outlier_detection_r_package

Help Index


Detect Multivariate Outliers

Description

Detects multivariate outliers using Mahalanobis, Minimum Covariance Determinant (MCD), or PCA-based distances. Supports robust detection by computing distance scores for each observation and comparing them against a chi-squared cutoff at a specified significance level.

Usage

detect_multivariate_outliers(data, method = "mahalanobis", alpha = 0.975)

Arguments

data

A numeric data frame or matrix.

method

Outlier detection method: "mahalanobis", "mcd", or "pca".

alpha

Significance level (default = 0.975).

Value

A data frame combining the original input data with distances and outlier flags.

Examples

df_mtcars <- mtcars[, c("mpg", "hp", "wt" )]
head(df_mtcars)

## Mahalanobis Distance
result_mahal <- detect_multivariate_outliers(df_mtcars, method = "mahalanobis", alpha = 0.975)

## Minimum Covariance Determinant (MCD)
result_mcd <- detect_multivariate_outliers(df_mtcars, method = "mcd", alpha = 0.975)

## Principal Component Analysis (PCA)
result_pca <- detect_multivariate_outliers(df_mtcars, method = "pca", alpha = 0.975)

Plot Pairwise Outliers

Description

Generates 2D scatterplots for each pair of variables in the dataset, with outliers identified using Mahalanobis or MCD distances computed across all variables, without including each observation in its own distance calculation.

Usage

plot_outliers(data, method = c("mahalanobis", "mcd"), alpha = 0.975)

Arguments

data

A numeric data frame or matrix.

method

Outlier detection method: "mahalanobis" or "mcd".

alpha

The quantile cutoff for identifying outliers (default 0.975).

Examples

df_mtcars <- mtcars[, c("mpg", "hp", "wt" )]
head(df_mtcars)

## Pairwise Plots: Mahalanobis
plot_outliers(df_mtcars, method = "mahalanobis", alpha = 0.975)

## Pairwise Plots: MCD
plot_outliers(df_mtcars, method = "mcd", alpha = 0.975)