This function computes the Band Depth (BD) of elements of a functional dataset.
BD(Data)
# S3 method for fData
BD(Data)
# S3 method for default
BD(Data)
either an object of class fData
or a matrix-like dataset
of functional data (e.g. fData$values
),
with observations as rows and measurements over grid points as columns.
The function returns a vector containing the values of BD for the given dataset.
Given a univariate functional dataset, \(X_1(t), X_2(t), \ldots, X_N(t)\), this function computes the sample BD of each element with respect to the other elements of the dataset, i.e.:
$$ BD( X( t ) ) = {N \choose 2 }^{-1} \sum_{1 \leq i_1 < i_2 \leq N} I( G(X) \subset B( X_{i_1}, X_{i_2} ) ),$$
where \(G(X)\) is the graphic of \(X(t)\), \(B(X_{i_1},X_{i_2})\) is the envelope of \(X_{i_1}(t)\) and \(X_{i_2}(t)\), and \(X \in \left\{X_1, \ldots, X_N\right\}\).
See the References section for more details.
Lopez-Pintado, S. and Romo, J. (2009). On the Concept of Depth for Functional Data, Journal of the American Statistical Association, 104, 718-734.
Lopez-Pintado, S. and Romo. J. (2007). Depth-based inference for functional data, Computational Statistics & Data Analysis 51, 4957-4968.
grid = seq( 0, 1, length.out = 1e2 )
D = matrix( c( 1 + sin( 2 * pi * grid ),
0 + sin( 4 * pi * grid ),
1 - sin( pi * ( grid - 0.2 ) ),
0.1 + cos( 2 * pi * grid ),
0.5 + sin( 3 * pi + grid ),
-2 + sin( pi * grid ) ),
nrow = 6, ncol = length( grid ), byrow = TRUE )
fD = fData( grid, D )
BD( fD )
#> [1] 0.3333333 0.3333333 0.3333333 0.3333333 0.4666667 0.3333333
BD( D )
#> [1] 0.3333333 0.3333333 0.3333333 0.3333333 0.4666667 0.3333333