fom: Draws the Functional Outlier Map (FOM)

View source: R/fom.R

fomR Documentation

Draws the Functional Outlier Map (FOM)

Description

Creates the Functional Outlier Map, a graphical tool to detect outliers in multivariate functional data. Depending on the position of a multivariate curve in the FOM, different types of outliers may be distinguished.

Usage

fom(fOutlResult, cutoff = FALSE)

Arguments

fOutlResult

The return of a call to fOutl

cutoff

Boolean indicating whether the cutoff should be drawn.

Details

The fom is only applicable when fOutl is called with the following options: diagnostic = TRUE and type equaling either fAO or fDO.

The functional outlier map was proposed by Hubert et al. (2015) and subsequently improved by Rousseeuw et al. (2018). It consists of a graphical tool to detect outliers in multivariate functional data based on functional outlyingness measures such as the fAO or fDO (see fOutl).

The coordinates of the points in the FOM correspond to two outlyingness indicators. On the horizontal axis, the functional outlyingness as obtained by the routine fOutl is plotted. On the vertical axis the scaled standard deviation of the cross-sectional outlyingness measures across time are plotted. The FOM thus consists of the following points representing the curve i: (fOutl_i; std_j(fOutl_i(t_j)) / (1 + fOutl_i)). The scaling of the standard deviation is added to ensure that curves with a different location, measured from the center, but with the same relative variability have a similar y-coordinate.

For some underlying multivariate outlyingness measures, the output of fOutl contains an additional argument signaling whether curve i is outlying as measured in the multivariate space at time point j. This information is incorporated in the FOM by plotting the points with a different degree of outlyingness by a different symbol. Curves that are outlying in the multivariate space determined by at least 75\% of the total number of time points in the domain are plotted using filled diamonds. Similarly curves that are outlying in at least 50\% or 25\% of the time points are plotted in filled squares and filled triangles respectively. Curves that are outlying in fewer than 25\% of the time points are plotted using filled circles.

The user may opt to draw a cutoff curve for the detection of outliers on the FOM. This cutoff was introduced in Rousseeuw et al. (2018) and is based on the euclidean distance between the points on the FOM and the origin, after scaling with the median. More specifically, let (fOutl_i;vOutl_i) = (fOutl_i; std_j(fOutl_i(t_j)) / (1 + fOutl_i)) and let cOutl_i^2 = (fOutl_i / median(fOutl))^2 + (vOutl_i / median(vOutl))^2. Finally, with lcOutl_i = \log(0.1 + coutl_i),an observation lies outside of the cutoff when (lcOutl_i - median(lcOutl)) / mad(lcOutl) > \Phi^{-1}(0.995).

This FOM may be read in a way similar to the outlier map of robust regression (Rousseeuw and van Zomeren 1990) and the outlier map of robust principal components (Hubert et al. 2005). Points in the lower left part of the FOM represent regular curves which hold a central position in the dataset. Points in the lower right part are curves with a high fOutl but a low variability of their cross-sectional fOutl values. This happens for shift outliers, i.e. curves which have the same shape as the majority but are shifted on the whole domain. Points in the upper left part have a low fOutl but a high variability in cross-sectional fOutl. Typical examples are isolated outliers, i.e. cuves which only display outlyingness over a small part of their domain. The points in the upper right part of the FOM have both a high fOutl and a high cross-sectional fOutl. These correspond to curves which are strongly outlying on a substantial part of their domain.

Author(s)

P. Segaert

References

Hubert M., Rousseeuw P.J., Segaert P. (2015). Multivariate functional outlier detection (with rejoinder). Statistical Methods & Applications, 24, 177–202.

Rousseeuw P.J., Raymaekers J., Hubert M., (2018). A measure of directional outlyingness with applications to image data and video. Journal of Computational and Graphical Statistics, 27, 345–359.

See Also

fOutl

Examples

data(octane)

# To construct the FOM, one first need to compute
# the functional outlyingness.
# Note that the option diagnostic in fOutl must be 
# set to TRUE. If not calling fom will result in an 
# error
Result <- fOutl(octane, alpha = 0, type = "fAO", diagnostic = TRUE)
fom(Result)

# The user may opt to draw a cut off line seperating the outliers.
# which will be plotted in red
fom(Result, cutoff = TRUE)

# Six observations are flagged as outliers. These correspond to 
# the samples with added ethanol. 

mrfDepth documentation built on Oct. 6, 2023, 5:07 p.m.