fmdsd  R Documentation 
Applies the multidimensional scaling (MDS) method to probability densities in order to describe a data folder, consisting of T
groups of individuals on which are observed p
variables. It returns an object of class fmdsd
. It applies cmdscale
to the distance matrix between the T
densities.
fmdsd(xf, group.name = "group", gaussiand = TRUE, distance = c("jeffreys", "hellinger",
"wasserstein", "l2", "l2norm"), windowh=NULL, data.centered = FALSE,
data.scaled = FALSE, common.variance = FALSE, add = TRUE, nb.factors = 3,
nb.values = 10, sub.title = "", plot.eigen = TRUE, plot.score = FALSE, nscore = 1:3,
filename = NULL)
xf 
object of class

group.name 
string.

gaussiand 
logical. If 
distance 
The distance or divergence used to compute the distance matrix between the densities. If
If 
windowh 
either a list of Omitted when 
data.centered 
logical. If 
data.scaled 
logical. If 
common.variance 
logical. If 
add 
logical indicating if an additive constant should be computed and added to the non diagonal dissimilarities such that the modified dissimilarities are Euclidean (default 
nb.factors 
numeric. Number of returned principal coordinates (default Warning: The 
nb.values 
numeric. Number of returned eigenvalues (default 
sub.title 
string. Subtitle for the graphs (default 
plot.eigen 
logical. If 
plot.score 
logical. If 
nscore 
numeric vector. If 
filename 
string. Name of the file in which the results are saved. By default ( 
In order to compute the distances/dissimilarities between the groups, the T
probability densities f_t
corresponding to the T
groups of individuals are either parametrically estimated (gaussiand = TRUE
) or estimated using the Gaussian kernel method (gaussiand = FALSE
). In the latter case, the windowh
argument provides the list of the bandwidths to be used. Notice that in the multivariate case (p
>1), the bandwidths are positivedefinite matrices.
If windowh
is a numerical value, the matrix bandwidth is of the form h S
, where S
is either the square root of the covariance matrix (p
>1) or the standard deviation of the estimated density.
If windowh = NULL
(default), h
in the above formula is computed using the bandwidth.parameter
function.
The distance or dissimilarity between the estimated densities is either the L^2
distance, the Hellinger distance, Jeffreys measure (symmetrised KullbackLeibler divergence) or the Wasserstein distance.
If it is the L^2
distance (distance="l2"
or distance="l2norm"
), the densities can be either parametrically estimated or estimated using the Gaussian kernel.
If it is the Hellinger distance (distance="hellinger"
), Jeffreys measure (distance="jeffreys"
) or the Wasserstein distance (distance="wasserstein"
), the densities are considered Gaussian and necessarily parametrically estimated.
Returns an object of class fmdsd
, i.e. a list including:
inertia 
data frame of the eigenvalues and percentages of inertia. 
scores 
data frame of the 
means 
list of the means. 
variances 
list of the covariance matrices. 
correlations 
list of the correlation matrices. 
skewness 
list of the skewness coefficients. 
kurtosis 
list of the kurtosis coefficients. 
Rachid Boumaza, Pierre Santagostini, Smail Yousfi, Gilles Hunault, Sabine DemotesMainard
Boumaza, R., Yousfi, S., DemotesMainard, S. (2015). Interpreting the principal component analysis of multivariate density functions. Communications in Statistics  Theory and Methods, 44 (16), 33213339.
Delicado, P. (2011). Dimensionality reduction when data are density functions. Computational Statistics & Data Analysis, 55, 401420.
Yousfi, S., Boumaza, R., Aissani, D., Adjabi, S. (2014). Optimal bandwith matrices in functional principal component analysis of density function. Journal of Statistical Computation and Simulation, 85 (11), 23152330.
Cox, T.F., Cox, M.A.A. (2001). Multimensional Scaling, second ed. Chapman & Hall/CRC.
fpcad print.fmdsd, plot.fmdsd, interpret.fmdsd, bandwidth.parameter
data(roses)
rosesf < as.folder(roses[,c("Sha","Den","Sym","rose")])
# MDS on Gaussian densities (on sensory data)
# using jeffreys measure (default):
resultjeff < fmdsd(rosesf, distance = "jeffreys")
print(resultjeff)
plot(resultjeff)
## Not run:
# Applied to a data frame:
resultjeffdf < fmdsd(roses[,c("Sha","Den","Sym","rose")],
distance = "jeffreys", group.name = "rose")
print(resultjeffdf)
plot(resultjeffdf)
## End(Not run)
# using the Hellinger distance:
resulthellin < fmdsd(rosesf, distance = "hellinger")
print(resulthellin)
plot(resulthellin)
# using the Wasserstein distance:
resultwass < fmdsd(rosesf, distance = "wasserstein")
print(resultwass)
plot(resultwass)
# Gaussian case, using the L2distance:
resultl2 < fmdsd(rosesf, distance = "l2")
print(resultl2)
plot(resultl2)
# Gaussian case, using the L2distance between normed densities:
resultl2norm < fmdsd(rosesf, distance = "l2norm")
print(resultl2norm)
plot(resultl2norm)
## Not run:
# Non Gaussian case, using the L2distance,
# the densities are estimated using the Gaussian kernel method:
result < fmdsd(rosesf, distance = "l2", gaussiand = FALSE, group.name = "rose")
print(result)
plot(result)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.