Learn R Programming

mrfDepth (version 1.0.17)

fom: 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.

Author

P. Segaert

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.

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

Run this code
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. 

Run the code above in your browser using DataLab